三維數學跟數據結構與算法一樣地重要,同樣都是程式設計師必備知識,也是高頻面試類型。掌握好三維數學,再處理一些圖形,或者空間信息的時候,可以得心應手。下面是三維數學必備的幾個知識點,程序猿們好好地去掌握吧,
下面用unity開發引擎來作為演示,unity是左手坐標系的:

三維向量
有三個點需要了解清楚,分別是向量、標量以及向量的歸一化。
向量是指具有方向以及大小的量;標量是只具有大小,無方向的量;向量的歸一化就相當於把向量的大小變為一,而方向不變,往往用來代表方向在unity中,求向量的長度直接使用Vector3.magnitude即可。
向量的相減相加:等於各個分量的相減
幾何意義:向量a和向量b相減,結果可以理解為以b的終點為始點,以a的終點為終點的向量,方向由b指向a。
向量的相加等於各個分量的相加
幾何意義:向量a與向量b相加,平移使b的始點與a的始點重合,結果為以a的始點為始點,以b的終點為終點的向量

三角函數
公式:
正弦:sin<a = a/c 在unity中,利用Mathf.Sin可求
餘弦: cos<a = b/c 在unity中,利用Mathf.Cos可求
正切:tan<a = a/b 在unity中,利用Mathf.Tan可求
點乘和叉乘
點乘的幾何意義:兩個向量的單位向量相乘後再乘以二者夾角的餘弦值
點乘的應用:計算兩向量的夾角,計算公式: a*b = |a|*|b|*cos<a,b>
一般來說,點乘結構描述了兩個向量的「相似」程度,點乘結果越大,兩向量越相近
叉乘的幾何意義:結果為兩個向量所組成面的垂直向量,模長為兩向量模長乘積再乘夾角的正弦值
應用:創建垂直於平面的向量;判斷兩條向量的相對位置
總結
關於三維數學的基礎,除了以上提到的知識點,還有歐拉角,四元數,歐拉角萬向鎖,矩陣等相關知識,想要提高的程序猿們,有空補補相關知識吧,可以很好地提升自己的邏輯思維以及編程能力