【发布时间】:2017-06-22 16:59:30
【问题描述】:
我想通过四元数进行一些旋转。
glm 库在这方面做得很好。
以下是我的代码:
vec3 v(0.0f, 0.0f, 1.0f);
float deg = 45.0f * 0.5f;
quat q(glm::cos(glm::radians(deg)), 0, glm::sin(glm::radians(deg)), 0);
vec3 newv = q*v;
printf("v %f %f %f \n", newv[0], newv[1], newv[2]);
我的问题是,在许多文章中,四元数的旋转公式是哪一个
rotated_v = q*v*q_conj
这很奇怪。在 glm 中,向量“v”只需乘以四元数“q”即可进行旋转。
这让我很困惑。
【问题讨论】:
标签: opengl quaternions glm-math