# STransform PT¶

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: List DoubleFloat -> %
stransform(m) construct transform using a multivector
stransform: List List DoubleFloat -> %
stransform(m) constructs transform with given matrix elements
stransform: PT -> PT -> %
stransform(gen) construct transform in general form as a mapping from PT to PT
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