# Rotation Matrix

## Overview

![The Rotation Matrix Node.](https://2628349686-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fwnv17cpjDin2deSlOz0z%2Fuploads%2Fgit-blob-bbb45031649c2e1b41bd456dc89f5b88196475b0%2Frotationmatrixupdatedimage.png?alt=media)

The **Rotation Matrix** **Node** receives three angles as inputs and generates a **Matrix4x4** that represents a *rotation* along the X, Y, and Z axes in the received angles.

[**Scope**](https://docs.incari.com/incari-studio/2023.1/overview#scopes): **Project**, **Scene**, **Function**, **Prefab**.

## Attributes

![The Rotation Matrix Node Attributes.](https://2628349686-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fwnv17cpjDin2deSlOz0z%2Fuploads%2Fgit-blob-0884d0aedd5148fd18ee2a5bd082ac6ccf8a2bf3%2Fnode-rotation-matrix2-attr.png?alt=media)

### Inputs

| Attribute         | Type      | Description                                                                                                                                       |
| ----------------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
| `Default Angle X` | **Float** | The angle, in degrees, along the X axis in which the *rotation* will be performed, if no value is provided in the `Angle X in degree` **Socket**. |
| `Default Angle Y` | **Float** | The angle, in degrees, along the Y axis in which the *rotation* will be performed, if no value is provided in the `Angle Y in degree` **Socket**. |
| `Default Angle Z` | **Float** | The angle, in degrees, along the Z axis in which the *rotation* will be performed, if no value is provided in the `Angle Z in degree` **Socket**. |

## Inputs

| Input               | Type      | Description                                                                        |
| ------------------- | --------- | ---------------------------------------------------------------------------------- |
| *Pulse Input* (►)   | **Pulse** | A standard **Input Pulse**, to trigger the execution of the **Node**.              |
| `Angle X in degree` | **Float** | The angle, in degrees, along the X axis in which the *rotation* will be performed. |
| `Angle Y in degree` | **Float** | The angle, in degrees, along the Y axis in which the *rotation* will be performed. |
| `Angle Z in degree` | **Float** | The angle, in degrees, along the Z axis in which the *rotation* will be performed. |

## Outputs

| Output             | Type          | Description                                                                                                                            |
| ------------------ | ------------- | -------------------------------------------------------------------------------------------------------------------------------------- |
| *Pulse Output* (►) | **Pulse**     | A standard **Output Pulse**, to move onto the next **Node** along the **Logic Branch**, once this **Node** has finished its execution. |
| `Rotation Matrix`  | **Matrix4x4** | A **Matrix4x4** representing *rotations* along the X, Y, and Z axes in the given angles.                                               |

## External Links

* [*Rotation matrix*](https://en.wikipedia.org/wiki/Rotation_matrix) on Wikipedia.
