awtk/docs/manual/matrix_t.md
2019-12-11 16:21:15 +08:00

4.5 KiB

matrix_t

概述

2D矩阵对象。

函数

函数名称 说明
matrix_identity 重置矩阵对象为单位矩阵。
matrix_init 初始化矩阵对象。
matrix_invert 求矩阵的逆。
matrix_multiply 矩阵相乘。
matrix_rotate 旋转。
matrix_scale 缩放。
matrix_set 设置矩阵的参数。
matrix_transform_point 对点进行变换。
matrix_translate 平移。

matrix_identity 函数


  • 函数功能:

重置矩阵对象为单位矩阵。

  • 函数原型:
matrix_t* matrix_identity (matrix_t* m);
  • 参数说明:
参数 类型 说明
返回值 matrix_t* 矩阵对象。
m matrix_t* 矩阵对象。

matrix_init 函数


  • 函数功能:

初始化矩阵对象。

  • 函数原型:
matrix_t* matrix_init (matrix_t* m);
  • 参数说明:
参数 类型 说明
返回值 matrix_t* 矩阵对象。
m matrix_t* 矩阵对象。

matrix_invert 函数


  • 函数功能:

求矩阵的逆。

  • 函数原型:
matrix_t* matrix_invert (matrix_t* m);
  • 参数说明:
参数 类型 说明
返回值 matrix_t* 矩阵对象。
m matrix_t* 矩阵对象。

matrix_multiply 函数


  • 函数功能:

矩阵相乘。

  • 函数原型:
matrix_t* matrix_multiply (matrix_t* m, matrix_t* b);
  • 参数说明:
参数 类型 说明
返回值 matrix_t* 矩阵对象。
m matrix_t* 矩阵对象。
b matrix_t* 矩阵对象。

matrix_rotate 函数


  • 函数功能:

旋转。

  • 函数原型:
matrix_t* matrix_rotate (matrix_t* m, float rad);
  • 参数说明:
参数 类型 说明
返回值 matrix_t* 矩阵对象。
m matrix_t* 矩阵对象。
rad float 角度。

matrix_scale 函数


  • 函数功能:

缩放。

  • 函数原型:
matrix_t* matrix_scale (matrix_t* m, float sx, float sy);
  • 参数说明:
参数 类型 说明
返回值 matrix_t* 矩阵对象。
m matrix_t* 矩阵对象。
sx float sx
sy float sy

matrix_set 函数


  • 函数功能:

设置矩阵的参数。

  • 函数原型:
matrix_t* matrix_set (matrix_t* m, float a0, float a1, float a2, float a3, float a4, float a5);
  • 参数说明:
参数 类型 说明
返回值 matrix_t* 矩阵对象。
m matrix_t* 矩阵对象。
a0 float a0
a1 float a1
a2 float a2
a3 float a3
a4 float a4
a5 float a5

matrix_transform_point 函数


  • 函数功能:

对点进行变换。

  • 函数原型:
matrix_t* matrix_transform_point (matrix_t* m, xy_t x, xy_t y, xy_t* out_x, xy_t* out_y);
  • 参数说明:
参数 类型 说明
返回值 matrix_t* 矩阵对象。
m matrix_t* 矩阵对象。
x xy_t x
y xy_t y
out_x xy_t* out_x
out_y xy_t* out_y

matrix_translate 函数


  • 函数功能:

平移。

  • 函数原型:
matrix_t* matrix_translate (matrix_t* m, float x, float y);
  • 参数说明:
参数 类型 说明
返回值 matrix_t* 矩阵对象。
m matrix_t* 矩阵对象。
x float x
y float y