public void Transform(ThreeDMatrix m) { for (int i = 0; i < Polygons.Count; i++) { ((ThreeDPolygon)Polygons[i]).Transform(m); } }
public void Transform(ThreeDMatrix m) { float[] result = m.VectorMultiply(new float[] { X, Y, Z, 1 }); X = result[0]; Y = result[1]; Z = result[2]; }
public void Transform(ThreeDMatrix m) { for (int i = 0; i < Vertices.Count; i++) { ((ThreeDPoint)Vertices[i]).Transform(m); } }
public static ThreeDMatrix operator *(ThreeDMatrix m1, ThreeDMatrix m2) { ThreeDMatrix result = new ThreeDMatrix(); for (int i = 0; i < 4; i++) { for (int j = 0; j < 4; j++) { result.Elements[i, j] += m1.Elements[i, j] * m2.Elements[j, i]; } } return result; }