Math module

transform_vector

procedure · 1 overloadSource

Transforms a direction by the 3x3 part of a matrix (Matrix3, Matrix4, Matrix4x3): rotation and scale apply, translation does not. Use transform_point for positions.

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

Applies the matrix to v, ignoring any translation.

Parameters

m: $T/interface AnyMatrix3
the matrix.
v: Vector3
the vector to transform.

Returns

See also