/Godot 3.1

# Transform2D

Category: Built-In Types

## Brief Description

2D Transformation. 3x2 matrix.

## Properties

 Vector2 origin Vector2 x Vector2 y

## 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 ( ) 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 )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 )Transform2D with mirroring applied parallel to the X axis.
• FLIP_Y = Transform2D( 1, 0, 0, -1, 0, 0 )Transform2D with mirroring applied parallel to the Y axis.

## Description

Represents one or many transformations in 2D space such as translation, rotation, or scaling. It consists of a two Vector2 x, y and Vector2 “origin”. It is similar to a 3x2 matrix.

## Property Descriptions

### Vector2 origin

The transform’s translation offset.

### Vector2 x

The X axis of 2x2 basis matrix containing 2 Vector2s as its columns: X axis and Y axis. These vectors can be interpreted as the basis vectors of local coordinate system traveling with the object.

### Vector2 y

The Y axis of 2x2 basis matrix containing 2 Vector2s as its columns: X axis and Y axis. These vectors can be interpreted as the basis vectors of local coordinate system traveling with the object.

## Method Descriptions

### Transform2D Transform2D ( Transform from )

Constructs the transform from a 3D Transform.

Constructs the transform from 3 Vector2s representing x, y, and origin.

Constructs the transform from a given angle (in radians) and position.

### Transform2D affine_inverse ( )

Returns the inverse of the matrix.

### Vector2 basis_xform ( Vector2 v )

Transforms the given vector by this transform’s basis (no translation).

### Vector2 basis_xform_inv ( Vector2 v )

Inverse-transforms the given vector by this transform’s basis (no translation).

### 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 (0-1).

### 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).

### Transform2D orthonormalized ( )

Returns the transform with the basis orthogonal (90 degrees), and normalized axis vectors.

### Transform2D rotated ( float phi )

Rotates the transform by the given angle (in radians).

### Transform2D scaled ( Vector2 scale )

Scales the transform by the given factor.

### Transform2D translated ( Vector2 offset )

Translates the transform by the given offset.

### Variant xform ( Variant v )

Transforms the given Vector2 or Rect2 by this transform.

### Variant xform_inv ( Variant v )

Inverse-transforms the given Vector2 or Rect2 by this transform.

© 2014–2019 Juan Linietsky, Ariel Manzur, Godot Engine contributors