读书频道 > 网站 > 网页设计 > OpenGL ES应用开发实践指南:iOS卷
1.4.1 坐标系
13-07-02    奋斗的小年轻
收藏    我要投稿   
这是一本系统的具备实战性的OpenGL ES 3D图形开发指南。由资深iOS开发专家根据OpenGL ES最新版本撰写,不仅详细讲解了OpenGL ES与GLKit的结合使用,而且还系统讲解OpenGL ES的核心概念、技术,以及iOS的图形...立即去当当网订购

图1-6展示的是OpenGL的坐标系。坐标系是用于帮助显示空间中的位置之间的关系的参考线的集合。图1-6中的每一个箭头叫做一个轴。OpenGL ES总是开始于一个矩形的笛卡儿坐标系,这意味着任何两个轴之间的角度都是90度。空间中的每一个位置被称为一个顶点,每个顶点通过其在X、Y、Z轴上的位置被定义。


 

图1-7显示了相对于坐标轴的在 {1.5,3.0,0.0} 位置的顶点。这个顶点是通过X轴1.5的位置,Y轴3.0的位置,Z轴0的位置来定义的。图1-7中的虚线显示了顶点是怎么与坐标轴对齐的。

沿着每个轴的位置被称为坐标,确定一个用于3D图形的顶点需要3个坐标。图1-8展示了更多的顶点以及它们在OpenGL坐标系中的相对位置。虚线显示了顶点是怎么与坐标轴对齐的。


 

OpenGL ES坐标是以浮点数来存储的。现代GPU对浮点运算做了专门的优化,即使是使用其他数据类型的顶点也会被转换成浮点值。

使用和理解坐标系的关键点之一是记住它仅仅是一个假想的数学工具。第5章会介绍修改坐标系后的巨大影响。从纯数学意义上讲,可以有很多种非笛卡儿坐标系。例如,极坐标系是通过假想的落在一个使用两个角和一个半径的球的表面上的点来确定3D空间中的位置的。现在不用担心非笛卡儿坐标系的数学运算。硬件中的嵌入式GPU对于大部分非笛卡儿坐标系都是不支持的,并且本书中没有例子会使用非笛卡儿坐标系。如果你需要在工程中使用,以任何坐标系表达的位置都可以在需要的时候转换成OpenGL ES支持的默认坐标系。

OpenGL ES坐标系没有单位。点{1,0,0}和点{2,0,0}之间的距离是沿着X轴的1单位,但是问下自己,“1什么?是1英寸、1毫米、1英里,还是1光年?”答案是“这无关紧要”,确切地说这取决于你。你可以自由地假设距离1代表厘米还是你的3D场景中的其他单位。

注意 对于3D图形来说不定义单位可能非常方便,但是这也出现了一个挑战,就是在你想要打印你的3D场景的时候。苹果公司的iOS系统支持用于2维绘图兼容PDF的Quartz 2D,并且按照现实世界的尺寸定义了单位。现实世界的尺寸允许你在绘制几何对象的同时知道将要绘制到与打印分辨率无关的页面上的对象的大小。与此相反,与分辨率无关的定义或者渲染OpenGL几何图形的方式是不存在的。

点击复制链接 与好友分享!回本站首页
分享到: 更多
您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:1.3 功能
下一篇:1.5 小结
相关文章
图文推荐
JavaScript网页动画设
1.9 响应式
1.8 登陆页式
1.7 主题式
排行
热门
文章
下载
读书

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训
版权所有: 红黑联盟--致力于做最好的IT技术学习网站