我有一个向量指向我需要旋转的方向,但我需要先将其转换为四元数。我找不到任何关于从笛卡尔坐标转换为glm中的四元数的信息。这样的功能是否存在?
答案 0 :(得分:0)
也许这些会帮助你。可以在他们的网站上找到v0.9.6的API文档:
GLM_FUNC_DECL tvec4<T, P> glm::rotate( tquat<T,P> const &q, tvec4<T,P> const &v )
Rotates a 4 components vector by a quaternion.
See also GLM_GTX_quaternion
GLM_FUNC_DECL tquat<T, P> glm::rotation( tvec3<T,P> const &orig, tvec3<T,P> const &dest )
Compute the rotation between two vectors.
param orig vector, needs to be normalized param dest vector, needs to be normalized
See also GLM_GTX_quaternion
和
template<typename T, precision P>
GLM_FUNC_DECL tvec3<T,P> rotate( tquat<T,P> const &q, tvec3<T,P> const &v )
template<typename T, precision P>
GLM_FUNC_DECL tvec4<T,P> rotate( tquat<T,P> const &q, tvec4<T,P> const &v )
template<typename T, precision P>
GLM_FUNC_DECL tquat<T,P> rotation( tvec3<T,P> const &orig, tvec3<T,P> const &dest )
template<typename T, precision P>
GLM_FUNC_DECL tquat<T,P> shortMix( tquat<T, P> const &x, tquat<T, P> const &y, T const &a )
template<typename T, precision P>
GLM_FUNC_DECL tquat<T,P> squad( tquat<T,P> const &q1, tquat<T,P> const &q2, tquat<T,P> const &s1, tquat<T,P> const &s2, T const &h )
template<typename T, precision P>
GLM_FUNC_DECL tmat3x3<T,P> toMat3( tquat<T,P> const &x )
template<typename T, precision P>
GLM_FUNC_DECL tmat4x4<T,P> toMat4( tquat<T,P> const &x )
template<typename T, precision P>
GLM_FUNC_DECL tquat<T,P> toQuat( tmat3x3<T,P> const &x )
template<typename T, precision P>
GLM_FUNC_DECL tquat<T,P> toQuat( tmat4x4<T,P> const &x )
在这些功能列表中;有些函数可以让你使用四元数来旋转,使用两个返回四元数的向量,转换为matrix3x3或4x4以及其他有用的函数。