Shapemetry API / Transformation
Class: Transformation
Defined in: core/Transformation.ts:4
A 4×4 affine transformation. Rotation factories take radians; transform() applies the perspective divide.
Constructors
Constructor
new Transformation(
elements):Transformation
Defined in: core/Transformation.ts:7
Parameters
elements
number[]
Returns
Transformation
Properties
elements
readonlyelements:number[]
Defined in: core/Transformation.ts:5
Methods
toJSON()
toJSON():
TransformationJSON
Defined in: core/Transformation.ts:11
Returns
fromJSON()
staticfromJSON(d):Transformation
Defined in: core/Transformation.ts:12
Parameters
d
Returns
Transformation
isIdentity()
isIdentity():
boolean
Defined in: core/Transformation.ts:14
Returns
boolean
identity()
staticidentity():Transformation
Defined in: core/Transformation.ts:23
Returns
Transformation
fromTranslation()
staticfromTranslation(tx,ty,tz):Transformation
Defined in: core/Transformation.ts:32
Parameters
tx
number
ty
number
tz
number
Returns
Transformation
fromScaling()
staticfromScaling(sx,sy,sz):Transformation
Defined in: core/Transformation.ts:41
Parameters
sx
number
sy
number
sz
number
Returns
Transformation
fromReflection()
staticfromReflection(nx,ny,nz):Transformation
Defined in: core/Transformation.ts:52
Householder reflection: I - 2 n n^T. Normal is normalized internally; non-unit input is accepted.
Parameters
nx
number
ny
number
nz
number
Returns
Transformation
fromRotation()
staticfromRotation(ax,ay,az,rad):Transformation
Defined in: core/Transformation.ts:65
Rodrigues rotation. Axis (ax,ay,az) is normalized internally; non-unit input is accepted.
Parameters
ax
number
ay
number
az
number
rad
number
Returns
Transformation
from2d()
staticfrom2d(tx,ty,rad,sx,sy):Transformation
Defined in: core/Transformation.ts:81
2D transformation in XY plane: translate + rotate + scale.
Parameters
tx
number
ty
number
rad
number
sx
number
sy
number
Returns
Transformation
fromEuler()
staticfromEuler(euler):Transformation
Defined in: core/Transformation.ts:93
Euler XYZ rotation: Rx(x) * Ry(y) * Rz(z).
Parameters
euler
x
number
y
number
z
number
Returns
Transformation
translate()
translate(
tx,ty,tz):Transformation
Defined in: core/Transformation.ts:106
Pre-multiply by T(tx,ty,tz): result = T * this
Parameters
tx
number
ty
number
tz
number
Returns
Transformation
rotate()
rotate(
ax,ay,az,rad):Transformation
Defined in: core/Transformation.ts:111
Pre-multiply by R(axis, rad): result = R * this
Parameters
ax
number
ay
number
az
number
rad
number
Returns
Transformation
scale()
scale(
sx,sy,sz):Transformation
Defined in: core/Transformation.ts:116
Pre-multiply by S(sx,sy,sz): result = S * this
Parameters
sx
number
sy
number
sz
number
Returns
Transformation
flip()
flip():
Transformation
Defined in: core/Transformation.ts:120
Returns
Transformation
transpose()
transpose():
Transformation
Defined in: core/Transformation.ts:126
Returns
Transformation
multiply()
multiply(
other):Transformation
Defined in: core/Transformation.ts:137
Column-major: result = this * other
Parameters
other
Transformation
Returns
Transformation
inverse()
inverse():
Transformation|null
Defined in: core/Transformation.ts:151
Returns
Transformation | null