下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Directxll 3D空间坐标系认识在前一篇文章中我们知道了顶点着色器和像素着色器的用途,在例子中也知道了 如何在 3D 的坐标系中画一个 2D 的图像,即画一个三角形,这次我们需要知道如 何在3D坐标系中呈现一个3D的图像,并且了解一下在3D空间中几个坐标系的 认识。这些在游戏编程中都会使用到,因为每个3D物件都有自己的坐标系,至 于如何转换这些坐标系我想可能我们需要在下一节中进行另一番讨论。学习是无 止境的,贵在坚持,希望我也能够坚持我童年时的梦想,在不久的将来实现我的 游戏梦。3D 空间认识:在前面章节中,在屏幕上绘制的2D图像三角形是以屏幕对齐的,就像一个三角 形直接贴在屏幕上面,但
2、是那不是每一个都适用的。这样我们就需要一个3D空 间坐标系来进行描述和进行显示,在真实的世界里,每一个物品都存在于3D空 间中。这也就意味着,要想放置一个物品在一个特殊的位置,我们必须要使用一 个坐标系并且定义3个描述特定位置的坐标。在计算机绘图中,三维坐标系一般 使用的是笛卡儿坐标系,这个在数学中有见过吧。同时还分为左手坐标系或右手 坐标系,左手坐标系就是Y轴指向上方,X轴指向右方,而Z轴指向前方;和左 右坐标系相同的是右手坐标系Y和X轴指向相同,Z轴的方向正好相反,如下图 所示。下面我们来讨论一下在3D坐标系中,一个点在不同维数空间中不同的坐标。比 如在一维中,如下图所示, P 点在尺子
3、5 厘米的地方,当我们移动尺子时, P 点 的位置也就发生了变化,说不定在4厘米或3厘米的地方。虽然P点其实都没有 移动过,但是它却有了新的坐标,也就是参照物不同罢了。出发的轴线:X,Y,Z。在计算机绘图中,他们包含了好几个空间下的定义:基元 坐标系(Object Space)【模型几何坐标系】,世界坐标系(World Space), 观察坐标系(View Space),投影坐标系(Projection Space),以及屏幕坐标 系(Screen Space)o基元坐标系:这个坐标系也叫做几何模型坐标系,主要用于在使用 3D 建模时,所使用的坐标 系。通常在创建模型时,建模人员都会将模型围绕
4、原点进行建模,那样将有助于 坐标变换,比如让模型旋转起来,在我们将坐标变换时将会进行描述。如下图, 一个正方形正是定义在这样一个坐标系中,它的八个顶点将有如下坐标: (-1,1, -1),(1,1,-1),(-1,-1,-1),(1,-1,-1),(-1,1,1),(1,1,1),(-1,-1,1),(1,-1,1)因此模型几何坐标系是建模人员在设计和创建模型时定义的坐标系,在保持在磁 盘里的模型当然也是存在于一个模型几何坐坐标系中。应用程序可以通过这样一 个模型来建立一个顶点缓存对象,并且通过模型数据进行初始化这个缓存对象。 因此一个顶点缓存对象通常都会在模型中建立,这也就说明顶点着色器将从
5、几何 坐标系中获得顶点数据信息。世界坐标系:世界坐标系是将每一个模型(基元物品)共享在一个场景中的坐标系,它通常用 来描述我们期望呈现的各个模型之间的联系关系。为了虚拟一个世界空间坐标系,我们可以想象我们是站在西南的角落,并且面对着北方的一个房间里。我们把我们脚站在这个角落的地方定义为原点(0,0,0) ,x轴指向我们的右边,Y轴 指向上方, Z 轴指向前方【左手坐标系,这个也是 Direct3D 中使用的坐标系, 听说OpenGL使用右手坐标系,不过我不懂的OpenGL】,面对的方向不变。这样 确定下来后,房间里的所有东西物品都可以通过不同的坐标XYZ进行唯一定性。 由此可见,之所以要使用世
6、界坐标系,就是为了能够描述不同物品直接的联系。观察坐标系:观察坐标系,有时候我们也叫做摄影坐标系,这个有点像世界坐标系那样,只不 过世界坐标系是用来描述整个场景,而观察坐标系的原点是在观察者的眼睛或摄 像机。观察坐标系的Z轴就是眼睛看到的前方,Y轴就是相对于眼睛的上方,X 轴位于右方,在下图就可以看到世界坐标系和观察坐标系。在左边的场景中,在世界坐标系中有一个人,就像一个物件一样,并且有一个摄 像机在观察他,红色原点和轴线表示世界坐标系。在右边的图片中,表示了观察 坐标系和世界坐标系的关系,蓝色轴线表示观察坐标系。为了更清楚的理解他们, 可以看出观察坐标系的方向和世界坐标系的方向是不同的,在世
7、界坐标系中观察 的方向是红色Z轴,而观察坐标系中方向是蓝色Z轴。投影坐标系:投影坐标系是通过观察坐标系转换而来,其实可以想象一下,就和我们拿着摄 像机去拍照一样。在投影坐标系中,可见物件的X和Y坐标被描述在-1和1之 间,而 Z 坐标被描述在 0 和 1 之间,在坐标转换时会详细讲解这里就不再多说了。屏幕坐标系:屏幕坐标系一般用来引用一个框架缓存(Frame Buffer)定位坐标列表,因为框 架缓存通常是一个2D的纹理,因此屏幕坐标是一个2D坐标系。其实就是我们的 显示器,左上角顶点定义为原点(0,0), X轴为横向,Y轴为纵向。在缓存中倍 描述为w像素的宽度和h像素的高度,最小也就是最右下角的像素的坐标为(w-1, h-1)。这样我们也就认识了 Direct3D中几个重要的空间坐标系,也许我的描
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 精.品解析:2024年七年级地理下册地理期终素质测试题(原卷版)
- 大学生心理健康课程标准
- 播音与节目主持专业技能教学标准
- 农业废弃物资源化利用的循环经济模式优化研究意义
- 版权登记服务指南
- 家庭社会经济地位对儿童认知发展影响结题报告
- 针灸推拿综合试题及答案
- 语音识别全栈国产化技术实践白皮书
- 2026年河北省沧州市任丘八中中考英语模拟试卷(含详细答案解析)
- 2026年吉林市中考化学二模试卷(含答案)
- 2025北京海淀区高二(下)期末数学试题及答案
- 2025年南通纳米碳酸钙项目可行性研究报告
- 老年黄斑变性进展护理
- SF-36健康调查量表(含excel版)
- 湖南学考高一试卷及答案
- 超星尔雅学习通《高校实验室安全基础课(实验室准入教育)》章节测试含答案
- 《民间文学》课程教学大纲
- 老年人睡眠改善策略-洞察及研究
- 医学检验试题及答案
- 2024-2025学年初中数学专项练习:费马点与加权费马点详细总结(含解析)
- OTA运营培训课件
评论
0/150
提交评论