Transform2D
简要描述
2D变换(2×3矩阵)。
描述
表示2D空间中的一个或多个变换,例如平移,旋转或缩放。它由两个x和y Vector2和一个origin组成。 它类似于2×3矩阵。
成员
类型 | 属性名 | 默认值 |
---|---|---|
Vector2 | origin | Vector2( 0, 0 ) |
Vector2 | x | Vector2( 1, 0 ) |
Vector2 | y | Vector2( 0, 1 ) |
方法
返回值类型 | 方法名称 |
---|---|
Transform2D | Transform2D(#method-Transform2D)(from: Transform) |
Transform2D | Transform2D(#method-Transform2D)(x_axis: Vector2, y_axis: Vector2, origin: Vector2) |
Transform2D | Transform2D(#method-Transform2D)(rotation: float, position: Vector2) |
Transform2D | affine_inverse() |
Vector2 | basis_xform(v: Vector2) |
Vector2 | basis_xform_inv(v: Vector2) |
Vector2 | get_origin() |
float | get_rotation() |
Vector2 | get_scale() |
Transform2D | interpolate_with(transform: Transform2D, weight: float) |
Transform2D | inverse() |
bool | is_equal_approx(transform: Transform2D) |
Transform2D | orthonormalized() |
Transform2D | rotated(phi: float) |
Transform2D | scaled(scale: Vector2) |
Transform2D | translated(offset: Vector2) |
Variant | xform(v: Variant) |
Variant | xform_inv(v: Variant) |
常量
- **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 | Vector2( 0, 0 ) |
---|---|
getter | **** |
- Vector2 x
Default | Vector2( 1, 0 ) |
---|---|
getter | **** |
- Vector2 y
Default | Vector2( 0, 1 ) |
---|---|
getter | **** |
方法说明
- Transform2D Transform2D(from: Transform)
从3D Transform构造变换。
- Transform2D Transform2D(x_axis: Vector2, y_axis: Vector2, origin: Vector2)
从代表x,y和原点的3个Vector2构造转换。
- Transform2D Transform2D(rotation: float, position: Vector2)
从给定角度(弧度)和位置构造变换。
- affine_inverse affine_inverse()
返回矩阵的逆。
- basis_xform basis_xform(v: Vector2)
根据此变换的基础变换给定的向量(不翻译)。
- basis_xform_inv basis_xform_inv(v: Vector2)
根据此变换的基础对给定的向量进行逆变换(不翻译)。
- get_origin get_origin()
返回转换的原点(平移)。
- get_rotation get_rotation()
返回变换的旋转度(以弧度为单位)。
- get_scale get_scale()
返回比例。
- interpolate_with interpolate_with(transform: Transform2D, weight: float)
返回以给定的权重(0-1)在此变换和另一个变换之间插入的变换。
- inverse inverse()
在假设变换由旋转和平移组成的情况下(不缩放,使用affine_inverse进行缩放)将返回变换的逆。
- is_equal_approx is_equal_approx(transform: Transform2D)
如果此变换和transform
大致相等,则通过在每个组件上调用is_equal_approx
来返回true
。
- orthonormalized orthonormalized()
返回具有正交基准(90度)和归一化轴矢量的变换。
- rotated rotated(phi: float)
使用矩阵乘法将变换旋转给定角度(以弧度为单位)。
- scaled scaled(scale: Vector2)
使用矩阵乘法按给定的比例因子缩放变换。
- translated translated(offset: Vector2)
相对于变换的基础向量,以给定的偏移量变换变换。
- xform xform(v: Variant)
通过此变换来转换给定的Vector2,Rect2或PoolVector2Array。
- xform_inv xform_inv(v: Variant)
通过此变换对给定的Vector2,Rect2或PoolVector2Array进行逆变换。