# OHOS::Matrix3< T \> - [Overview](#section386546175165635) - [Summary](#section157087823165635) - [Public Member Functions](#pub-methods) - [Static Public Member Functions](#pub-static-methods) ## **Overview** **Related Modules:** [Graphic](Graphic.md) **Description:** template class OHOS::Matrix3< T \> Defines a 3 x 3 matrix. **Since:** 1.0 **Version:** 1.0 ## **Summary** ## Public Member Functions

Function

Description

Matrix3 ()

Defines a Matrix3 instance and initializes the 3 x 3 matrix data.

Matrix3 (T m00, T m01, T m02, T m10, T m11, T m12, T m20, T m21, T m22)

Defines a Matrix3 instance and initializes the 3 x 3 matrix data.

~Matrix3 ()

A destructor used to delete the Matrix3 instance.

GetData () const

const T *

Obtains the 3 x 3 matrix data.

Determinant () const

T

Obtains the determinant of the matrix.

Inverse () const

Matrix3

Obtains the inverse matrix.

operator new (size_t size)

void *

Overrides the new function.

operator delete (void *p)

void

Overrides the delete function.

## Static Public Member Functions

Function

Description

Rotate (T angle, const Vector2< T > &pivot)

static Matrix3

Obtains a rotation matrix. After a matrix is rotated, its data is shifted leftwards by 15 bits. Therefore, the result data needs to be shifted rightwards by 15 bits.

Scale (const Vector2< T > &scale, const Vector2< T > &fixed)

static Matrix3

Obtains the scaling matrix. After a matrix is scaled, its data is shifted leftwards by 8 bits. Therefore, the result data needs to be shifted rightwards by 8 bits.

Translate (const Vector2< T > &trans)

static Matrix3< T >

Obtains a matrix translation.