コード例 #1
0
ファイル: TestClothoid.cs プロジェクト: grevit-dev/Clothoid
        public void TestCalcTargetDistanceCircleToCircle()
        {
            Circle   circle1;
            Circle   circle2;
            Clothoid clt;

            circle1 = new Circle(4, 4, 3);
            circle2 = new Circle(5.5, 4, 1.25);
            Assert.That(Clothoid.Connect(circle1, circle2, Tol, out clt) == 0);
            Assert.AreEqual(circle1.Center.DistanceTo(circle2.Center), Clothoid.CalcTargetDistance(circle1.Radius, circle2.Radius, clt.Length), Tol);

            circle1 = new Circle(4, 4, -3);
            circle2 = new Circle(5.5, 4, -1.25);
            Assert.That(Clothoid.Connect(circle1, circle2, Tol, out clt) == 0);
            Assert.AreEqual(circle1.Center.DistanceTo(circle2.Center), Clothoid.CalcTargetDistance(circle1.Radius, circle2.Radius, clt.Length), Tol);

            // Reversed connection

            circle1 = new Circle(4, 4, 3);
            circle2 = new Circle(8.5, 4, -1.25);
            Assert.That(Clothoid.Connect(circle1, circle2, Tol, out clt) == 0);
            Assert.AreEqual(circle1.Center.DistanceTo(circle2.Center), Clothoid.CalcTargetDistance(circle1.Radius, circle2.Radius, clt.Length), Tol);

            circle1 = new Circle(4, 4, -3);
            circle2 = new Circle(8.5, 4, 1.25);
            Assert.That(Clothoid.Connect(circle1, circle2, Tol, out clt) == 0);
            Assert.AreEqual(circle1.Center.DistanceTo(circle2.Center), Clothoid.CalcTargetDistance(circle1.Radius, circle2.Radius, clt.Length), Tol);
        }
コード例 #2
0
ファイル: TestClothoid.cs プロジェクト: grevit-dev/Clothoid
        public void TestCalcTargetDistanceLineToCircle()
        {
            Line     line;
            Circle   circle;
            Clothoid clt;

            line   = new Line(0, 0, 1, 0);
            circle = new Circle(4, 4, 3.8);
            Assert.That(Clothoid.Connect(line, circle, true, Tol, out clt) == 0);
            Assert.AreEqual(line.DistanceTo(circle.Center), Clothoid.CalcTargetDistance(circle.Radius, clt.Length), Tol);

            line   = new Line(0, 0, 1, 0);
            circle = new Circle(4, -4, -3.8);
            Assert.That(Clothoid.Connect(line, circle, true, Tol, out clt) == 0);
            Assert.AreEqual(line.DistanceTo(circle.Center), Clothoid.CalcTargetDistance(circle.Radius, clt.Length), Tol);
        }