位置: 编程技术 - 正文

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

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

  • 增值税申报表上的销售收入
  • 土地增值税与增值税
  • 契税通过应交税费
  • 偷税漏税是指什么税种
  • 劳动合同和劳务合同有什么区别 举例
  • 0税率开票如何做账
  • 自然人税收管理系统怎么申报个税
  • 金蝶专业版利润表本年累计公式
  • 个人所得税差额20%政策
  • 员工食堂报销的费用怎么做分录
  • 农产品销售发票可以抵扣吗?
  • 应付票据的处理
  • 以股抵债的会计分录
  • 退休返聘人员工资
  • 直接减免的增值税属于财政性资金吗
  • 餐馆的前期投资预算
  • 新公司成立前期人员配置
  • 计算客户的应收账款成本
  • 季报每个月需要反写吗
  • 建筑施工企业开立临时账户
  • 非居民企业从居民企业取得分红
  • 第一季度利润表本月数
  • 广告业的定额发票可以税前扣除么?
  • 开票系统维护费可以全额抵扣吗
  • 残疾人不用交医保社保
  • 无形资产摊销方法应当反映其经济利益
  • 设备定金计入哪个科目
  • 季度申报的小规模纳税人怎么查看销售额达到500万
  • 收到转账支票怎么填写凭证
  • 分摊商品进销差额怎么算
  • 如何彻底删除QQ频道私信
  • 金税盘纳税申报
  • 有限公司注册资金多少好
  • wind10记事本在哪
  • 微信小程序隐藏航班
  • 纳税人超过应缴纳税额缴纳的税款
  • 会计准则新规
  • nvidia-smi failed to initialize
  • 其他综合收益的构成项目如何
  • 去年的所得税计提多了怎么做分录
  • 驱动开发做得长久吗
  • 实施资本公积金的目的
  • 进项税额在贷方怎么办
  • 小规模购进原材料可以抵扣税金吗
  • 预付款什么时候开发票
  • 资产减值损失的科目编码
  • 个体工商户法人可以变更吗?
  • 同一控制下的控股合并中,投资方
  • 退货款现金流量如何做
  • 给投资人的利润属于什么科目
  • 约当产量法下的加权平均法怎么算
  • sqlserver数据库版本号怎么查
  • mysql5.7.29安装
  • win7系统摄像头打不开
  • 华硕主板如何刷系统
  • ubuntu20.04 vim
  • mac打开safari快捷键
  • win7旗舰版怎么改成专业版
  • windows疑难解答在哪里
  • win10电池图标不动
  • win10系统怎么修改字体大小
  • fragment懒加载原理
  • 解决出现的问题下一句,欢迎的语气
  • 奇门遁甲实例详解
  • dos命令显示时间
  • jquery$符号
  • 利用感情骗取钱财算诈骗吗
  • bat调用vbs脚本
  • mongoose教程
  • 智能图片制作
  • jquery操作checkbox火狐下第二次无法勾选的解决方法
  • 利用python中的scikit-learn对疫情数据挖掘
  • js清除文本框内的文字
  • python按行读取文本并输出到excel
  • 浙江省发票勾选认证操作流程2021
  • 新疆高龄补贴2024发放标准是多少
  • 中国税务报优秀文学作品年度评选
  • 服务行业工作总结不足
  • 上海税务举报邮箱号
  • 济南特色没事
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设