Example #1
0
        private void TestRotationCreation(XbimPoint3D from, XbimPoint3D to)
        {
            var m            = XbimMatrix3D.CreateRotation(from, to);
            var toForTest    = m.Transform(from);
            var toNormalised = (to - new XbimPoint3D(0, 0, 0)).Normalized();
            var toNormP      = new XbimPoint3D(
                toNormalised.X,
                toNormalised.Y,
                toNormalised.Z
                );

            Assert.IsTrue(IsTolerableDifference(toNormP, toForTest));
        }
Example #2
0
        public void TransformationOfRegion()
        {
            XbimRect3D r = new XbimRect3D(
                100, 100, 0,
                200, 200, 0
                );
            XbimMatrix3D m = XbimMatrix3D.CreateRotation( // 90 ccw
                new XbimPoint3D(1, 0, 0),
                new XbimPoint3D(0, 1, 0)
                );
            var rotated = r.Transform(m);

            Assert.AreEqual(-300, rotated.Min.X);
            Assert.AreEqual(100, rotated.Min.Y);
            Assert.AreEqual(0, rotated.Min.Z);

            Assert.AreEqual(-100, rotated.Max.X);
            Assert.AreEqual(300, rotated.Max.Y);
            Assert.AreEqual(0, rotated.Max.Z);
        }