求教转角问题

joniy 2013-03-22 04:31:48
我希望能沿X轴转动angle1X角度,沿Y轴方向转动angleY角度!我的方法是:

glRotatef(angleX, 0, 1, 0);
glRotatef(angleY, 1, 0, 0);

可是第一句代码后其坐标系就变了!第二句得到的效果就不是我想要的了!有没有什么方法可以实现呢?

求呀!望先贤指点…………
...全文
85 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
ri_aje 2013-03-23
  • 打赏
  • 举报
回复
引用 4 楼 ri_aje 的回复:
引用 3 楼 joniy01 的回复:我有个小球只是在X轴和Y轴上位移,在每次运动的时候有滚动效果,在一个轴上的滚动效果都是可以的,但叠加后滚动的效果就不对了! 所以我想要的效果就是滚动的叠加,但第二次的转动不要受到第一次的影响! 试一下旋转之前先把小球移动至原点,施加旋转,然后在移回原位(x,y,z)。 glTranslate(-x,-y,-z); glRo……
好像搞反了,应该这样

glTranslate(x,y,z); 
glRotate ...
glTranslate(-x,-y,-z);
ri_aje 2013-03-23
  • 打赏
  • 举报
回复
引用 3 楼 joniy01 的回复:
我有个小球只是在X轴和Y轴上位移,在每次运动的时候有滚动效果,在一个轴上的滚动效果都是可以的,但叠加后滚动的效果就不对了! 所以我想要的效果就是滚动的叠加,但第二次的转动不要受到第一次的影响!
试一下旋转之前先把小球移动至原点,施加旋转,然后在移回原位(x,y,z)。 glTranslate(-x,-y,-z); glRotate ... glTranslate(x,y,z);
joniy 2013-03-23
  • 打赏
  • 举报
回复
我有个小球只是在X轴和Y轴上位移,在每次运动的时候有滚动效果,在一个轴上的滚动效果都是可以的,但叠加后滚动的效果就不对了! 所以我想要的效果就是滚动的叠加,但第二次的转动不要受到第一次的影响!
ri_aje 2013-03-22
  • 打赏
  • 举报
回复
你想要的效果是什么呢?
joniy 2013-03-22
  • 打赏
  • 举报
回复
唉,我自己顶下吧! 我只好用最笨的方法了:在第一次旋转后,计算x轴旋转-angleY的向量V,最后在V方向旋转angleY角度

64,683

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧