位置: 编程技术 - 正文

解决三维建模软件中摄像机旋转的问题(你所知道的三维建模软件有哪些?)

编辑:rootadmin

推荐整理分享解决三维建模软件中摄像机旋转的问题(你所知道的三维建模软件有哪些?),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:3维建模软件介绍,解决三维建模软件的方法,三维软件建模,三维建模常用软件,解决三维建模软件的方法,解决三维建模软件问题,三维软件建模,三维软件建模,内容如对您有帮助,希望把文章链接给更多的朋友!

解决三维建模软件中摄像机旋转的问题

我们看到很多3D建模软件都可以很方便地对摄像机进行旋转,比如说Blender,通过按下鼠标中键,就可以很方便地对摄像机进行旋转。在学习了几年OpenGL之后,我也想要模仿这一点做出类&#;的功能。但是当研究的时候,遇到了一些困难。

蒋彩阳原创文章,首发地址: 此前了解到,这些建模软件对于三维建模中的摄像机的定义是:拥有位置(position)、观察点(look at)以及向上的向量(up),此外还有近裁面(z near)、远裁面(z far)、宽高比(aspect ratio)以及视野(field of view)。其中前三者构成了视图矩阵(view matrix),后四者构成了投影矩阵(projection matrix)。这里我说一下如何当摄像机绕着观察点旋转时视图矩阵是如何改变的。

1、 当鼠标按下时,我们必须记录当前摄像机的位置以及向上的向量,因为我们接下来旋转时要改变的就是这两个向量;

2、 在旋转时,我们需要计算position– lookat向量与Y轴形成的平面的法向量,这里我们称之为side向量,因为我们实际中旋转的一部分是在这个平面内进行的。

解决三维建模软件中摄像机旋转的问题(你所知道的三维建模软件有哪些?)

3、 计算旋转矩阵,首先如果鼠标往左右移动了,旋转矩阵沿着y轴正方向旋转-x角度;如果鼠标往上下移动了,旋转矩阵沿着side向量旋转-y角度。注意顺序很重要,如果两者颠倒顺序了,那么旋转出来的效果就不是我所见的三维建模软件那样的效果了;

4、 紧接着计算对position变换的矩阵:首先平移lookat向量,让lookat位于原点;接着乘以第三步计算的旋转矩阵,在后来执行反向操作,将lookat变回原来的位置。

5、 将第四步计算出来的变换矩阵左乘我们暂存的position,得到新的position,将第三步计算出来的旋转矩阵左乘我们暂存的up向量,得到新的up。这里说明的是,当我们将position从side和y轴形成的面旋转到另外一个新的position的时候,如果up向量不发生改变,模型的显示就会出现前后颠倒的现象。所以改变up向量的朝向也是非常有必要的。

6、 最后根据新计算出来的position和up,来计算视图矩阵。

下面的一段代码展示了这一个过程如何操作的:

OpenGL学习笔记:(二)简单绘制正方形(基本框架) #includeGL/glut.hspanstyle=white-space:pre/span//头文件,包含了gl.hglu.hconstintWINDOW_WIDTH=;constintWINDOW_HEIGHT=;voidreshape();voiddisplay();voidinit();voidinit(){glClearColor(0.0,0.0

关于OpenGL导入.obj文件的一点涉入 先说一下我的例子(下载):将需要导入的obj文件放在assets文件夹下面,在代码中设置相应的文件名称(这个都在代码中有标注,备注写的很明确),

OpenGL学习笔记:(三)异或操作-橡皮条程序 一、异或操作1.复制模式(GL_COPY)1.1.复制模式为Opengl默认的逻辑运算模式2.1.画线的时候,如果采用复制模式,则是用当前状态机中的颜色像素替换窗口

标签: 你所知道的三维建模软件有哪些?

本文链接地址:https://www.jiuchutong.com/biancheng/369622.html 转载请保留说明!

上一篇:Opengl学习笔记:(一).Ply文件文件格式和文件读取(opengl教程48讲)

下一篇:OpenGL学习笔记:(二)简单绘制正方形(基本框架)(opengl入门视频教程)

  • 持有至到期投资核算内容
  • 工程项目需要交5000万保证金合理吗
  • 预付账款退回怎么做凭证
  • 贷款受托支付可以给股东吗
  • 交通补贴税前扣除标准
  • 代收水电费的账务处理
  • 预付房租在资产负债表里为什么属于资产
  • 滞纳金为千分之二从何年开始实施
  • 打车发票丢了怎么办
  • 上缴财政收入怎么做账
  • 待评估资产价值
  • 向银行借款一年是长期还是短期
  • 年薪12万个人所得税交多少钱
  • 增值税普通发票需要交税吗
  • 小规模纳税人销售农产品税率是多少
  • 工业总产值计算方式计算公式
  • 汇算清缴前可以更改去年的账吗
  • 利息资本化的时点
  • 企业买房可以抵扣多少税
  • 购买活动赠品会计分录
  • 给外国教授发邮件最后一句
  • 建设项目投资中的预备费包括
  • 厂家质量问题商家有责任吗
  • 苹果系统怎么修改开机密码
  • win7防火墙设置不了
  • php -m
  • php获取农历日期
  • php怎么做网页
  • 一个完整的php文件由哪些元素组成
  • 建筑行业怎么做职业生涯规划
  • 预收账款调增应纳税所得额
  • 工商年检需准备什么资料
  • .msc是什么意思
  • 材料分配的四个步骤
  • 委托加工物资账务怎么做
  • 实收资本与注册资本之间的关系
  • 前端如何调用后端方法
  • php技巧
  • 谈谈cookie的弊端
  • 冰川湾国家公园的冰川不止有白色一种
  • html制作网页教程
  • 富文本编辑器使用
  • 消费积分如何做账
  • python每行输出五个且对齐
  • 补交之前年度税款怎么调账
  • 产权转移数据印花税计税依据含不含增值税
  • 小规模纳税人如何界定
  • 税控机清单
  • 织梦如何采集文章
  • 详解PostgreSQL 语法中关键字的添加
  • mysql基本sql语句大全(基础用语篇)
  • 织梦前台数据不能存入中文
  • 税控盘锁死日期是什么意思
  • Transactional replication(事务复制)详解之如何跳过一个事务
  • 出口免抵额需要加交付地方附加税吗
  • 自产货物用于抵偿债务
  • 小规模增值税纳税人税率
  • 企业什么情况
  • 土地增值税中开发间接费用工资包括哪些人
  • 钢管租赁怎么算的
  • 光伏发电计费问题
  • 财政非税收入支付平台
  • 公司人事怎么办公积金提取流程?
  • 挂靠被查出来后挂靠费怎么处理?
  • 进项税和销项税抵扣的会计分录
  • 投资性房地产公允价值变动借贷方向
  • 固定资产处置当月还要折旧吗
  • mysql 5.7启动
  • centos7设置ssh登录
  • wps2019视频
  • dvd rom drive bbs priorities
  • centos如何添加监听端口
  • win1020th2
  • win8磁盘占用率高怎么处理
  • win10预览版和正式版区别
  • 非递归快速排序python
  • bootstrap layer弹框
  • jQuery实现table中的tr上下移动并保持序号不变的实例代码
  • 个人能拒绝公司上市吗
  • 即征即退进项税额分摊方法
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设