围绕原点旋转多边形
Rotating a polygon about origin
我正在尝试围绕 opengl 中的原点旋转一个对象(一组顶点)。
该物体是摩天轮中的车厢,在旋转过程中不得保持直立。到目前为止,我所得到的只是以下转换,它可以旋转托架但不会保持直立。这使用绕原点 72 度角的基本旋转变换。模型矩阵看起来像这样:
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) 是单位矩阵
最终结果是变形了马车,但没有让它直立。
什么样的转换适合这种问题?
这是我用来解决问题的方法。
rotate(i * 72°) * translate(r, 0, 0) * rotate(-i * 72°)
我正在尝试围绕 opengl 中的原点旋转一个对象(一组顶点)。
该物体是摩天轮中的车厢,在旋转过程中不得保持直立。到目前为止,我所得到的只是以下转换,它可以旋转托架但不会保持直立。这使用绕原点 72 度角的基本旋转变换。模型矩阵看起来像这样:
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) 是单位矩阵
最终结果是变形了马车,但没有让它直立。
这是我用来解决问题的方法。
rotate(i * 72°) * translate(r, 0, 0) * rotate(-i * 72°)