Flash3D学习计划(二)——理解世界,取景,投影变换,并理解投影坐标系
2013-06-26 11:19
288 查看
各种坐标系都是有用的,因为某些信息只能在特定场景中才有意义。
一、 世界坐标系
世界坐标系是一个特殊的坐标系,它建立了描述其他坐标系所需要的参考框架。这就意味着,能够用世界坐标系描述其他坐标系的位置,而不能用更大的、外部的坐标系来描述世界坐标系。
世界坐标系也被广泛的称作为全局坐标系或者宇宙坐标系。
二、 物体坐标系
物体坐标系是和特定的物体相关联的坐标系。每个物体都有它们独立的坐标系。当物体移动或者改变方向的时候,和该物体相关联的坐标系将会随之移动或改变方向。
在某些情况下,物体坐标系也被称作模型坐标系。因为模型顶点的坐标都是在模型坐标系中描述的。有时候它也称作身体坐标系。物体坐标系也是一种局部坐标系。
三、 摄像机坐标系
摄像机坐标系是和观察者密切相关的坐标系。摄像机坐标系和屏幕坐标系相似,差别在于摄像机坐标系处于3D空间中而屏幕坐标系在2D平面里。摄像机坐标系也是一种特殊的物体坐标系。
摄像机朝向的约定(对于初学者很重要):左手坐标系中,常约定摄像机朝向+z,而+x和+y指向右和上方向(透视投影情况下)。这是非常直观的,如图15.5所示。右手坐标则指定-z为摄像机朝向。
摄像机坐标系(eye space:所谓eye space,即以camera(视点或相机)为原点,由视线方向、视角和远近平面,共同组成一个梯形体的三维空间,称之为viewing frustum(视锥),如下图所示,近平面,是梯形体较小的矩形面,作为投影平面,远平面是梯形体较大的矩形,在这个梯形体中的所有顶点数据是可见的,而超出这个梯形体之外的场景数据,会被视点去除(Frustum Culling,也称之为视锥裁剪)。(摘自GPU Programming and Cg language Primer)
计算ModelViewMatrix(模型坐标转换为眼坐标空间)
在GPU管线(pipeline)中, ModelMatrix将模型坐标空间的坐标转换为世界坐标空间,再通过ViewMatrix 转换为眼坐标空间。转换公式为:ModelViewMatrix = ViewMatrix * ModelMatrix
四、 惯性坐标系
惯性坐标系的原点和物体坐标系的原点重合,但惯性坐标系的轴平行于世界坐标系的轴。
惯性坐标系是用于简化从物体坐标系到世界坐标系这一转换过程的中间坐标系。因为从物体坐标系转换到惯性坐标系只需旋转,从惯性坐标系转换到世界坐标系只需要平移。
一、 世界坐标系
世界坐标系是一个特殊的坐标系,它建立了描述其他坐标系所需要的参考框架。这就意味着,能够用世界坐标系描述其他坐标系的位置,而不能用更大的、外部的坐标系来描述世界坐标系。
世界坐标系也被广泛的称作为全局坐标系或者宇宙坐标系。
二、 物体坐标系
物体坐标系是和特定的物体相关联的坐标系。每个物体都有它们独立的坐标系。当物体移动或者改变方向的时候,和该物体相关联的坐标系将会随之移动或改变方向。
在某些情况下,物体坐标系也被称作模型坐标系。因为模型顶点的坐标都是在模型坐标系中描述的。有时候它也称作身体坐标系。物体坐标系也是一种局部坐标系。
三、 摄像机坐标系
摄像机坐标系是和观察者密切相关的坐标系。摄像机坐标系和屏幕坐标系相似,差别在于摄像机坐标系处于3D空间中而屏幕坐标系在2D平面里。摄像机坐标系也是一种特殊的物体坐标系。
摄像机朝向的约定(对于初学者很重要):左手坐标系中,常约定摄像机朝向+z,而+x和+y指向右和上方向(透视投影情况下)。这是非常直观的,如图15.5所示。右手坐标则指定-z为摄像机朝向。
摄像机坐标系(eye space:所谓eye space,即以camera(视点或相机)为原点,由视线方向、视角和远近平面,共同组成一个梯形体的三维空间,称之为viewing frustum(视锥),如下图所示,近平面,是梯形体较小的矩形面,作为投影平面,远平面是梯形体较大的矩形,在这个梯形体中的所有顶点数据是可见的,而超出这个梯形体之外的场景数据,会被视点去除(Frustum Culling,也称之为视锥裁剪)。(摘自GPU Programming and Cg language Primer)
计算ModelViewMatrix(模型坐标转换为眼坐标空间)
在GPU管线(pipeline)中, ModelMatrix将模型坐标空间的坐标转换为世界坐标空间,再通过ViewMatrix 转换为眼坐标空间。转换公式为:ModelViewMatrix = ViewMatrix * ModelMatrix
四、 惯性坐标系
惯性坐标系的原点和物体坐标系的原点重合,但惯性坐标系的轴平行于世界坐标系的轴。
惯性坐标系是用于简化从物体坐标系到世界坐标系这一转换过程的中间坐标系。因为从物体坐标系转换到惯性坐标系只需旋转,从惯性坐标系转换到世界坐标系只需要平移。
相关文章推荐
- Flash3D学习计划(三)——学习VB,IB相关,理解三角形顶点顺序;在屏幕上显示2D矩形,并实现缩放,平移,旋转
- Flash3D学习计划(四)——学习纹理相关知识,载入一张纹理,并应用于前面的矩形;并学习多层纹理映射相关知识,尝试dark map, glow map
- 地理坐标系与投影坐标系的区别----供大家学习
- OpenCV学习——图像坐标系,相机坐标系和世界坐标系
- 计算机图形学 学习笔记(八):三维图形变换:三维几何变换,投影变换(平行/ 透视 投影)
- OpenCV学习记录(十四)—相机坐标系到世界坐标系的变换
- <<深入理解mariadb和mysql>>之mysql执行计划分析学习记录
- Unity插件之NGUI学习(8)—— Table和NGUI尺寸转换为世界坐标系尺寸
- Away3D学习笔记2--3D世界的坐标系
- Cocos2d-x学习笔记之世界坐标系、本地坐标系、opengl坐标系、屏幕坐标系
- Unity插件之NGUI学习(8)—— Table和NGUI尺寸转换为世界坐标系尺寸
- Cocos2d-x学习笔记之世界坐标系、本地坐标系、opengl坐标系、屏幕坐标系
- 项目经理案头手册学习系列【4】——计划:制定项目使命、前景、目标和目的
- 项目经理案头手册学习系列【7】——项目进度计划编制
- 对Android opengl ES世界坐标系和纹理坐标系的理解
- 常用坐标系和投影分析,GIS的核心基础-地球坐标系与投影方式的理解(关于北京54,西安80,WGS84;高斯,兰勃特,墨卡托投影)
- DirectX 3D_基础之模型表示 顶点格式 三角形 索引 虚拟摄像机 投影窗口 绘制流水线 局部坐标系 观察坐标系 世界坐标系 背面消隐 光照 裁剪 投影 视口变换 光栅化
- 关于坐标系(大地坐标、平面坐标、投影、北京54、西安80、WGS84)的一些理解
- Kienct与Arduino学习笔记(2) 深度图像和真实世界坐标系中的深度图
- 项目经理案头手册学习系列【6】——制定实施计划