Skip to main content

Transform Matrix (transform-matrix)

2D affine transformation matrix, represented as a 3x3 matrix: [a b 0; c d 0; tx ty 1].

Struct

struct matrix2d_t {
float a; float b;
float c; float d;
float tx; float ty;
};

API

FunctionDescription
matrix2d_init(m, a, b, c, d, tx, ty)Initialize matrix
matrix2d_init_identity(m)Identity matrix
matrix2d_init_translate(m, tx, ty)Translation
matrix2d_init_scale(m, sx, sy)Scaling
matrix2d_init_rotate(m, r)Rotation
matrix2d_multiply(m, m1, m2)Matrix multiply
matrix2d_invert(m)Invert
matrix2d_translate(m, tx, ty)Append translation
matrix2d_scale(m, sx, sy)Append scaling
matrix2d_rotate(m, r)Append rotation
matrix2d_transform_point(m, x, y)Transform point
matrix2d_transform_distance(m, dx, dy)Transform distance
matrix2d_transform_bounds(m, x1, y1, x2, y2)Transform bounds
matrix2d_transform_region(m, w, h, region)Transform region