Quaternion for 3D rotations.
More...
#include <utilities/Quaternion.hpp>
|
double | W |
|
double | X |
|
double | Y |
|
double | Z |
| Quaternion components (w + xi + yj + zk)
|
|
Quaternion for 3D rotations.
Implements quaternion mathematics for representing and manipulating 3D rotations. Provides operations for combining rotations and converting between different rotation representations.
◆ Quaternion() [1/3]
StevEngine::Utilities::Quaternion::Quaternion |
( |
double | w, |
|
|
double | x, |
|
|
double | y, |
|
|
double | z ) |
Create quaternion from components.
- Parameters
-
w | Real component |
x | i component |
y | j component |
z | k component |
◆ Quaternion() [2/3]
StevEngine::Utilities::Quaternion::Quaternion |
( |
double | w, |
|
|
Vector3 | vector ) |
Create quaternion from real and vector parts.
- Parameters
-
w | Real component |
vector | Vector component (x,y,z) |
◆ Quaternion() [3/3]
StevEngine::Utilities::Quaternion::Quaternion |
( |
const Quaternion & | from | ) |
|
Copy constructor.
- Parameters
-
◆ Angle()
Get angle between quaternions.
- Parameters
-
a | First quaternion |
b | Second quaternion |
- Returns
- Angle in radians
◆ Conjugate() [1/2]
Quaternion & StevEngine::Utilities::Quaternion::Conjugate |
( |
| ) |
|
Conjugate this quaternion.
- Returns
- Reference to this
◆ Conjugate() [2/2]
Create conjugate of quaternion.
- Parameters
-
- Returns
- Conjugated quaternion
◆ DegreesToRadians()
double StevEngine::Utilities::Quaternion::DegreesToRadians |
( |
double | degrees | ) |
|
|
static |
Convert degrees to radians.
- Parameters
-
- Returns
- Angle in radians
◆ Dot()
Calculate dot product.
- Parameters
-
a | First quaternion |
b | Second quaternion |
- Returns
- Dot product
◆ Forward()
Vector3 StevEngine::Utilities::Quaternion::Forward |
( |
| ) |
const |
Get forward direction.
- Returns
- Forward vector in local space
◆ FromAngleAxis()
Quaternion StevEngine::Utilities::Quaternion::FromAngleAxis |
( |
double | angle, |
|
|
Vector3 | axis ) |
|
static |
Create quaternion from angle and axis.
- Parameters
-
angle | Rotation angle in radians |
axis | Rotation axis (normalized) |
- Returns
- Created quaternion
◆ FromToRotation()
Create rotation from start to end direction.
- Parameters
-
fromDirection | Start direction |
toDirection | Target direction |
- Returns
- Rotation quaternion
◆ GetAngleAxis()
std::tuple< double, Vector3 > StevEngine::Utilities::Quaternion::GetAngleAxis |
( |
| ) |
const |
Get angle and axis representation.
- Returns
- Tuple of (angle, axis)
◆ Inverse() [1/2]
Quaternion & StevEngine::Utilities::Quaternion::Inverse |
( |
| ) |
|
Invert this quaternion.
- Returns
- Reference to this
◆ Inverse() [2/2]
Create inverse of quaternion.
- Parameters
-
- Returns
- Inverted quaternion
◆ Lerp()
Linear interpolation between quaternions.
- Parameters
-
a | Start quaternion |
b | End quaternion |
t | Interpolation factor (0-1) |
- Returns
- Interpolated quaternion
◆ LookRotation()
Create rotation looking in direction.
- Parameters
-
forward | Forward direction |
upwards | Up direction |
- Returns
- Look rotation
◆ operator*()
Vector3 StevEngine::Utilities::Quaternion::operator* |
( |
const Vector3 & | v | ) |
const |
Rotate vector by quaternion.
- Parameters
-
- Returns
- Rotated vector
◆ RadiansToDegrees()
double StevEngine::Utilities::Quaternion::RadiansToDegrees |
( |
double | radians | ) |
|
|
static |
Convert radians to degrees.
- Parameters
-
- Returns
- Angle in degrees
◆ Right()
Vector3 StevEngine::Utilities::Quaternion::Right |
( |
| ) |
const |
Get right direction.
- Returns
- Right vector in local space
◆ Slerp()
Spherical interpolation between quaternions.
- Parameters
-
a | Start quaternion |
b | End quaternion |
t | Interpolation factor (0-1) |
- Returns
- Interpolated quaternion
◆ Up()
Vector3 StevEngine::Utilities::Quaternion::Up |
( |
| ) |
const |
Get up direction.
- Returns
- Up vector in local space
The documentation for this class was generated from the following files: