一、笛卡尔坐标系统
3D数学讲解如何在3D空间中精确度量位置、距离、角度。其中使用最广泛的度量体系是笛卡尔坐标系。笛卡尔数学由的法国数学家勒奈笛卡尔发明,他创立了解析几何,将代数学和几何学联系到一起。
1、2D笛卡尔坐标系
- 一个原点
- 每个2D笛卡尔坐标系内有一个特殊的点,称作原点,是坐标系的中心,坐标为(0,0)
- 两条正交轴
- 每个2D笛卡尔坐标系都有两条过原点的直线向两边无限延伸,称做“轴”(axis)。
- 坐标轴的定义不固定,根据需求选择
- 一般:水平轴称x轴,向右为正方向,垂直轴称y轴,向上为正方向
- 屏幕坐标系:向右、向下为正方向。
- 轴方向的不同,共有8种类型。
2、3D笛卡尔坐标系
相比于2D,多了一条垂直于其他两轴的第三个轴,一般称为z轴 。
左手/右手坐标系
根据轴方向的不同,可以有很多种坐标系,有些坐标系之间,通过旋转可以互相转换,根据这个同个特性,可以把坐标系分成两类,左手坐标系和右手坐标系。
同属于左手或者右手坐标系的两个坐标系可以通过互相旋转得到。
左手和右手坐标系之间也可以转换,方法是翻转其中一个轴的方向(相当于要掰断手指!),注意翻转两个轴等于没翻。
二、世界坐标系
任意一个3D坐标系都是可以无限延伸,包含空间中的所有点。但是我们不能只用一个3D坐标系(世界),因为某些信息只能在特定的上下文环境中获得,这些坐标系没有最好的,只有特定场景下最合适的。
比如北京市民用北京地图,上海市民用上海地图,要环中国旅行的人要用中国地图,这时需要把北京、上海地图的坐标都转换到中国地图中。
世界坐标系是最大的坐标系,也叫作全局坐标系、宇宙坐标系。建立了描述其他坐标系所需要的参考框架。可以用世界坐标描述其他坐标系的位置,但是不能用更大的、外部的坐标系来描述世界坐标系。
这个“世界”不一定必须是我们的这个世界,它只需是我们所需要关注的“最大范围”,比如显示整个北京的全貌,北京就是“世界”,不需要关心北京在哪里,北京以外的地方。
绝对坐标:世界坐标系中的坐标。
三、物体坐标系
也叫模型坐标系、身体坐标系。
物体坐标系与物体关联,每个物体有独立坐标系,物体移动、改变反向,物体坐标系也跟着改。对物体发出的移动指令其实就是对物体坐标系发出的指令。
“向前走”,“向左转”这些都是在人身的物体坐标系说的。不需要关系人现在朝向东南西北哪边。
四、摄像机坐标系
和观察者密切相关的坐标系。
和屏幕坐标系相似,摄像机是3D的,屏幕是2D的。
坐标原点:摄像机所在位置。
x轴向右:摄像机的右边。
y轴向上:摄像机的上方。
z轴朝向屏幕或者朝向摄像机。
在摄像机坐标系中,最常见的问题,就是物体的可见性问题(物体是否在平截头体内,物体间的遮挡)。
五、惯性坐标系
世界坐标系和物体坐标系之间转换的“半途中”,方便它们之间的转换。
坐标原点:和物体坐标系原点重合。
坐标轴:与世界坐标系坐标轴平行。
为什么能简化转换?**
在3D中,线性变换和平移是两种处理方式完全不同的变换:
- 线性变换:
- 平移变换:
把它们分开考虑会很方便,比如从物体坐标系变换到世界坐标系:
比如一头羊往东行走,羊头前后晃动,羊耳朵上下扇动,要在世界坐标系中实时更新羊耳朵的坐标。
在羊头这个物体坐标系中,羊耳朵的运动很简单,就是沿y轴上下运动。
在世界坐标系中,那羊耳朵的运动轨迹就比较复杂了。
解决办法如下:
七、坐标系转换
也即坐标变换,如何把一个坐标系中的点转换到另一个坐标系中。
基本思想:见惯性坐标系。
这就是矩阵实现坐标变换,在矩阵知识中将详细介绍。