Math module

transform_point

procedure · 1 overloadSource

Transforms a position by the 3x3 part of a Matrix4 or Matrix4x3 and then adds its translation column, treating the point as having w = 1. There is no perspective divide, so for a projection matrix multiply a Vector4 and divide by w yourself.

ExampleOpen in playground ↗
m := make_translation_matrix4(xyz(10, 0, 0));
assert(transform_point(m, xyz(1, 2, 3)) == xyz(11, 2, 3));
transform_point :: (m: $T/interface AnyMatrix4x3, v: Vector3) -> Vector3

Applies the matrix to v and then adds its translation column.

Parameters

m: $T/interface AnyMatrix4x3
the matrix.
v: Vector3
the point to transform.

Returns

See also