跳转至

Transform2D

简要描述

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

描述

表示2D空间中的一个或多个变换,例如平移,旋转或缩放。它由两个xy Vector2和一个origin组成。 它类似于3×2矩阵。

成员

类型 属性名 默认值
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)

相对于变换的基础向量,以给定的偏移量变换变换。

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


  • xform xform(v: Variant)

通过此变换来转换给定的Vector2Rect2PoolVector2Array


  • xform_inv xform_inv(v: Variant)

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