예제 #1
0
        public void LineRotationTest()
        {
            Matrix3d r     = Matrix3d.RotationMatrix(new Vector3d(1, 1, 1), 2 * PI / 3);
            Coord3d  coord = new Coord3d(new Point3d(3, 2, 1), r);
            Point3d  p     = new Point3d(5, 0, 2, coord);
            Line3d   l     = new Line3d(new Point3d(4, 1, 2), new Vector3d(1, 2, 6));

            Assert.IsTrue(l.Rotate(r, p).Rotate(r, p).Rotate(r, p) == l);

            Rotation q = new Rotation(new Vector3d(1, 1, 1), 2 * PI / 3);

            Assert.IsTrue(l.Rotate(q, p).Rotate(q, p).Rotate(q, p) == l);
        }