3D数学 学习笔记(1)向量、坐标系
发表于2018-01-03
游戏中不乏会需要使用数学知识,这个系列给大家详细介绍了在Unity3D游戏开发中会运用的的一些数学知识。下面开始第一篇的介绍,让大家学习了解向量与坐标系。
左/右手坐标系
Unity中坐标系选择
左/右手法则
常用于判断法向量、网格的正面等。
- CW (clockwise),顺时针。
- CCW (counterclockwise),逆时针。
点
只有位置。没有大小和方向。
向量
只有方向和大小。没有位置,如位移、速度。
将向量表示为位移序列
- AABB (axially aligned bounding box),轴对齐包围盒,及上图向量作为其体对角线。
向量点乘
a·b = |a||b|cosθ
通过结果大小判断两个向量方向。如碰撞检测、背面剔除等。
计算向量的投影。如图形投影到相机屏幕。
计算公式:
但一般投影会使用投影到平面的单位向量,及a的模为1。
向量叉乘
计算两个向量所在面的法向量。(判断方向必须让a的头和b的尾相接,且用左手法则。)
计算平行四边形(三角形)面积。
上图是计算平行四边型的方法。同理可计算ab两向量加上两个头部连接的边形成的三角形面积,及平行四边形的一半。
点乘和叉乘混合运算
a·b×c = a·(b×c)
因为点乘返回标量,标量不能与向量叉乘,所以(a·b)×c没有定义。 (a×b)·c= a·(b×c)
常用向量公式表
3D数学 学习笔记系列教程: