3D数学1-基础介绍向量

05/07/2020

3D数学

  • 数学和计算几何模拟3D世界
    • 图形学,游戏,仿真,机器人技术,VR/AR和动画等
  • 理解数学与几何之间的关系
  • 结合图形学,线性代数和编程之间的关系
    • 数学:公式
    • 几何:数学和几何的联系
    • 代码:为了实现

笛卡尔坐标系统

  • 如何在3D空间中精确度量位置、距离和角度,最广泛的度量体系笛卡尔坐标系统。

1D数学

  • 自然数的诞生
  • 进一步,自然数数轴出现
  • 现有整数,后有分数,再来负数等等

计算机图形学第一准则:近似原则如果它看上去是对的它就是对的?

2D数学

  • 初中学的2D笛卡尔坐标系,又叫x-y轴,有原点
    • 例子可以想象是东南西北四个方向的街道,和地图差不多
  • x-y轴互相垂直
  • 根据需求决定轴的方向
    • 通过旋转或翻转,轴的方向都可以等价转换,但是3D坐标系不成立。
  • 两个数可以定位一个点(x,y),坐标的每一个分量都表明了该点与原点之间的距离和方位。

3D

  • 有3个轴,互相垂直,有原点
  • 相当于3个2D笛卡尔空间

左右手坐标系

  • 如果z轴朝向纸的里面,在不改变x-y轴的情况下,让z轴朝向纸的外面,答案是不行,所以3D中坐标系不是相互等价的,意味着不能相互转换,所以有左右手不同的坐标系。
    • 如何同属于左手或者右手坐标系,可以通过旋转来相互转换
    • 左手坐标系,x轴朝右,右手坐标系,x轴朝左
    • 分别可以对3个轴进行旋转
    • 一共有48种选择,左右手各24种
    • 使用左手坐标系

多坐标系

世界坐标系

现实生活中的绝对坐标系,地球的经纬度

  • 游戏中的世界坐标系关于初始位置和环境
    • 每个物体的位置和方向
    • 摄像机的位置和方向
    • 世界中每一个点的地形是什么
    • 各物体从哪里来,到哪里去(NPC运动策略)

物体坐标系

物体坐标系是和特定物体相关联的坐标系

  • 每个物体都有他们独立的坐标系
  • 当物体移动或改变方向时,该物体相关联的坐标系将随之移动或改变方向
    • 比如说左右转相对于自身这个物体坐标系,但是东西转就是相对于世界坐标

摄像机坐标系

摄像机坐标系是和观察者密切相关的坐标系。它是处于3D空间中。

  • 摄像机本身是原点
  • x轴朝右
  • y轴超上
  • z轴朝向屏幕内

惯性坐标系

为了简化时间坐标系到物体坐标系的转换,所以出来了惯性坐标系。

  • 惯性坐标系原点和物体坐标系的原点重合,但惯性坐标系的轴平行于世界坐标系

好处

物体坐标系到惯性世界坐标系只需要旋转,惯性坐标系到世界坐标系只需要平移。分开考虑,分开计算,容易理解。

嵌套式坐标系

世界坐标系确定了一个点,再用相对位置确定其他部位,羊的头,羊的脚等等,并不需要通过绝对坐标来画羊的头或脚。假如不需要完全画出羊,只需要跟踪物体坐标系的原点就可以了,即世界坐标系中的一个点,可以节省资源,没有必要计算羊的其他部位的绝对位置,除非走到摄像机的视野中。

  • 父子坐标系:世界坐标系是父,物体坐标系是左。物体的移动和物体本身的抖动可以拆分,例如羊耳朵扇动,只是相对于羊自身的相对位置,不管世界坐标系。
    • 羊坐标系相对于世界坐标系运动,羊头坐标系相对于羊坐标系运动能够,羊耳朵相对月羊头坐标系运动,这样会很方便。
  • 继而树状的坐标系出来了

坐标系转换

物理坐标系转换到世界坐标系

坐标系的旋转或平移与物体本身是相反的。坐标系顺时针旋转45度,代表物体逆时针旋转45度。

向量

向量是数字列表,也可能是数组,是研究3D数学的工具

记法:行向量与列向量

用x,y,z代表3D向量的分量。[x,y,z],表示沿着x,y,z坐标方向的位移

几何理解

  • 向量的大小就是向量的长度(模)
  • 向量的方向描述了空间中向量的指向。**注意:**方向并不完全和方位相同
  • 向量只有大小和方向,没有位置
    • 例如向前走3步
    • 向北行径30km/m
  • 标量是没有方向的

向量与点

点有位置,但没有实际的大小,点描述位置,向量描述位移

向量与点的关系

从原点开始,按向量[x,y]所代表的位移移动,总会到(x,y)这个位置。所以思考位置时,想象一个点,思考位移时,想象一个向量和一个箭头。

向量运算

专门研究向量的分支称为线性代数。
线性代数与几何的意义大多数没有介绍,强调几何意义会感觉更加生动。
例如:向量乘以矩阵可以实现坐标空间转换。

零向量

表示唯一大小为0的向量,同时也是没有方向的。这就说明零向量没有位移。
如果每一个向量的模都相等,那么所有相等的向量可以构成一个圆。

负向量

几何解释:与原有向量大小相等,方向相反的向量
注意:向量在图中位置是无关紧要的,只有大小和方向才是最重要的。

向量大小(长度或模)

向量大小就是各分量平方和的平方根

  • 是标量,但不能是负数

几何解释:图中的勾股定理

标量与向量相乘或相除

每一向量分量乘以标量

  • 得到还是向量
  • 除法相当于变成分数相乘,不可以除零
  • 负向量可以认为是乘法的特殊情况,乘以-1
    几何解释:
    向量乘以标量k的效果是以因子k缩放向量的长度

标准化向量

单位向量的大小为1,所以我们只关心方向。被叫做标准化向量或者法线
几何解释:表示单位圆

向量加法和减法

  • 每个分量做加减法,所以向量的维度需要保持一致。

几何解释:

  • 相加:平移向量,三角形法则。
    [1, -3, 4] 拆分成 [1, 0, 0] + [0, -3, 0] + [0, 0, 4], 表示向右一个单位,向下一个单位,向前4个单位
  • 相减:一个点到另一个点的向量,或者从一个点移动到到另一个点
    • b - a 表示从a到b的向量,有方向
    • 距离公式,无关方向

向量点乘

两个向量之间相乘。

  • 得到一个标量

几何解释

  • 描述了两个向量的相似程度,点乘结果越大,两向量越接近,方向基本相同。
  • 点乘和向量之间的夹角有关
    • 点乘等于向量大小与向量夹角的cos值得积
    • 反过来,通过点乘可以计算两个向量夹角的度数
    • 点乘大于0,锐角
    • 点乘等于0,直角
    • 点乘小于0,钝角,不超过180度
    • 零向量与任何其他向量保持垂直,因为点乘结果永远为0

向量投影1

两个向量v和n,v可以拆分两个分量,分别平行于和垂直于n向量。

  • 平行分量与垂直分量向量相加等于向量v
  • 先求平行分量,再求垂直分量
  • 平行分量
    • 单位向量只关心方向,乘以k因子可以进行缩放。所以单位向量与标量相乘,等到了方向和大小。
  • 垂直分量:通过向量v减去平行分量得出来

向量叉乘

  • 叉乘优先于点乘
  • 叉乘结果为垂直于平面的第三向量,它有两个方向

几何解释:

  • 叉乘得到的向量垂直于原来的两个向量
  • 叉乘的长度等于向量的大小与向量夹角sin值得积

总结

  1. 向量与标量相乘,不同标量的k影响了向量长度或者反向的倒转
  2. 向量之间的加减法
    • 加法:起始向量多次位移,最后到最后目的地的长度和方向
    • 减法:两点之间的长度和方向
  3. 向量点乘:两向量夹角的度数或夹角类型(重叠,锐角,直角,钝角,平角)
  4. 向量投影:点乘计算投影,将向量分解为平行和垂直于其他向量的两个分量。
  5. 向量叉乘:求出垂直于平面的向量。两个向量可以组成一个平面。长度是两向量组成的平行四边形的面积。方向是由左右手坐标系与两向量组合决定的。

3D 数学基础:图形与游戏开发 第一章到第五章


  1. 3D 数学基础 5.10.3 ↩︎

猜你喜欢

转载自blog.csdn.net/weixin_44200074/article/details/105954663