예제 #1
0
 public void Transform(ThreeDMatrix m)
 {
     for (int i = 0; i < Polygons.Count; i++)
     {
         ((ThreeDPolygon)Polygons[i]).Transform(m);
     }
 }
예제 #2
0
 public void Transform(ThreeDMatrix m)
 {
     float[] result = m.VectorMultiply(new float[] { X, Y, Z, 1 });
     X = result[0];
     Y = result[1];
     Z = result[2];
 }
예제 #3
0
 public void Transform(ThreeDMatrix m)
 {
     for (int i = 0; i < Vertices.Count; i++)
     {
         ((ThreeDPoint)Vertices[i]).Transform(m);
     }
 }
예제 #4
0
        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;
        }