awtk/docs/manual/matrix_t.md

250 lines
5.6 KiB
Markdown
Raw Normal View History

2019-11-15 14:35:56 +08:00
## matrix\_t
### 概述
2D矩阵对象。
----------------------------------
### 函数
<p id="matrix_t_methods">
| 函数名称 | 说明 |
| -------- | ------------ |
| <a href="#matrix_t_matrix_identity">matrix\_identity</a> | 重置矩阵对象为单位矩阵。 |
| <a href="#matrix_t_matrix_init">matrix\_init</a> | 初始化矩阵对象。 |
| <a href="#matrix_t_matrix_invert">matrix\_invert</a> | 求矩阵的逆。 |
2021-08-03 07:53:37 +08:00
| <a href="#matrix_t_matrix_is_invertible">matrix\_is\_invertible</a> | 判断matrix是否可逆。 |
2019-11-15 14:35:56 +08:00
| <a href="#matrix_t_matrix_multiply">matrix\_multiply</a> | 矩阵相乘。 |
| <a href="#matrix_t_matrix_rotate">matrix\_rotate</a> | 旋转。 |
| <a href="#matrix_t_matrix_scale">matrix\_scale</a> | 缩放。 |
| <a href="#matrix_t_matrix_set">matrix\_set</a> | 设置矩阵的参数。 |
| <a href="#matrix_t_matrix_transform_point">matrix\_transform\_point</a> | 对点进行变换。 |
2021-08-03 07:53:37 +08:00
| <a href="#matrix_t_matrix_transform_pointf">matrix\_transform\_pointf</a> | 对点进行变换。 |
2019-11-15 14:35:56 +08:00
| <a href="#matrix_t_matrix_translate">matrix\_translate</a> | 平移。 |
#### matrix\_identity 函数
-----------------------
* 函数功能:
> <p id="matrix_t_matrix_identity">重置矩阵对象为单位矩阵。
* 函数原型:
```
matrix_t* matrix_identity (matrix_t* m);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | matrix\_t* | 矩阵对象。 |
| m | matrix\_t* | 矩阵对象。 |
#### matrix\_init 函数
-----------------------
* 函数功能:
> <p id="matrix_t_matrix_init">初始化矩阵对象。
* 函数原型:
```
matrix_t* matrix_init (matrix_t* m);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | matrix\_t* | 矩阵对象。 |
| m | matrix\_t* | 矩阵对象。 |
#### matrix\_invert 函数
-----------------------
* 函数功能:
> <p id="matrix_t_matrix_invert">求矩阵的逆。
* 函数原型:
```
matrix_t* matrix_invert (matrix_t* m);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | matrix\_t* | 矩阵对象。 |
| m | matrix\_t* | 矩阵对象。 |
2021-08-03 07:53:37 +08:00
#### matrix\_is\_invertible 函数
-----------------------
* 函数功能:
> <p id="matrix_t_matrix_is_invertible">判断matrix是否可逆。
* 函数原型:
```
bool_t matrix_is_invertible (matrix_t* m);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | bool\_t | 返回TRUE表示可逆否则表示不可逆。 |
| m | matrix\_t* | 矩阵对象。 |
2019-11-15 14:35:56 +08:00
#### matrix\_multiply 函数
-----------------------
* 函数功能:
> <p id="matrix_t_matrix_multiply">矩阵相乘。
* 函数原型:
```
matrix_t* matrix_multiply (matrix_t* m, matrix_t* b);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | matrix\_t* | 矩阵对象。 |
| m | matrix\_t* | 矩阵对象。 |
| b | matrix\_t* | 矩阵对象。 |
#### matrix\_rotate 函数
-----------------------
* 函数功能:
> <p id="matrix_t_matrix_rotate">旋转。
* 函数原型:
```
matrix_t* matrix_rotate (matrix_t* m, float rad);
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | matrix\_t* | 矩阵对象。 |
| m | matrix\_t* | 矩阵对象。 |
| rad | float | 角度。 |
#### matrix\_scale 函数
-----------------------
* 函数功能:
> <p id="matrix_t_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 函数
-----------------------
* 函数功能:
> <p id="matrix_t_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 函数
-----------------------
* 函数功能:
> <p id="matrix_t_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 |
2021-08-03 07:53:37 +08:00
#### matrix\_transform\_pointf 函数
-----------------------
* 函数功能:
> <p id="matrix_t_matrix_transform_pointf">对点进行变换。
* 函数原型:
```
2023-06-29 10:44:29 +08:00
matrix_t* matrix_transform_pointf (matrix_t* m, float x, float y, float* ox, float* oy);
2021-08-03 07:53:37 +08:00
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | matrix\_t* | 矩阵对象。 |
| m | matrix\_t* | 矩阵对象。 |
| x | float | x |
| y | float | y |
2023-06-29 10:44:29 +08:00
| ox | float* | out\_x |
| oy | float* | out\_y |
2019-11-15 14:35:56 +08:00
#### matrix\_translate 函数
-----------------------
* 函数功能:
> <p id="matrix_t_matrix_translate">平移。
* 函数原型:
```
2023-06-29 10:44:29 +08:00
matrix_t* matrix_translate (matrix_t* m, xy_t x, xy_t y);
2019-11-15 14:35:56 +08:00
```
* 参数说明:
| 参数 | 类型 | 说明 |
| -------- | ----- | --------- |
| 返回值 | matrix\_t* | 矩阵对象。 |
| m | matrix\_t* | 矩阵对象。 |
2023-06-29 10:44:29 +08:00
| x | xy\_t | x |
| y | xy\_t | y |