跳到主要内容

Transform2D

简要描述

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

描述

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

成员

类型属性名默认值
Vector2originVector2( 0, 0 )
Vector2xVector2( 1, 0 )
Vector2yVector2( 0, 1 )

方法

返回值类型方法名称
Transform2DTransform2D(#method-Transform2D)(from: Transform)
Transform2DTransform2D(#method-Transform2D)(x_axis: Vector2, y_axis: Vector2, origin: Vector2)
Transform2DTransform2D(#method-Transform2D)(rotation: float, position: Vector2)
Transform2Daffine_inverse()
Vector2basis_xform(v: Vector2)
Vector2basis_xform_inv(v: Vector2)
Vector2get_origin()
floatget_rotation()
Vector2get_scale()
Transform2Dinterpolate_with(transform: Transform2D, weight: float)
Transform2Dinverse()
boolis_equal_approx(transform: Transform2D)
Transform2Dorthonormalized()
Transform2Drotated(phi: float)
Transform2Dscaled(scale: Vector2)
Transform2Dtranslated(offset: Vector2)
Variantxform(v: Variant)
Variantxform_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
DefaultVector2( 0, 0 )
getter****
  • Vector2 x
DefaultVector2( 1, 0 )
getter****
  • Vector2 y
DefaultVector2( 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进行逆变换。