Ejemplo n.º 1
0
        public void Construct_IdealLine()
        {
            var p = new IdealLine(-2, 3, -4);

            var(x, y, z) = p;

            Assert.AreEqual(-2f, x);
            Assert.AreEqual(3f, y);
            Assert.AreEqual(-4f, z);
        }
Ejemplo n.º 2
0
        public void PlaneIdealLine()
        {
            // d*e_0 + a*e_1 + b*e_2 + c*e_3
            var p1 = new Plane(1f, 2f, 3f, 4f);

            // a*e01 + b*e02 + c*e03
            var l1 = new IdealLine(-2f, 1f, 4f);

            Point p1l1 = p1 ^ l1;

            Assert.AreEqual(5f, p1l1.e021);
            Assert.AreEqual(-10f, p1l1.e013);
            Assert.AreEqual(5f, p1l1.e032);
            Assert.AreEqual(0f, p1l1.e123);
        }
Ejemplo n.º 3
0
        public void PlaneIdealLine()
        {
            // a*e_1 + b*e_2 + c*e_3 + d*e_0
            var p1 = new Plane(1f, 2f, 3f, 4f);

            // a*e01 + b*e02 + c*e03
            var l1 = new IdealLine(-2f, 1f, 4f);

            Plane p1l1 = p1 | l1;

            Assert.AreEqual(-12f, p1l1.e0);

            Plane l1p1 = l1 | p1;

            Assert.AreEqual(12f, l1p1.e0);
        }
Ejemplo n.º 4
0
        public void IdealLineLine()
        {
            // a*e01 + b*e01 + c*e02 + d*e23 + e*e31 + f*e12
            var l1 = new Line(1f, 0f, 0f, 3f, 2f, 1f);
            // a*e01 + b*e02 + c*e03
            var l2 = new IdealLine(-4f, -5f, -6f);

            Dual l1l2 = l1 ^ l2;

            Assert.AreEqual(-28f, l1l2.e0123);
            Assert.AreEqual(0f, l1l2.Scalar);

            Dual l2l1 = l2 ^ l1;

            Assert.AreEqual(-28f, l1l2.e0123);
            Assert.AreEqual(0f, l2l1.Scalar);
        }