位置: 编程技术 - 正文

openGL 坐标系的互相转换(opengl坐标范围)

编辑:rootadmin

推荐整理分享openGL 坐标系的互相转换(opengl坐标范围),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:opengl三维坐标,opengles坐标系,opengl坐标系的绘制,opengl坐标转化为屏幕坐标,opengl坐标与窗口坐标,opengl坐标系统,opengl绘制坐标轴,opengl坐标系统,内容如对您有帮助,希望把文章链接给更多的朋友!

openGL坐标系包含旋转,平移,缩放被塞在一个矩阵里面。坐标系之间的转换基础是矩阵的运算。

每一个矩阵代表的坐标系,就是是原点坐标系通过旋转,平移,缩放得到的坐标系。

当一个矩阵右乘一个向量或是另一个矩阵,意味着把右边的变换,变成相对于左边的矩阵坐标系之上。

如果把一个世界坐标的X转换到一个矩阵上,我们可以矩阵右乘这个坐标:

如果把一个世界坐标Y转换到一个矩阵上,我们可以矩阵右乘这个坐标:

如果把一个世界坐标点转换到一个矩阵上,我们可以矩阵右乘这个点:

如果把一个世界坐标系转换到一个矩阵上,我们矩阵右乘这个矩阵:

这就是利用矩阵, 把一个世界坐标系的坐标,转换到局部坐标系的方法。

那么,如何把一个局部坐标系转换到世界坐标系呢?

这里需要得到局部坐标系对应矩阵的逆矩阵,这个矩阵包含了还原矩阵操作的变换。

然后,把逆矩阵当做左边的矩阵,去右乘局部坐标点, 我们就可以得到局部坐标变成世界坐标后的坐标。

是的有些矩阵是没有逆矩阵的,所以求逆矩阵的操作会失败。

世界坐标系的意义,就是坐标是相对于原点坐标系的。

局部坐标系的意义,就是坐标不是相对于原点坐标系,而是相对于某个具体的坐标系。

局部坐标系是可以通过上面的方法互相转换的。

openGL 坐标系的互相转换(opengl坐标范围)

那么如何在局部坐标系之间互相转换呢?

我们无法把一个局部坐标系的坐标,一次就变化成另一个局部坐标系上。

因为两个不同的局部坐标的坐标,都是相对于各自的坐标系,也就是参考系不同。

但,我们可以,把一个局部坐标系,转换到世界坐标系,以后再从世界坐标系转换到另一个局部坐标系上。

坐标系转换的意义是什么?

如果我们能够恰当的选取坐标系,在进行坐标计算的时候,会简化很多运算和思考的模型。

因为一个物体坐标的变化总是在父类坐标之内的,也就是相对于父类坐标系去变化。

这个父类坐标系,要么世界坐标系,要么就是某个具体的坐标系。

而我们这里讨论的坐标转换的模型是这样的。

一个坐标最终呈现在屏幕上,我们如果修改了坐标的父坐标系,通过坐标系的转化,而保持这个坐标最终呈现的位置不变。

打一个比方

如果一个坐标(0, 0)在世界坐标系上,最终呈现出来的就是在(0, 0)点处。

我们现在把这个坐标,放到一个在(5, 5)处的坐标系内。这样这个坐标所有的数&#;都像相对于(5, 5)这个坐标系的。

那么,(0, 0)最终呈现的就是在(5, 5)处了,而不再原来的位置。

我们通过把这个坐标(0, 0)转换到(5, 5)的坐标系里,会得到新的坐标(-5, -5)这是相对于新坐标系的数&#;。

最终(-5, -5) 会呈现在(0, 0)的位置。

事实上,在openGL绘制的时候,我们经常需要在各种不同的坐标系之间互相转换,可能是为了计算动画,可能是为了计算物理碰撞。

计算机图形学 计算机图形软件:计算机图形应用编程接口:OpenGL:OpenGL在Visualstudio下的配置:下载解压后glut.h-放到VisualStudio/VC/includeglut.lib和glut.lib-放到VisualStudio

OpenGL加载shader代码 c加载shader的代码:prename=codeclass=cpp#includestdio.h#includestdlib.h#includestring.h#includeglew.h#includestdafx.hstaticchar*shaderLoadSource(constchar*filePath){constsize_tblockSize=;FILE

OpenGL_砖块着色案例 效果图:顶点着色器:uniformvec3LightPosition;constfloatSpecularContribution=0.3;constfloatDiffuseContribution=1.0-SpecularContribution;varyingfloatLightIntensity;varyingvec2MCposition;voidma

标签: opengl坐标范围

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

上一篇:Android OpenGL ES(三)----编程框架

下一篇:计算机图形学(计算机图形学考研院校)

  • 专票当普票用,发票勾选怎么操作
  • 食品增值税专用发票可以退税吗?
  • 税收抵免与税收的区别
  • 税控系统技术维护费抵税怎么申报
  • 工业企业用电是收入的几倍
  • 分公司增值税如何缴纳增值税
  • 应交增值税明细科目如何结转
  • 营改增之后账务怎么处理
  • 帮对方公司垫付违法吗
  • 材料费用定额是什么意思
  • 专项应付款增加记哪方
  • 企业处理二手车增值税没交,有什么影响
  • 转让土地使用权交什么税
  • 公司出租商铺要交哪些税
  • 长租押金多少合适
  • 日常服务app
  • 先征后退房产税的会计处理?
  • 苹果手机搜不到airpods
  • 电脑看电影开全屏画面会迟钝是什么原因
  • 虚增成本调增还会被处罚吗
  • win10 usb恢复
  • phpcms手册
  • 在XP中,为什么"网络连接"图标消失?
  • 筹建期间费用计什么科目
  • 反映企业利润的指标有
  • springboot整合了哪些框架
  • win7系统任务计划在哪里
  • 新罕布什尔州的邮政编码
  • vue怎么让按键启用和禁用
  • 防伪税控服务费怎么交
  • 前端报405错误
  • 构造二叉排序树代码
  • 房租违约金怎么开发票
  • web搜索与挖掘
  • 未开票收入增值税申报
  • 小程序渲染是什么意思
  • fortify 安装
  • 发票勾选后什么时候开票
  • sql2017附加数据库
  • 怎样识别真假增值税发票
  • percona-toolkit之pt-kill 杀掉mysql查询或连接的方法
  • 零售行业的销售额由什么决定
  • 金税四期上线后对保险
  • 金税四期上线企业还活吗
  • 什么叫生活补助
  • 企业所得税季度平均值怎么算
  • 我国耕地占用税使用的税率为
  • 员工出差报销补贴政策
  • 增值税普通发票和电子普通发票的区别
  • 应交税金为负数应该填在资产负债表哪一栏
  • 补缴的增值税可以抵扣吗
  • 旅客运送的一般规定
  • 电子银行承兑汇票能拆票吗
  • 业务招待费可以计入销售费用吗
  • 税控盘开具发票怎么冲红?
  • 技术转让要交所得税吗
  • 普通日记账如何记账
  • 跨国企业在国外设立工厂的战略地位
  • Windows 8.1下MySQL5.7 忘记root 密码的解决方法
  • win7浏览器升级到ie11
  • 硬盘磁盘保护
  • .ccc是什么文件
  • windows快速预览
  • win8怎么打开管理员命令提示符
  • ghoststarttrayapp.exe是什么进程 有什么作用 ghoststarttrayapp进程查询
  • win8怎么打开word
  • honey contil
  • shell脚本实现文件移动、复制等操作
  • 基于jquery的框架有哪些
  • python 编程技巧
  • jquery移动节点的方法
  • PYTHON使用缩进来体现代码之间的逻辑关系
  • JQuery.validate在ie8下不支持的快速解决方法
  • ndk调用so
  • 深圳电子税务局怎么查以前申报表
  • 是否开具发票就要确认企业所得税收入?
  • 湖北税务登记办理流程和方法
  • 深圳电子税务局app
  • 北京税务热线电话
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设