Not Enough Math
Lightweight zero-dependency C++ math library
Loading...
Searching...
No Matches
quat_utils.hpp File Reference
#include "quat.hpp"
#include "vec.hpp"
#include "mat.hpp"
#include "utils.hpp"
#include "trig.hpp"
#include "power.hpp"

Go to the source code of this file.

Namespaces

namespace  nem
 

Functions

template<typename T = nem::real>
constexpr T nem::sqr_length (const nem::quat_t< T > &q)
 
template<typename T = nem::real>
nem::length (const nem::quat_t< T > &q)
 
template<typename T = nem::real>
nem::quat_t< T > nem::normalize (nem::quat_t< T > q)
 
template<typename T = nem::real>
constexpr nem::quat_t< T > nem::make_quat (const nem::vec< T, 4 > &vec4)
 
template<typename T = nem::real>
constexpr nem::quat_t< T > nem::make_quat (T scalar, T x, T y, T z)
 
template<typename T = nem::real>
constexpr nem::quat_t< T > nem::conjugate (const nem::quat_t< T > &q)
 Conjugates the quaternion, yielding a quaternion with the same angle (scalar) but inverse axis (vector)
 
template<typename T = nem::real>
constexpr nem::quat_t< T > nem::inverse (const nem::quat_t< T > &q)
 
template<typename T = nem::real>
nem::quat_t< T > nem::from_axis_angle (const nem::vec< T, 3 > &axis, T radians)
 
template<typename T = nem::real>
nem::quat_t< T > nem::from_euler (T pitch, T yaw, T roll)
 
template<typename T = nem::real>
constexpr nem::mat< T, 3, 3 > nem::norm_quaterion_to_rotation_matrix (const nem::quat_t< T > &q)
 
template<typename T >
constexpr nem::vec< T, 3 > nem::extract_vector (const nem::quat_t< T > &q)