public void VelocityNormalized() { var p0 = new Vector3(-4, -4, -3); var p1 = new Vector3(2, -4, 3); var p2 = new Vector3(4, 4, 0); var myCurve = new QuadraticBezierCurve3D(p0, p1, p2); myCurve.Velocity(2, 1, 5).Should().BeEquivalentTo(new Vector3(10f, 3.9999998f, 7.5f)); myCurve.Velocity(8, 2, 10).Should().BeEquivalentTo(new Vector3(6, 12, -1.5f)); myCurve.Invoking(x => x.Velocity(15, 2, 5)).Should().Throw <ArgumentException>(); }
public void VelocityNormalized() { var p0 = new Vector3(-4, -4, -3); var p1 = new Vector3(2, -4, 3); var p2 = new Vector3(4, 4, 0); QuadraticBezierCurve3D.Velocity(p0, p1, p2, 2, 1, 5).Should().BeEquivalentTo(new Vector3(10f, 3.9999998f, 7.5f)); QuadraticBezierCurve3D.Velocity(p0, p1, p2, 8, 2, 10).Should().BeEquivalentTo(new Vector3(6, 12, -1.5f)); Action invalidTime = () => QuadraticBezierCurve3D.Velocity(p0, p1, p1, 15, 2, 5); invalidTime.Should().Throw <ArgumentException>(); }