Transform2D
2D 变换(2×3 矩阵)。
描述
用于 2D 线性变换的 2×3 矩阵(2 行 3 列),可以表示平移、旋转、缩放等变换。由三个 Vector2 值组成:x、y、origin。
更多信息请阅读文档文章《矩阵和变换》。
教程
属性
| ||
| ||
|
方法
Transform2D ( Transform from ) | |
Transform2D ( Vector2 x_axis, Vector2 y_axis, Vector2 origin ) | |
Transform2D ( float rotation, Vector2 position ) | |
affine_inverse ( ) | |
basis_xform ( Vector2 v ) | |
basis_xform_inv ( Vector2 v ) | |
get_origin ( ) | |
get_rotation ( ) | |
get_scale ( ) | |
interpolate_with ( Transform2D transform, float weight ) | |
inverse ( ) | |
is_equal_approx ( Transform2D transform ) | |
orthonormalized ( ) | |
translated ( Vector2 offset ) | |
常量
IDENTITY = Transform2D( 1, 0, 0, 1, 0, 0 ) —- 没有应用平移、旋转、缩放的单位
Transform2D
。当应用于其他数据结构时,IDENTITY 不执行变换。FLIP_X = Transform2D( -1, 0, 0, 1, 0, 0 ) —- 将沿 X 轴翻转的
Transform2D
。FLIP_Y = Transform2D( 1, 0, 0, -1, 0, 0 ) —- 将沿 Y 轴翻转的
Transform2D
。
属性说明
- Vector2 origin
Default |
|
原点向量(2 号列,即第 3 列)。相当于使用 2
进行数组索引。原点向量代表平移。
- Vector2 x
Default |
|
基本矩阵的X向量(第0列)。等效于数组索引0
。
- Vector2 y
Default |
|
基础矩阵的Y向量(第1列)。相当于数组索引1
。
方法说明
- Transform2D Transform2D ( Transform from )
从一个 3D Transform 构建变换。
- Transform2D Transform2D ( Vector2 x_axis, Vector2 y_axis, Vector2 origin )
从表示 x、y、origin 的 3 个 Vector2(三个列向量)构建变换。
- Transform2D Transform2D ( float rotation, Vector2 position )
从一个给定的角度(单位为弧度)和位置构造变换。
- Transform2D affine_inverse ( )
返回变换的反值,假设变换是由旋转、缩放和平移组成的。
返回经过基础矩阵变换(相乘)的向量。
该方法不考虑平移(原点向量)。
返回经过逆基础矩阵变换(相乘)的向量。
该方法不考虑平移(原点向量)。
- Vector2 get_origin ( )
返回变换的原点(平移)。
- float get_rotation ( )
返回变换的旋转(单位为弧度)。
- Vector2 get_scale ( )
返回缩放。
- Transform2D interpolate_with ( Transform2D transform, float weight )
返回在此变换和另一个变换之间通过给定的weight
插值的变换,范围为0.0到1.0。
- Transform2D inverse ( )
返回变换的反值,假设该变换是由旋转和平移组成的(没有缩放,对有缩放的变换使用 affine_inverse)。
- bool is_equal_approx ( Transform2D transform )
如果这个变换和transform
近似相等,通过对每个分量调用is_equal_approx
,而返回true
。
- Transform2D orthonormalized ( )
返回以正交,即90度,为基础的变换,以及归一化的轴向量,缩放为1或-1。
- Transform2D rotated ( float phi )
使用矩阵乘法,将变换旋转给定的角度,即弧度。
- Transform2D scaled ( Vector2 scale )
使用矩阵乘法,用给定的缩放系数来缩放变换。
- Transform2D translated ( Vector2 offset )
相对于变换的基础向量,将变换按给定的偏移量进行平移。
通过此变换对指定的Vector2、Rect2或PoolVector2Array进行变换。
将给定的 Vector2、Rect2、PoolVector2Array 做该变换的逆变换,前提假设是该变换仅由旋转和平移构成(不包括缩放)。等价于调用该变换的 inverse().xform(v)
。仿射变换(即包含缩放)请参阅 affine_inverse 方法。