【发布时间】:2010-05-03 13:51:54
【问题描述】:
我正在尝试在视图中显示一个可以通过拖动光标/触摸屏自然旋转的对象。目前我有一个像这样的对象的 X 和 Y 旋转
glRotatef(rotateX, 0f, 1f, 0f); // Dragging along X, so spin around Y axis
glRotatef(rotateY, 1f, 0f, 0f);
我明白为什么这不能达到我想要的效果(例如,如果您将其旋转 180 度,则上下旋转会反转)。我只是想不出一种方法让两个方向相对于观察者保持左右和上下。
我可以假设相机是固定的并且沿着 Z 轴看。有任何想法吗?
【问题讨论】:
-
Nick - 我很想看看你为这个问题想出的结果类 - 你的 Pastebin 似乎已经过期了。谢谢
-
奇怪,我以为我会将我的粘贴设置为永远存在。今天晚些时候,当我接近我的代码时,我会将它放在 Github gist 中并在此处链接。
-
我们开始吧。那里也有一个 Vector3 类。 gist.github.com/572585
-
天哪,谢谢!刚刚设法解决了我使用这些课程一天左右的问题。如果我能再次“提出”这个问题,我会的!
-
没问题 - 请参阅下面的附加答案,了解包含我的拖动处理类的项目。