Commit c822bd0d authored by Boris Mühmer's avatar Boris Mühmer
Browse files

added some support functions

parent a7b63fc7
Loading
Loading
Loading
Loading
+24 −9
Original line number Diff line number Diff line
@@ -79,17 +79,32 @@ func Create() (*Icosahedron, error) {
	return &i, nil
}

func calculateMidPoint(va Vertex, vb Vertex, r float64) (Vertex, error) {
	var vr Vertex
	var vt Vertex
func (v Vertex) add(a Vertex) Vertex {
	var r Vertex
	r.x = v.x + a.x
	r.y = v.y + a.y
	r.z = v.z + a.z
	return r
}

func (v Vertex) sub(a Vertex) Vertex {
	var r Vertex
	r.x = v.x - a.x
	r.y = v.y - a.y
	r.z = v.z - a.z
	return r
}

	vt.x = vb.x - va.x
	vt.y = vb.y - va.y
	vt.z = vb.z - va.z
func (v Vertex) scale(s float64) Vertex {
	var r Vertex
	r.x = v.x * s
	r.y = v.y * s
	r.z = v.z * s
	return r
}

	vr.x = va.x + (vt.x * r)
	vr.y = va.y + (vt.y * r)
	vr.z = va.z + (vt.z * r)
func calculateMidPoint(va Vertex, vb Vertex, r float64) (Vertex, error) {
	vr := va.add(vb.sub(va).scale(r))

	return vr, nil
}