public void BernsteinShouldWork() { Func <double, double> b01 = u => Math.Bertstein(0, 1, u); b01(0).Should().Be(1); b01(1).Should().Be(0); }
public void BezierShouldWork() { var p0 = new Vector3(0, 0, 0); var p1 = new Vector3(1, 1, 0); var p2 = new Vector3(2, 0, 0); var points = new List <Vector3> { p0, p1, p2 }; Math.Bezier(points)(0).Should().Be(p0); Math.Bezier(points)(1).Should().Be(p2); Math.Bezier(points)(0.5).X.Should().BeGreaterThan(0.9f).And.BeLessThan(1.1f); Math.Bezier(points)(0.5).Y.Should().BeGreaterThan(0.4f).And.BeLessThan(0.6f); }