3D数学 学习笔记(1)向量、坐标系

发表于2018-01-03
评论0 1.8k浏览
游戏中不乏会需要使用数学知识,这个系列给大家详细介绍了在Unity3D游戏开发中会运用的的一些数学知识。下面开始第一篇的介绍,让大家学习了解向量与坐标系。

左/右手坐标系

Unity中坐标系选择


左/右手法则

常用于判断法向量、网格的正面等。 

  • CW (clockwise),顺时针。
  • CCW (counterclockwise),逆时针。

只有位置。没有大小和方向。


向量

只有方向大小。没有位置,如位移、速度。

将向量表示为位移序列

  • AABB (axially aligned bounding box),轴对齐包围盒,及上图向量作为其体对角线。

向量点乘

a·b = |a||b|cosθ

  1. 通过结果大小判断两个向量方向。如碰撞检测、背面剔除等。 

  2. 计算向量的投影。如图形投影到相机屏幕。 
     

计算公式: 

但一般投影会使用投影到平面的单位向量,及a的模为1。 

向量叉乘

  1. 计算两个向量所在面的法向量。(判断方向必须让a的头和b的尾相接,且用左手法则。) 

  2. 计算平行四边形(三角形)面积。 

上图是计算平行四边型的方法。同理可计算ab两向量加上两个头部连接的边形成的三角形面积,及平行四边形的一半。

点乘和叉乘混合运算

a·b×c = a·(b×c) 
因为点乘返回标量,标量不能与向量叉乘,所以(a·b)×c没有定义。 
(a×b)·c= a·(b×c)

常用向量公式表

3D数学 学习笔记系列教程:



如社区发表内容存在侵权行为,您可以点击这里查看侵权投诉指引