Transform2D
2D transformation (2×3 matrix).
Description
2×3 matrix (2 rows, 3 columns) used for 2D linear transformations. It can represent transformations such as translation, rotation, or scaling. It consists of a three Vector2 values: x, y, and the origin.
For more information, read the "Matrices and transforms" documentation article.
Tutorials
Properties
Vector2 | origin | Vector2( 0, 0 ) |
Vector2 | x | Vector2( 1, 0 ) |
Vector2 | y | Vector2( 0, 1 ) |
Methods
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 ) |
Constants
-
IDENTITY = Transform2D( 1, 0, 0, 1, 0, 0 ) --- The identity
Transform2D
with no translation, rotation or scaling applied. When applied to other data structures, IDENTITY performs no transformation. -
FLIP_X = Transform2D( -1, 0, 0, 1, 0, 0 ) --- The
Transform2D
that will flip something along the X axis. -
FLIP_Y = Transform2D( 1, 0, 0, -1, 0, 0 ) --- The
Transform2D
that will flip something along the Y axis.
Property Descriptions
Vector2 origin
Default | Vector2( 0, 0 ) |
The origin vector (column 2, the third column). Equivalent to array index 2
. The origin vector represents translation.
Vector2 x
Default | Vector2( 1, 0 ) |
The basis matrix's X vector (column 0). Equivalent to array index 0
.
Vector2 y
Default | Vector2( 0, 1 ) |
The basis matrix's Y vector (column 1). Equivalent to array index 1
.
Method Descriptions
Transform2D Transform2D ( Transform from )
Constructs the transform from a 3D Transform.
- Transform2D Transform2D ( Vector2 x_axis, Vector2 y_axis, Vector2 origin )
Constructs the transform from 3 Vector2 values representing x, y, and the origin (the three column vectors).
- Transform2D Transform2D ( float rotation, Vector2 position )
Constructs the transform from a given angle (in radians) and position.
Transform2D affine_inverse ( )
Returns the inverse of the transform, under the assumption that the transformation is composed of rotation, scaling and translation.
Vector2 basis_xform ( Vector2 v )
Returns a vector transformed (multiplied) by the basis matrix.
This method does not account for translation (the origin vector).
Vector2 basis_xform_inv ( Vector2 v )
Returns a vector transformed (multiplied) by the inverse basis matrix.
This method does not account for translation (the origin vector).
Vector2 get_origin ( )
Returns the transform's origin (translation).
float get_rotation ( )
Returns the transform's rotation (in radians).
Vector2 get_scale ( )
Returns the scale.
Transform2D interpolate_with ( Transform2D transform, float weight )
Returns a transform interpolated between this transform and another by a given weight (on the range of 0.0 to 1.0).
Transform2D inverse ( )
Returns the inverse of the transform, under the assumption that the transformation is composed of rotation and translation (no scaling, use affine_inverse for transforms with scaling).
bool is_equal_approx ( Transform2D transform )
Returns true
if this transform and transform
are approximately equal, by calling is_equal_approx
on each component.
Transform2D orthonormalized ( )
Returns the transform with the basis orthogonal (90 degrees), and normalized axis vectors (scale of 1 or -1).
Transform2D rotated ( float phi )
Rotates the transform by the given angle (in radians), using matrix multiplication.
Transform2D scaled ( Vector2 scale )
Scales the transform by the given scale factor, using matrix multiplication.
Transform2D translated ( Vector2 offset )
Translates the transform by the given offset, relative to the transform's basis vectors.
Unlike rotated and scaled, this does not use matrix multiplication.
Variant xform ( Variant v )
Transforms the given Vector2, Rect2, or PoolVector2Array by this transform.
Variant xform_inv ( Variant v )
Inverse-transforms the given Vector2, Rect2, or PoolVector2Array by this transform.
© 2014–2020 Juan Linietsky, Ariel Manzur, Godot Engine contributors
Licensed under the MIT License.
https://docs.godotengine.org/en/3.2/classes/class_transform2d.html