Attention: Here be dragons

This is the `latest` (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Godot.

# Basis¶

A 3×3 matrix for representing 3D rotation and scale.

## Description¶

A 3×3 matrix used for representing 3D rotation and scale. Usually used as an orthogonal basis for a Transform3D.

Contains 3 vector fields X, Y and Z as its columns, which are typically interpreted as the local basis vectors of a transformation. For such use, it is composed of a scaling and a rotation matrix, in that order (M = R.S).

Basis can also be accessed as an array of 3D vectors. These vectors are usually orthogonal to each other, but are not necessarily normalized (due to scaling).

Nota

There are notable differences when using this API with C#. See Diferenças da API C# para GDScript for more information.

## Properties¶

 Vector3 x `Vector3(1, 0, 0)` Vector3 y `Vector3(0, 1, 0)` Vector3 z `Vector3(0, 0, 1)`

## Constructors¶

 Basis Basis ( ) Basis Basis ( Basis from ) Basis Basis ( Vector3 axis, float angle ) Basis Basis ( Quaternion from ) Basis Basis ( Vector3 x_axis, Vector3 y_axis, Vector3 z_axis )

## Methods¶

 float determinant ( ) const Basis from_euler ( Vector3 euler, int order=2 ) static Basis from_scale ( Vector3 scale ) static Vector3 get_euler ( int order=2 ) const Quaternion get_rotation_quaternion ( ) const Vector3 get_scale ( ) const Basis inverse ( ) const bool is_equal_approx ( Basis b ) const bool is_finite ( ) const Basis