位置: 编程技术 - 正文

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

编辑: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入门视频教程)

  • 印花税申报成功后在哪缴税
  • 付给非公司员工提成可以走委托代销商品吗
  • 领用包装物的会计分录
  • 有形资产净值是指
  • 会计档案交接怎么填写
  • 库存盘亏的原因
  • 分公司帮总公司付款怎么做分录
  • 抵扣上月留抵税额的分录
  • 房地产企业用电计入什么科目
  • 消费税价外费用的计算
  • 社保基数每个月可以调整一次吗
  • 销售方开票不填开户行
  • 外购已抵扣进项税额
  • 劳务派遣公司支付劳务费怎么做账
  • 红色手撕发票怎么看金额
  • 老板垫付款做会计分录
  • mac双系统怎么删除win系统
  • 投入的生产线应该怎么做
  • 银行年费通过什么渠道交
  • 没有取得发票的成本可以税前扣除吗
  • win10平板模式怎么打开
  • 进价金额核算法的账务处理特点
  • 扣除年度未扣除怎么计算
  • 农产品个体销售税率多少
  • 固定资产抵债债权人账务处理
  • 产品成本核算应正确划分哪些方面的费用界限
  • 深度学习之GPU显存与利用率 浅析小结
  • 动力和燃料的区别
  • vue通过url访问单个页面
  • mysql和php连接
  • webpack打包步骤
  • 智能优化算法主要内容
  • 公司账本凭证保存期限
  • 平行结转的约当约当怎么计算
  • 购买保健食品
  • 股权转让协议受让方应注意
  • 挂靠的公司替我们交的税款如何记账?
  • 差旅费报销相关政策
  • 开发支出与研发支出的区别
  • 含税含运费价格,运费谁出
  • 本年利润和利润分配有什么区别
  • 贸易公司委托加工费怎么入账
  • 其他业务成本借方表示什么
  • 工程项目需要交5000万保证金合理吗
  • 权益性投资收益按照什么确认收入的实现
  • 一台设备分期开票数量
  • 材料盘盈如何入账
  • 库存商品对外销售会计分录
  • 没有计提坏账准备的情况下,应收账款的计税基础
  • 汽车配件属于什么业务类型
  • 什么是补偿性余额,对银行借款的成本有何影响?
  • 已使用的存货,计价方式不允许修改
  • 商业汇票怎么算到期日
  • 债券分期付息到期还本的意思
  • 仓库管理人员工资属于什么费用
  • 带息票据与不带息票据
  • 工业企业低值易耗品二级科目
  • 数据库语言主要有哪几种
  • mysql5.7卸载重装
  • win7登录设置
  • XP系统怎么升级win10
  • mac怎么用浏览器
  • xp桌面底部任务栏不见了
  • 清除桌面应用软件
  • coocareservice.exe是病毒吗
  • win7点开始一直跳闪
  • win10电脑补丁 kb5000802
  • 铁嘴的故事
  • opengles版本过低怎么办
  • javascript中的函数
  • javascript教程推荐知乎
  • Unity3D Vuforia Android 相机调焦
  • vue用户权限解决方案
  • java栈怎么写
  • 代码行数不够了,怎么弄多行
  • 已抵扣过的进项怎么做账
  • 煤炭开什么发票
  • 三星电视投屏显示不支持当前文件
  • 土地增值税的房屋转让指出售 赠与
  • 税务登记证发证机关名称
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设