示例#1
0
        public void GetCurvatureTest()
        {
            Assert.AreEqual(FMath.GetCurvature(null), 0, 1e-4);
            Assert.AreEqual(FMath.GetCurvature(new List <PointF>()), 0, 1e-4);
            List <PointF> curve = new List <PointF>()
            {
                new PointF(10, 10), new PointF(10, 110), new PointF(10, 210),
            };

            Assert.AreEqual(FMath.GetCurvature(curve), 0, 1e-4);

            curve = new List <PointF>()
            {
                new PointF(10, 10), new PointF(110, 10), new PointF(210, 10),
            };
            Assert.AreEqual(FMath.GetCurvature(curve), 0, 1e-4);

            curve = new List <PointF>()
            {
                new PointF(10, 10), new PointF(110, 110), new PointF(210, 210),
            };
            Assert.AreEqual(FMath.GetCurvature(curve), 0, 1e-4);

            curve = new List <PointF>()
            {
                new PointF(10, 10), new PointF(110, 110), new PointF(210, 210), new PointF(250, 250),
            };
            Assert.AreEqual(FMath.GetCurvature(curve), 0, 1e-4);

            curve = new List <PointF>()
            {
                new PointF(10, 10), new PointF(110, 110), new PointF(210, 210), new PointF(250, 250),
            };
            Assert.AreEqual(FMath.GetCurvature(curve), 0, 1e-4);

            curve = new List <PointF>()
            {
                new PointF(10, 10), new PointF(110, 110), new PointF(110, 10),
            };
            var k1 = FMath.GetCurvature(curve);

            curve = new List <PointF>()
            {
                new PointF(10, 10), new PointF(110, 110), new PointF(100, 10),
            };
            var k2 = FMath.GetCurvature(curve);

            Assert.IsTrue(k1 > 0);
            Assert.IsTrue(k2 > k1);
        }