# Quat.__mul

**Kind:** Operation

**Environments:** Game, Terrain

## Game

``` { .lua .api-signature }
Quat * Quat
```

``` { .lua .api-signature }
Quat * Vec3
```

[Open the full Game reference](../Game-Script-Environment/Userdata/Quat.md#__mul)

**Operations:**

| Operation | Returns | Description |
| --- | --- | --- |
| `Quat * Quat` | [Quat](../Game-Script-Environment/Userdata/Quat.md) | Returns the <a target="_blank" href="https://en.wikipedia.org/wiki/Quaternion#Hamilton_product">Hamilton product</a> of two quaternions. |
| `Quat * Vec3` | [Vec3](../Game-Script-Environment/Userdata/Vec3.md) | Returns the rotation by a quaternion on a vector. |

## Terrain

``` { .lua .api-signature }
Quat * Quat
```

``` { .lua .api-signature }
Quat * Vec3
```

[Open the full Terrain reference](../Terrain-Script-Environment/Userdata/Quat.md#__mul)

**Operations:**

| Operation | Returns | Description |
| --- | --- | --- |
| `Quat * Quat` | [Quat](../Terrain-Script-Environment/Userdata/Quat.md) | Returns the <a target="_blank" href="https://en.wikipedia.org/wiki/Quaternion#Hamilton_product">Hamilton product</a> of two quaternions. |
| `Quat * Vec3` | [Vec3](../Terrain-Script-Environment/Userdata/Vec3.md) | Returns the rotation by a quaternion on a vector. |
