- data BSpline t
- bSpline :: Knots (Scalar a) -> Vector a -> BSpline a
- evalBSpline :: (Fractional (Scalar c), Ord (Scalar c), VectorSpace c) => BSpline c -> Scalar c -> c
- 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) -> Vector 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 c), Ord (Scalar c), VectorSpace c) => BSpline c -> Scalar c -> cSource
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