|
|
Routines for creating and initializing quaternions.
|
| shz_quat_t | shz_quat_init (float w, float x, float y, float z) noexcept |
| |
| shz_quat_t | shz_quat_identity (void) noexcept |
| |
| bool | shz_quat_equal (shz_quat_t a, shz_quat_t b) noexcept |
| |
| shz_quat_t | shz_quat_from_angles_xyz (float xangle, float yangle, float zangle) noexcept |
| |
| shz_quat_t | shz_quat_from_axis_angle (shz_vec3_t axis, float angle) noexcept |
| |
| shz_quat_t | shz_quat_from_look_axis (shz_vec3_t forward, shz_vec3_t up) noexcept |
| |
| shz_quat_t | shz_quat_from_rotated_axis (shz_vec3_t v1, shz_vec3_t v2) noexcept |
| |
| shz_quat_t | shz_quat_lerp (shz_quat_t a, shz_quat_t b, float t) noexcept |
| |
| shz_quat_t | shz_quat_nlerp (shz_quat_t a, shz_quat_t b, float t) noexcept |
| |
| shz_quat_t | shz_quat_slerp (shz_quat_t q, shz_quat_t p, float t) noexcept |
| |
| shz_quat_t | shz_quat_squad (shz_quat_t q1, shz_quat_t q2, shz_quat_t s1, shz_quat_t s2, float t) noexcept |
| |
|
Routines returning derived values from a quaternion.
|
| float | shz_quat_angle (shz_quat_t q) noexcept |
| |
| shz_vec3_t | shz_quat_axis (shz_quat_t q) noexcept |
| |
| float | shz_quat_angle_x (shz_quat_t q) noexcept |
| |
| float | shz_quat_angle_y (shz_quat_t q) noexcept |
| |
| float | shz_quat_angle_z (shz_quat_t q) noexcept |
| |
| void | shz_quat_to_axis_angle (shz_quat_t q, shz_vec3_t *vec, float *angle) noexcept |
| |
| shz_vec3_t | shz_quat_to_angles_xyz (shz_quat_t q) noexcept |
| |
| float | shz_quat_magnitude_sqr (shz_quat_t quat) noexcept |
| |
| float | shz_quat_magnitude (shz_quat_t quat) noexcept |
| |
| float | shz_quat_magnitude_inv (shz_quat_t quat) noexcept |
| |
|
Routines for returning new quaternions derived from existing ones.
|
| shz_quat_t | shz_quat_normalize (shz_quat_t quat) noexcept |
| |
| shz_quat_t | shz_quat_normalize_safe (shz_quat_t quat) noexcept |
| |
| shz_quat_t | shz_quat_conjugate (shz_quat_t quat) noexcept |
| |
| shz_quat_t | shz_quat_inv (shz_quat_t quat) noexcept |
| |
| shz_quat_t | shz_quat_neg (shz_quat_t quat) noexcept |
| |
|
Routines performing calculations with quaternions.
|
| shz_quat_t | shz_quat_add (shz_quat_t q, shz_quat_t p) noexcept |
| |
| shz_quat_t | shz_quat_sub (shz_quat_t q, shz_quat_t p) noexcept |
| |
| shz_quat_t | shz_quat_scale (shz_quat_t q, float f) noexcept |
| |
| shz_quat_t | shz_quat_mult (shz_quat_t q1, shz_quat_t q2) noexcept |
| |
| shz_quat_t | shz_quat_div (shz_quat_t q, shz_quat_t p) noexcept |
| |
| float | shz_quat_dot (shz_quat_t q1, shz_quat_t q2) noexcept |
| |
| shz_vec2_t | shz_quat_dot2 (shz_quat_t l, shz_quat_t r1, shz_quat_t r2) noexcept |
| |
| shz_vec3_t | shz_quat_dot3 (shz_quat_t l, shz_quat_t r1, shz_quat_t r2, shz_quat_t r3) noexcept |
| |
|
Other types of quaternion operations.
|
| float | shz_quat_angle_between (shz_quat_t q, shz_quat_t p) noexcept |
| |
| shz_quat_t | shz_quat_rotate_towards (shz_quat_t from, shz_quat_t to, float max_angle) noexcept |
| |
|
Routines for applying quaternion transforms.
|
| shz_vec3_t | shz_quat_transform_vec3 (shz_quat_t q, shz_vec3_t v) noexcept |
| |
Routines for operating upon quaternions.
This file contains the public type(s) and interface providing the quaternion math API.
- Author
- 2025, 2026 Falco Girgis
-
2025 Oleg Endo
- Copyright
- MIT License
Definition in file shz_quat.h.