includes a set of primitives for parametric mapping of polynomials and rational curves of arbitrary degrees, and for drawing the corresponding basis functions
-
Basehermite returns the graph of the cubic Hermite basis polynomials
Pre/Post conds (domain::ispol) => (ispol)
Example basehermite:(intervals:1:20) -
Beziercurve generator of coordinate functions of B´ezier curves of arbitrary degree. Alias for Bezier:S1
Pre/Post conds (controlpoints::ismat) => (isseqof:isfun)
Example beziercurve:< < 0,4,1>,< 7,5,-1>,< 8,5,1>,< 12,4,0>> -
Bezierstripe generator of a 2D stripe generated by a Bezier curve of any degree
Pre/Post conds (controlpoints::ismat; width::isreal;n::isintpos) => (ispol)
Example Bezierstripe:< < < 0,0>,< 7,5>,< 8,5>,< 12,4>>,1,20> -
Curve2mapvect coerces a vector function into a sequence of real maps
Pre/Post conds (curve::isfun) => (isseqof:isfun)
Example curve2mapvect:[cos ~ s1, sin ~ s1] -
Derbernsteinbase derivative of the Bernstein/Bezier basis polynomials of degree n
Pre/Post conds (n::isintpos) => (isseqof:isfun)
Example derbernsteinbase:2 -
Derbernstein derivative of Bernstein polynomial of degree n and index i
Pre/Post conds (n::isint)(i::isint) => (isfun)
Example derbernstein:3:0 -
Derbezier generator of coordinate functions of the derivative of a B´ezier curve
Pre/Post conds (controlpoints::ismat) => (isseqof:isfun)
Example derbezier:< < 0,0>,< 7,5>,< 8,5>,< 12,4>> -
Hermite generator of the coordinate functions of a cubic Hermite curve
Pre/Post conds (handles::ismat) => (isseqof:isfun)
Example MAP:(Hermite:< < 0,0>,< 1,1>,< -3,0>,< 3,0>>):(Intervals:1:20) -
Norm2 generator of the coordinate functions of the normal unit field to a 2D curve
Pre/Post conds (curve::and ~ [ispair,isseqof:isfun])
=> (and ~ [ispair,isseqof:isfun])
Example (norm2 ~ derbezier):< < 0,0>,< 1,1>,< -3,0>,< 3,0>> -
Rationalbezier rational B´ezier curves of arbitrary degree (weights on last coord)
Pre/Post conds (controlpoints::ismat) => (isseqof:isfun)
Example MAP:(RationalBezier:< < 1,0,1>,[id,id,id]:(SQRT:2/2),< 0,1,1>>):
(Intervals:1:12) -
Rationalblend linear comb. of basis with controlpoints, and normalization
Pre/Post conds (basis::isseqof:isfun)(controlpoints::ismat) => (isseqof:isfun)
Example rationalblend:(bernsteinbasis:s1:degree):controlpoints -
Rationalize division of coordinate functions by the last element, then dropped out
Pre/Post conds (coords::isseqof:isfun) => (isseqof:isfun)
Example rationalize:(blend:(bernsteinbasis:s1:2):
< < 1,1,1>,< -3,0,1>,< 3,0,1>>) -
Rev reversing parametrization operator [a, b] => [b, a]
Pre/Post conds (a,b::isreal) => (isfun)
Example map:([cos,sin] ~ rev:< 0,pi> ~ s1):(intervals:pi:24)