- data NURBS v
- nurbs :: (VectorSpace v, Scalar v ~ w, VectorSpace w, Scalar w ~ w) => Knots (Scalar v) -> [(w, v)] -> NURBS v
- toNURBS :: (Spline s v, Scalar v ~ Scalar (Scalar v)) => s v -> NURBS v
- evalNURBS :: (VectorSpace v, Scalar v ~ w, VectorSpace w, Scalar w ~ w, Fractional w, Ord w) => NURBS v -> w -> v
- nurbsDomain :: Scalar v ~ Scalar (Scalar v) => NURBS v -> Maybe (Scalar v, Scalar v)
- nurbsDegree :: NURBS v -> Int
- nurbsKnotVector :: Scalar v ~ Scalar (Scalar v) => NURBS v -> Knots (Scalar v)
- nurbsControlPoints :: NURBS v -> [(Scalar v, v)]
- splitNURBS :: (VectorSpace v, Scalar v ~ w, VectorSpace w, Scalar w ~ w, Ord w, Fractional w) => NURBS v -> Scalar v -> Maybe (NURBS v, NURBS v)

# Documentation

nurbs :: (VectorSpace v, Scalar v ~ w, VectorSpace w, Scalar w ~ w) => Knots (Scalar v) -> [(w, v)] -> NURBS vSource

evalNURBS :: (VectorSpace v, Scalar v ~ w, VectorSpace w, Scalar w ~ w, Fractional w, Ord w) => NURBS v -> w -> vSource

Constructs the homogeneous-coordinates B-spline that corresponds to this NURBS curve

Constructs the NURBS curve corresponding to a homogeneous-coordinates B-spline

nurbsDomain :: Scalar v ~ Scalar (Scalar v) => NURBS v -> Maybe (Scalar v, Scalar v)Source

Returns the domain of a NURBS - that is, the range of parameter values over which a spline with this degree and knot vector has a full basis set.

nurbsDegree :: NURBS v -> IntSource

nurbsControlPoints :: NURBS v -> [(Scalar v, v)]Source

splitNURBS :: (VectorSpace v, Scalar v ~ w, VectorSpace w, Scalar w ~ w, Ord w, Fractional w) => NURBS v -> Scalar v -> Maybe (NURBS v, NURBS v)Source