public void MultiplyMatrixAndIdentity_ReturnsUnchanged() { var cp = new List <Point3D>() { new Point3D(-2, 0, 0), new Point3D(-1, 2, 0), new Point3D(0, 1, 0), new Point3D(+1, 3, 0), new Point3D(+2, 6, 0), new Point3D(+3, 7, 0), }; BSplineInterpolation3D.Interpolate(cp); }
public override void PrerenderUpdate() { var bezier = Shape as BezierCurveC2; if (bezier == null || Objects.Count < 4) { return; } var interpolationPoints = Objects.Select(t => t.Reference.Position).ToList(); var interp = BSplineInterpolation3D.Interpolate(interpolationPoints); bezier.ControlPoints = interp.ControlPoints; bezier.CustomKnots = interp.Knots; bezier.ApplyParameterCorrection = false; }