30 #ifndef _RL_MATH_QUATERNION_H_
31 #define _RL_MATH_QUATERNION_H_
33 #define EIGEN_MATRIXBASE_PLUGIN <rl/math/MatrixBaseAddons.h>
36 #include <Eigen/Geometry>
52 assert(rand0 >= 0.0f);
53 assert(rand0 <= 1.0f);
54 assert(rand1 >= 0.0f);
55 assert(rand1 <= 1.0f);
56 assert(rand2 >= 0.0f);
57 assert(rand2 <= 1.0f);
59 Real sigma1 = ::std::sqrt(1.0f - rand0);
60 Real sigma2 = ::std::sqrt(rand0);
65 ::std::sin(theta1) * sigma1,
66 ::std::cos(theta1) * sigma1,
67 ::std::sin(theta2) * sigma2,
68 ::std::cos(theta2) * sigma2
77 #endif // _RL_MATH_QUATERNION_H_