splines- B-Splines, other splines, and NURBS.

Safe HaskellNone




data MSpline v Source

M-Splines are B-splines normalized so that the integral of each basis function over the spline domain is 1.


Spline MSpline v => ControlPoints MSpline v 
(VectorSpace v, Fractional (Scalar v), Ord (Scalar v)) => Spline MSpline v 
(Eq (Scalar v), Eq v) => Eq (MSpline v) 
(Ord (Scalar v), Ord v) => Ord (MSpline v) 
(Show (Scalar v), Show v) => Show (MSpline v) 

mSpline :: Knots (Scalar a) -> Vector a -> MSpline aSource

mSpline kts cps creates a M-spline with the given knot vector and control points. The degree is automatically inferred as the difference between the number of spans in the knot vector (numKnots kts - 1) and the number of control points (length cps).

toMSpline :: Spline s v => s v -> MSpline vSource

evalSpline :: Spline s v => s v -> Scalar v -> vSource