Qt+openGL学习记录(4)`如何实现物体在三维坐标系中的旋转`

A 实现物体旋转的函数(物体旋转需要的条件,点绕轴,加角度)

glRotatef(angel,x,y,z);

下面的图显示了旋转的正方向


glRotatef(10,1.0,0,0);
上面的函数是使坐标系中的所有对象,以(1,0,0)矢量为轴,以上图方向 旋转10度,当然如果角度设置成-10度,那就是以上图的反方向,旋转10度了。

注意:上图满足右手法则:拿出右手,拇指指向轴向方向,四指我握旋所指方向,就是angel旋转的正方向

B 关于旋转,需要认识到的事件

1:认为 glRotatef(10,1.0,0,0);函数是在对物体进行旋转

2:一定要记住坐标系统和camera是没有旋转的,因为一旦坐标系和camera发生旋转,问题就大了。

思考:物体绕轴旋转 是可以脱离坐标系统的,旋转需要的条件是点绕轴旋转(需要有轴和旋转角度,同时规定旋转的正方向(使用右手法则确定旋转正方向))

C:旋转实验效果如下:

吃完饭,加一张使用定时器动态旋转的图吧

你在寻找一起学习Qt+openGL的小伙伴吗?

加群吧:QQ Group:159336168

阅读更多

没有更多推荐了,返回首页