STransform PTΒΆ

scene.spad line 2938 [edit on github]

Domains for transform from SPoint to SPoint STransform transform domain can by used to represent linear transforms for instance when working with SCartesian where its Representation is a matrix of DoubleFloat Other transform domains may not necessarily be linear and will have different representations

coerce: % -> OutputForm

coerce(tr) output

compound: (%, %) -> %

compound(tr, inpt) combine two transforms

identity: () -> %

identity() returns the identity element which is do nothing transform

stransform: (Complex DoubleFloat -> Complex DoubleFloat) -> %

stransform(cpx) construct transform as function of complex variable can only be used when PT is SArgand so this can be converted to PT -> PT

stransform: (PT -> PT) -> %

stransform(gen) construct transform in general form as a mapping from PT to PT

stransform: List DoubleFloat -> %

stransform(m) construct transform using a multivector

stransform: List List DoubleFloat -> %

stransform(m) constructs transform with given matrix elements

stranslate: (DoubleFloat, DoubleFloat, DoubleFloat, DoubleFloat, DoubleFloat, DoubleFloat) -> %

stranslate(offsetx, offsety, offsetz, scalex, scaley, scalez) constructs a transform which represents pure translation we can also combine with scale which, for instance, is useful when writing to SVG file because the y dimension is inverted

xform: (%, PT) -> PT

xform(tr, inpt) apply transform to a point producing another point