public StlTriangle(StlNormal normal, StlVertex v1, StlVertex v2, StlVertex v3) { Normal = normal; Vertex1 = v1; Vertex2 = v2; Vertex3 = v3; }
public StlTriangle(StlNormal normal, StlVertex vertex1, StlVertex vertexv2, StlVertex vertex3) { Normal = normal; Vertex1 = vertex1; Vertex2 = vertexv2; Vertex3 = vertex3; }
public StlNormal NormalFromVertices(IList <StlVertex> vertices) { double[] v0 = new double[] { vertices[1].X - vertices[0].X, vertices[1].Y - vertices[0].Y, vertices[1].Z - vertices[0].Z }; double[] v1 = new double[] { vertices[2].X - vertices[0].X, vertices[2].Y - vertices[0].Y, vertices[2].Z - vertices[0].Z }; double x = v0[1] * v1[2] - v1[1] * v0[2]; double y = -(v0[0] * v1[2] - v0[2] * v1[0]); double z = v0[0] * v1[1] - v1[0] * v0[1]; StlNormal crossVector = new StlNormal((float)x, (float)y, (float)z); return(crossVector); } //Calculate the Normal Vector from the vertices