Beispiel #1
0
        public void RotateZAngleMinus180Grad()
        {
            var r      = new Rotate3D(-Math.PI, new[] { 0, 0, 1.0 });
            var ptSrc  = new Point3D(1.0, 2.0, 3.0);
            var ptDest = r.Rotate(ptSrc);

            Math.Round((ptDest.X ?? throw new ArgumentException()), 5).Should().Be(-1.0);
            Math.Round((ptDest.Y ?? throw new ArgumentException()), 5).Should().Be(-2.0);
            (ptDest.Z ?? throw new ArgumentException()).Should().Be(3.0);
        }
Beispiel #2
0
        public void RotateXAngle90Grad()
        {
            var r      = new Rotate3D(Math.PI / 2.0, new[] { 1.0, 0, 0 });
            var ptSrc  = new Point3D(1.0, 2.0, 3.0);
            var ptDest = r.Rotate(ptSrc);

            Math.Round((ptDest.X ?? throw new ArgumentException()), 5).Should().Be(1.0);
            Math.Round((ptDest.Y ?? throw new ArgumentException()), 5).Should().Be(-3.0);
            Math.Round((ptDest.Z ?? throw new ArgumentException()), 5).Should().Be(2.0);
        }
Beispiel #3
0
        public void NoRotateAngle0()
        {
            var r      = new Rotate3D();
            var ptSrc  = new Point3D(1.0, 2.0, 3.0);
            var ptDest = r.Rotate(ptSrc);

            (ptDest.X ?? throw new ArgumentException()).Should().Be(1.0);
            (ptDest.Y ?? throw new ArgumentException()).Should().Be(2.0);
            (ptDest.Z ?? throw new ArgumentException()).Should().Be(3.0);
        }
Beispiel #4
0
        public void RotateXyzAngle90Grad()
        {
            var r      = new Rotate3D(Math.PI / 2.0, new[] { 1.0, 1.0, 1.0 });
            var ptSrc  = new Point3D(1.0, 2.0, 3.0);
            var ptDest = r.Rotate(ptSrc);

            Math.Round((ptDest.X ?? throw new ArgumentException()), 10).Should().Be(Math.Round(-2.2200846792814621, 10));
            Math.Round((ptDest.Y ?? throw new ArgumentException()), 10).Should().Be(Math.Round(-1.8213672050459184, 10));
            Math.Round((ptDest.Z ?? throw new ArgumentException()), 10).Should().Be(Math.Round(2.3987174742355446, 10));
        }
Beispiel #5
0
        public void RotateXAngle90Grad()
        {
            var r      = new Rotate3D(Math.PI / 2.0, new [] { 1.0, 0, 0 });
            var ptSrc  = new Point3D(1.0, 2.0, 3.0);
            var ptDest = r.Rotate(ptSrc);

            Assert.AreEqual(1.0, Math.Round((ptDest.X ?? throw new ArgumentException()), 5));
            Assert.AreEqual(-3.0, Math.Round((ptDest.Y ?? throw new ArgumentException()), 5));
            Assert.AreEqual(2.0, Math.Round((ptDest.Z ?? throw new ArgumentException()), 5));
        }
Beispiel #6
0
        public void RotateZAngleMinus180Grad()
        {
            var r      = new Rotate3D(-Math.PI, new [] { 0, 0, 1.0 });
            var ptSrc  = new Point3D(1.0, 2.0, 3.0);
            var ptDest = r.Rotate(ptSrc);

            Assert.AreEqual(-1.0, Math.Round((ptDest.X ?? throw new ArgumentException()), 5));
            Assert.AreEqual(-2.0, Math.Round((ptDest.Y ?? throw new ArgumentException()), 5));
            Assert.AreEqual(3.0, (ptDest.Z ?? throw new ArgumentException()));
        }
Beispiel #7
0
        public void RotateXyzAngle90GradAndBack()
        {
            var r1     = new Rotate3D(Math.PI / 2.0, new[] { 1.0, 1.0, 1.0 });
            var r2     = new Rotate3D(-Math.PI / 2.0, new[] { 1.0, 1.0, 1.0 });
            var ptSrc  = new Point3D(1.0, 2.0, 3.0);
            var ptRot  = r1.Rotate(ptSrc);
            var ptDest = r2.Rotate(ptRot);

            Math.Round((ptDest.X ?? throw new ArgumentException()), 10).Should().Be(1.0);
            Math.Round((ptDest.Y ?? throw new ArgumentException()), 10).Should().Be(2.0);
            Math.Round((ptDest.Z ?? throw new ArgumentException()), 10).Should().Be(3.0);
        }
Beispiel #8
0
 public GCodeBitmapDraw()
 {
     Rotate = new Rotate3D();
 }