Transform2D

2D 变换(2×3 矩阵)。

描述

用于 2D 线性变换的 2×3 矩阵(2 行 3 列),可以表示平移、旋转、缩放等变换。由三个 Vector2 值组成:xyorigin

更多信息请阅读文档文章《矩阵和变换》。

教程

属性

Vector2

origin

Vector2( 0, 0 )

Vector2

x

Vector2( 1, 0 )

Vector2

y

Vector2( 0, 1 )

方法

Transform2D

Transform2D ( Transform from )

Transform2D

Transform2D ( Vector2 x_axis, Vector2 y_axis, Vector2 origin )

Transform2D

Transform2D ( float rotation, Vector2 position )

Transform2D

affine_inverse ( )

Vector2

basis_xform ( Vector2 v )

Vector2

basis_xform_inv ( Vector2 v )

Vector2

get_origin ( )

float

get_rotation ( )

Vector2

get_scale ( )

Transform2D

interpolate_with ( Transform2D transform, float weight )

Transform2D

inverse ( )

bool

is_equal_approx ( Transform2D transform )

Transform2D

orthonormalized ( )

Transform2D

rotated ( float phi )

Transform2D

scaled ( Vector2 scale )

Transform2D

translated ( Vector2 offset )

Variant

xform ( Variant v )

Variant

xform_inv ( Variant v )

常量

  • 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

属性说明

Default

Vector2( 0, 0 )

原点向量(2 号列,即第 3 列)。相当于使用 2 进行数组索引。原点向量代表平移。


Default

Vector2( 1, 0 )

基本矩阵的X向量(第0列)。等效于数组索引0


Default

Vector2( 0, 1 )

基础矩阵的Y向量(第1列)。相当于数组索引1

方法说明

从一个 3D Transform 构建变换。


从表示 xyorigin 的 3 个 Vector2(三个列向量)构建变换。


从一个给定的角度(单位为弧度)和位置构造变换。


返回变换的反值,假设变换是由旋转、缩放和平移组成的。


返回经过基础矩阵变换(相乘)的向量。

该方法不考虑平移(原点向量)。


返回经过逆基础矩阵变换(相乘)的向量。

该方法不考虑平移(原点向量)。


返回变换的原点(平移)。


返回变换的旋转(单位为弧度)。


返回缩放。


返回在此变换和另一个变换之间通过给定的weight插值的变换,范围为0.0到1.0。


返回变换的反值,假设该变换是由旋转和平移组成的(没有缩放,对有缩放的变换使用 affine_inverse)。


如果这个变换和transform近似相等,通过对每个分量调用is_equal_approx,而返回true


返回以正交,即90度,为基础的变换,以及归一化的轴向量,缩放为1或-1。


使用矩阵乘法,将变换旋转给定的角度,即弧度。


使用矩阵乘法,用给定的缩放系数来缩放变换。


相对于变换的基础向量,将变换按给定的偏移量进行平移。

rotatedscaled不同,它不使用矩阵乘法。


通过此变换对指定的Vector2Rect2PoolVector2Array进行变换。


将给定的 Vector2Rect2PoolVector2Array 做该变换的逆变换,前提假设是该变换仅由旋转和平移构成(不包括缩放)。等价于调用该变换的 inverse().xform(v)。仿射变换(即包含缩放)请参阅 affine_inverse 方法。