SceneIFS PTΒΆ
scene.spad line 1837 [edit on github]
PT: SPointCategory
Generates various surfaces (2 dimensional subsets of 3D space). When 1 dimensional subspace (a line) needs to be represented in a 3D editor then we convert the line into a tube. Many of the functions here are from NumericTubePlot and related packages. However I
needed them to be defined over SPointCategory so I
adapted them here.
- coerce: % -> OutputForm
coerce(me)
list this instance to the command line
- curveLoops: (List PT, DoubleFloat, Integer) -> List List PT
curveLoops(pts1, r, nn)
generates ifs from line given bypts1
- indexes: % -> List List NonNegativeInteger
indexes(me)
returns indexes into pointList(me
)
- pointList: % -> List PT
pointList(me)
returns points at vertices of this mesh.
- sierpinskiDivide: (%, NonNegativeInteger) -> %
sierpinskiDivide(me, level)
for each edge of each face calculate a new point in the centre of the edge, then build a new set of faces which include the new points.
- singleFace: List PT -> %
singleFace(ptin)
constructs a ifs representation of a face from an array of points
- smesh: (List List PT, Boolean) -> %
smesh(ptin, clos)
constructs a ifs representation of a mesh from a 2 dimensional array of points
- stube: (List Record(source: DoubleFloat -> PT, ranges: List Segment DoubleFloat, knots: List DoubleFloat, points: List PT), DoubleFloat, Integer) -> %
stube(functions: List Clipd, r, n)
creates a tube of radiusr
around the curve functions.
- subdivide: % -> %
subdivide(me)
for each face calculate a new point in the centre of the face, then build a new set of faces which include the new point.