围绕原点旋转多边形

时间:2019-04-08 23:17:42

标签: c++ opengl glm-math

我正在尝试围绕opengl中的原点旋转一个对象(一组顶点)。

对象是摩天轮中的马车,在旋转期间一定不能直立。到目前为止,我所得到的只是以下变换,它可以旋转笔架,但不能保持直立。这使用围绕原点的72度角的基本旋转变换。 martix模型看起来像这样:

g_modelMatrix[i] = glm::mat4(1.0f) * glm::rotate(glm::radians(-72.0f), glm::vec3(0.0f, 0.0f, 1.0f)); 

其中glm :: mat4(1.0f)是一个单位矩阵

最终结果使笔架变形,但没有使其直立。 enter image description here 哪种转换适合此类问题?

1 个答案:

答案 0 :(得分:1)

这是我用来解决问题的方法。

rotate(i * 72°) * translate(r, 0, 0) * rotate(-i * 72°)