Class BSpline

java.lang.Object
org.episteme.core.mathematics.geometry.curves.BSpline

public class BSpline extends Object
B-spline curve (Basis spline).

A B-spline is a smooth piecewise polynomial curve defined by control points and a knot vector. It provides local control - moving a control point only affects a limited portion of the curve.

This implementation supports uniform B-splines of degree p (order p+1). The curve is defined by: - n+1 control points: P₀, P₁, ..., Pₙ - Degree p (typically 2 for quadratic, 3 for cubic) - Knot vector with m+1 values: t₀, t₁, ..., tₘ where m = n + p + 1

Since:
1.0
Author:
Silvere Martin-Michiellot, Gemini AI (Google DeepMind)
  • Constructor Details

    • BSpline

      public BSpline(List<Vector<Real>> controlPoints, int degree)
      Creates a uniform B-spline with the given control points and degree.
      Parameters:
      controlPoints - the control points
      degree - the degree (2 = quadratic, 3 = cubic)
    • BSpline

      public BSpline(List<Vector<Real>> controlPoints, int degree, List<Real> knotVector)
      Creates a B-spline with custom knot vector.
      Parameters:
      controlPoints - the control points
      degree - the degree
      knotVector - the knot vector
  • Method Details