operators to generate some important classes of surfaces, including the
profile product surfaces, the rotational surfaces, the ruled surfaces, and
the tensor product surfaces
-
Beziermanifold generator of B´ezier d-manifolds in IEn, for any dimensions/degrees
Pre/Post conds (degrees::isseqof:isnat)(controlpoints::isseq)
=> (isseqof:isfun)
Example see Script 12.4.1 -
Beziersurface generator of B´ezier surfaces of arbitrary degree
Pre/Post conds (controlpoints::ismatof:ispoint) => (isseqof:isfun)
Example MAP:(BezierSurface:pointArray):((sqr ~ intervals:1):10) -
Bilinearsurface generator of coord functions of a bilinear surface in IEn
Pre/Post conds (controlpoints::ismatof:ispoint) => (isseqof:isfun)
Example def mapping = bilinearsurface:
< < < 0,0,0>,< 2,-4,2>>,< < 0,3,1>,< 4,0,0>>>; -
map:mapping:((sqr~intervals:1):10)
Biquadraticsurface generator of coord functions of a biquadratic surface in IEn
Pre/Post conds (controlpoints::ismatof:ispoint) => (isseqof:isfun)
Example biquadraticSurface:< < < 0,0,0>, < 2,0,1>,< 3,1,1>>,
< < 1,3,-1>,< 3,2,0>,< 4,2,0>>, < < 0,9,0>, < 2,5,1>,< 3,3,2>> >; -
map:mapping:((sqr~intervals:1):10)
Conicalsurface generalized cone, with apex a and curve beta crossing all the rules
Pre/Post conds (a::isseqof:isreal; beta::isseqof:isfun) => (isseqof:isfun)
Example map:(conicalsurface:< < 0,0,1>,beta>):((sqr~intervals:1):10) -
Cylindricalsurface generalized cylinder, with direction a and curve beta
crossing all the rules
Pre/Post conds (a::isseqof:isreal; beta::isseqof:isfun) => (isseqof:isfun)
Example map:(cylindricalsurface:< < 0,0,1>,beta>):((sqr~intervals:1):10) -
Hermitesurface generator of coord functions of the bicubic Hermite surface
Pre/Post conds (controlpoints::ismatof:ispoint) => (isseqof:isfun)
Example map:(hermitesurface:< 4 × 4 matrix of points >):domain2d -
Profileprodsurface returns the coord functions of a profile product surface
Pre/Post conds (profile, section::isseqof:isfun) => (isseqof:isfun)
Example map:(profileprodsurface:< alpha, beta >):domain2d -
Rotationalsurface generates a surface by rotation of profilecurve.The opening
angle of the rotational patch depends on the 2nd domain parameter
Pre/Post conds (profilecurve::isseqof:isfun) => (isseqof:isfun)
Example map:(rotationalsurface:(bezier:s1:< < 0,0>,< 8,5>,< 0,10>>)):
(intervals:1:12 * intervals:(2*pi):24) -
Ruledsurface surface from profile alpha(u) and tangent vectors beta(u)
Pre/Post conds (alpha,beta::isseqof:isfun) => (isseqof:isfun)
Example map:(ruledsurface:< c1, c2 vectdiff c1 >):domain2d -
Tensorprodsurface tensor product surface generator
Pre/Post conds (ubasis,vbasis::isseqof:isfun)(points::ismatof:ispoint)
=> (isseqof:isfun)
Example (tensorprodsurface:< bernsteinbasis:s1:3, bernsteinbasis:s1:3>:controlpoints) Thinsolid thin solid generated by a surface
Pre/Post conds (surface::isseqof:isfun) => (isseqof:isfun)
Example def solidmapping = (thinsolid ~ coonspatch):< su0,su1,s0v,s1v>