- data BSpline v
- bSpline :: Knots (Scalar a) -> [a] -> BSpline a
- evalBSpline :: (Fractional (Scalar v), Ord (Scalar v), VectorSpace v) => BSpline v -> Scalar v -> v
- insertKnot :: (VectorSpace a, Ord (Scalar a), Fractional (Scalar a)) => BSpline a -> Scalar a -> BSpline a
- splitBSpline :: (VectorSpace v, Ord (Scalar v), Fractional (Scalar v)) => BSpline v -> Scalar v -> Maybe (BSpline v, BSpline v)
- differentiateBSpline :: (VectorSpace v, Fractional (Scalar v), Ord (Scalar v)) => BSpline v -> BSpline v
- integrateBSpline :: (VectorSpace v, Fractional (Scalar v), Ord (Scalar v)) => BSpline v -> BSpline v
Documentation
bSpline :: Knots (Scalar a) -> [a] -> BSpline aSource
bSpline kts cps
creates a B-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
).
evalBSpline :: (Fractional (Scalar v), Ord (Scalar v), VectorSpace v) => BSpline v -> Scalar v -> vSource
insertKnot :: (VectorSpace a, Ord (Scalar a), Fractional (Scalar a)) => BSpline a -> Scalar a -> BSpline aSource
Insert one knot into a BSpline
splitBSpline :: (VectorSpace v, Ord (Scalar v), Fractional (Scalar v)) => BSpline v -> Scalar v -> Maybe (BSpline v, BSpline v)Source
differentiateBSpline :: (VectorSpace v, Fractional (Scalar v), Ord (Scalar v)) => BSpline v -> BSpline vSource
integrateBSpline :: (VectorSpace v, Fractional (Scalar v), Ord (Scalar v)) => BSpline v -> BSpline vSource