예제 #1
0
        public void RayDistanceToRayTest()
        {
            Ray3d r1 = new Ray3d(new Point3d(0, 0, 0), new Vector3d(1, 0, 0));
            Ray3d r2 = new Ray3d(new Point3d(5, 0, 5), new Vector3d(-1, 0, 0));

            Assert.IsTrue(Abs(r1.DistanceTo(r2) - 5) < GeometRi3D.Tolerance);

            r2 = new Ray3d(new Point3d(5, -5, 5), new Vector3d(0, 1, 0));
            Assert.IsTrue(Abs(r1.DistanceTo(r2) - 5) < GeometRi3D.Tolerance);

            r2 = new Ray3d(new Point3d(-5, 0, 5), new Vector3d(0, 1, 1));
            Assert.IsTrue(Abs(r1.DistanceTo(r2) - Sqrt(50)) < GeometRi3D.Tolerance);
        }
예제 #2
0
        public void RayDistanceToCrossingLineTest2()
        {
            Line3d l = new Line3d(new Point3d(0, 0, 0), new Vector3d(1, 0, 0));
            Ray3d  r = new Ray3d(new Point3d(2, 4, 3), new Vector3d(0, 1, 0));

            Assert.IsTrue(Abs(r.DistanceTo(l) - 5) < GeometRi3D.Tolerance);
        }