旋转立方体(使用 opengl - Iphone)

发布于 2024-07-29 23:26:54 字数 342 浏览 5 评论 0原文

我正在编写 iPhone 应用程序,其中我需要旋转立方体。 垂直轴和水平轴的旋转工作正常。 另外,从右下角到左上角以及从左上到右下角旋转立方体工作正常。(我使用 glrotateef(angle, 1.0, 1.0, 0.0) 从左上角旋转到右下角)。

这里的问题是,我想从左下角旋转到右上角,从右上角旋转到左下角。 我无法得到解决方案。 我尝试了不同的方法,例如

glRotateef(angle, -1.0, -1.0, 0.0) glRotateef(角度, -1.0, -1.0, 0.0) ETC.. 他们都不起作用。 请指导我(我需要使用的确切旋转是什么)。 提前致谢。

I am writing iphone application where in I need to rotate cube.
The rotation on vertical and horizontal axis is working fine.
Also, rotating cube from bottom right to top left and from top left to bottom right is working fine.(I am using glrotateef(angle, 1.0, 1.0, 0.0) to rotate from top left to bottom right).

The issue here is, I want to rotate from bottom left to top right and from top right to bottom left. And I could not get the solution.
I tried different approaches like

glRotateef(angle, -1.0, -1.0, 0.0)
glRotateef(angle, -1.0, -1.0, 0.0)
etc..
All of them are not working.
Please guide me on this (what is the exact rotation I need to use).
Thanks in advance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

何处潇湘 2024-08-05 23:26:58

绕单个轴旋转可以按以下方式完成:

 glRotatef(angle, 1.0, 0.0, 0.0)   //rotate around x axis
 glRotatef(angle, 0.0, 1.0, 0.0)   //rotate around y axis
 glRotatef(angle, 0.0, 0.0, 1.0)   //rotate around z axis

注意同时进行超过 1 次旋转。 (所以除上述 3 个以外的任何其他内容,或将它们组合起来)。 旋转的顺序非常重要。 如果操作不当,它们可能会产生“万向节锁”

rotating around the individual axis can be done as following:

 glRotatef(angle, 1.0, 0.0, 0.0)   //rotate around x axis
 glRotatef(angle, 0.0, 1.0, 0.0)   //rotate around y axis
 glRotatef(angle, 0.0, 0.0, 1.0)   //rotate around z axis

Look out with doing more than 1 rotation at the same time. (so anything else than the 3 above, or combining them). The order of rotations is really important. If done incorrectly they can produce 'gimbal lock'

梦过后 2024-08-05 23:26:57

您尝试过 glRotatef(angle, -1.0, 1.0, 0.0) 或 glRotatef(angle, 1.0, -1.0, 0.0) 吗?

Did you try glRotatef(angle, -1.0, 1.0, 0.0) or glRotatef(angle, 1.0, -1.0, 0.0)?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文