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

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Qt、Assimp和OpenGL是三种常用的工具,在三维模型设计发挥着重要的作用。Qt是一个跨平台的C++应用程序开发框架,它为用户提供了GUI和其他一些基本的用户界面组件。Assimp是一个允许用户读取和写入多种3D文件格式的库,包括OBJ、FBX、DAE等。OpenGL是一种用于创建高性能的计算机图形的API。因此,将这三种工具结合使用,可以方便地进行三维模型的开发。 在使用Qt、Assimp和OpenGL进行三维模型开发时,Qt主要负责提供GUI界面和基本的用户界面组件。Assimp则用于读取和写入不同格式的三维模型,然后通过OpenGL进行渲染展示。OpenGL作为一个底层API,提供了强大的图形处理能力,允许用户在计算机上创建复杂的3D场景和动画。 具体地说,使用这三种工具进行三维模型开发的步骤通常如下:首先用Assimp读入各种格式的三维模型文件,然后通过OpenGL进行渲染显示Qt可以用于创建一个GUI界面,方便用户进行模型读取、渲染、缩放、旋转、材质设定等基本的操作。同时,用户可以通过Qt的事件机制来和OpenGL进行交互:比如通过鼠标事件、键盘事件等,实现三维模型的选择、移动等控制。在此基础上,用户还可以通过OpenGL的扩展和着色器功能等,使三维模型的渲染更加复杂和高效。 总之,Qt、Assimp和OpenGL是三种常用的工具,它们的结合使用可以让用户方便地进行三维模型的设计和开发。在实际应用,用户可以根据实际需求选择不同的工具和技术,实现更加复杂和高效的三维模型。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值