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); }