3D 向量的示例
向量用於儲存變數的多個分量,通常是空間維度的軸。因此,它們通常用於 2D 或 3D。
實際上,有兩種方法可以表示向量
- 2D
- 這可以定義為“旋轉和大小”或“x 方向上的位移和 y 方向上的位移”。
- 3D
- 這可以定義為“xz 方向上的旋轉、y 方向上的旋轉和大小”或“x 方向上的位移、y 方向上的位移和 z 方向上的位移”。
通常,在遊戲中,我們使用維度上的位移版本,而不是大小和旋轉。
向量可以有多種形式
i、j、k 形式 - 其中
i 表示
x 軸 上的
1 個單位,
j 表示
y 軸 上的
1 個單位,如果是在 3D 中,
k 表示
z 軸 上的
1 個單位在 2D 中,它看起來像這樣:
,其中 3 表示 正 x 軸 上的 3 個單位,4 表示 正 y 軸 上的 4 個單位。
在 3D 中,它看起來像這樣:
,其中 6 表示 正 x 軸 上的 6 個單位,-3 表示 負 y 軸 上的 3 個單位,5 表示 正 z 軸 上的 5 個單位。
列向量 - 這是最常見的向量形式。
在 2D 中,它看起來像這樣:
,其中 3 表示 正 x 軸 上的 3 個單位,4 表示 正 y 軸 上的 4 個單位。
在 3D 中,它看起來像這樣:
,其中 6 表示 正 x 軸 上的 6 個單位,-3 表示 負 y 軸 上的 3 個單位,5 表示 正 z 軸 上的 5 個單位。
行向量 - 這是最不常見的向量形式。
在 2D 中,它看起來像這樣:
,其中 3 表示 正 x 軸 上的 3 個單位,4 表示 正 y 軸 上的 4 個單位。
在 3D 中,它看起來像這樣:
,其中 6 表示 正 x 軸 上的 6 個單位,-3 表示 負 y 軸 上的 3 個單位,5 表示 正 z 軸 上的 5 個單位。
在寫向量時,你可以用這種方式表示它
或只是 
從一個位置到另一個位置(從 A 到 B)時,可以這樣寫
加向量就像加同類項一樣簡單。
- 加法

- 減法

注意:將常數加減到向量中是未定義的。
當一個常數乘以/除以一個向量時,你只需將該乘以/除以操作應用於向量的所有分量。
- 乘法

- 除法

當一個向量乘以另一個向量時,有兩種定義的向量乘法方式:向量點積 和 向量叉積。
二維中的單位向量基於此,這意味著x和y不能同時為1,否則它將不會形成一個圓,而是形成一個正方形,並且大小將大於1(一個單位)。
當大小不重要,只有方向重要時,使用單位向量。在二維中,它基於單位圓,在三維中,它基於單位球;x、y和z的值介於-1和1之間。
它的表示法是:
要將向量轉換為單位長度向量,請使用以下公式:
,這被稱為歸一化向量。
零向量(有時稱為零向量)是一個所有內容都是 0 的向量。如果零向量用
表示;
... 並且它在 2D 中,它看起來像:
... 並且它在 3D 中,它看起來像:
... 並且它在
D 中,它看起來像:
零位置向量的示例是原點;這是因為它有一個原點
或
。
另一個示例是,如果您想停止物體移動,您可以將 速度 設定為零向量。
由於向量由許多部分組成,因此用於每個維度的數字表示每個方向的距離。為了找到對角線穿過維度的點到點的距離,您需要找到向量的模。
二維向量的模由(根據勾股定理)給出
三維向量的模由給出
位置向量是一個被視為座標的向量,因此它是一個從原點到點的向量。字母O 通常用於表示原點。
位置向量可以寫成
等同於說有一個點
,其座標為:

|
練習:找出這些位置向量之間的向量
答案
|
點積有兩個公式
其中
是兩個向量之間的夾角。
從這些公式,我們可以得到另一個計算它們之間夾角的公式
如果
,則這意味著這兩個向量是垂直的。
要注意的是
。
- 參見:w:Dot_product#Scalar_projection_and_first_properties
標量投影
標量投影(或標量分量)是求一個向量(**A**)在另一個向量(**B**)上的投影的長度。

其中θ是**A**和**B**之間的夾角[1]。
這個投影的向量(**A** 投影到 **B** 上)也可以用下面的公式求出[1]

一個基本的向量方程由一個向量和另一個向量的變數係數組成。獨立的向量被稱為位置向量,而帶有變數係數的向量被稱為方向向量。位置向量表示向量在3D空間中的位置,而方向向量表示向量指向的方向。位置向量的向量可以是直線上任何點的的位矢。
一個典型的方程可能看起來像這樣:
或者 
當直線的方向向量是彼此的標量倍數時,這些直線是平行的。
示例
直線 1:
直線 2: 
它們是平行的,因為
.
所以,如果該點的位置向量是
,而直線方程是
,並且你想看看 **P** 是否位於 **直線** 上,那麼你需要執行以下操作
將 **點** 等於 **方程**

從此你可以從每行建立 3 個獨立的方程



然後解出每個方程以找到 **t**
→ 
→ 
→ 
只有當所有 3 個 **t** 的值都相同時,**點** 才在 **直線** 上,因為其中一個 **t** 值與另外兩個不同,所以 **點** 不在 **直線** 上。
因此,在這個例子中,你需要兩條直線,直線 1:
和直線 2:
然後你需要將這兩個方程設為相等。

然後減去一組常數以將常數保留在一側。

由此,你可以從每一行建立一個方程



在找到 t 和 u 的值時,你只需要使用兩個方程,這樣你就可以檢查第三個方程是否匹配(在 2D 中不需要此檢查步驟)。我將使用方程 1 和方程 2: *使用任何你想要的聯立方程求解方法*
→
*將此方程的兩邊都乘以 2*

*得到方程 1,並從中減去方程 2*
求解得到u
將u代回方程1
求解得到t
現在讓我們檢查一下它是否適用於最終方程式,將u和t的值代入你沒有用過的方程式。



如果你得到一個等式表示式(一個常數等於它自身),這意味著它們相交,否則它們不相交。這被稱為斜交。
假設有一個向量方程
,並且有一個點P,其位置向量為:
。我們想要找到直線上距離P最近的點的座標以及該點和P之間的距離。
我們將直線上的這個點稱為X。
首先,我們需要使用我們的點積規則,因為從P到X的直線將垂直於直線本身。為此,我們需要找到直線的方向和從P到X的向量。
直線的方向就是直線的方向向量(我們稱之為A):
至於P到X的方向,我們需要先找到X,即使它用t表示。
- X就是直線方程本身寫成一個向量

- 由此,我們可以使用“計算兩個位置向量之間的向量”找到用t表示的
:
現在我們有了兩個方向,就可以使用點積了






現在我們有了t的值,可以將其代入
的方程式中
,這就是我們一直在尋找的位置向量(X)。
至於P和X之間的距離,我們需要將t代入我們的
方程式中

- 這是我們的向量,現在我們只需要找到向量的長度/大小
≈
, 這是 **點 P 到直線上最近點 X 的距離**。
叉積定義為:
,其中
是 它們之間的夾角,而
是一個 單位向量,它同時垂直於
和
。叉積只在 3 維和 7 維中有效 (你不需要 7 維版本)。
有兩個向量同時垂直於 A 和 B,一個指向頁面/螢幕外,另一個指向螢幕內。一個是
,另一個是
。由於它們都指向不同的方向,並且大小相同,這意味著:
。你可以使用 右手定則 來找到叉積向量的方向。
由於你的電腦沒有 "右手",你可以使用這個公式,它能做同樣的事情
[2]
法向量是一個指向幾何體表面向外的單位長度向量。對於每塊平面幾何體,存在兩個法向量,一個直接向上(相對於表面),另一個直接向下(相對於表面),使得一個與另一個相反。
要計算法向量,首先需要找到幾何體的一個角點。在該點處將有兩個邊延伸出來。你需要找到這兩條邊的向量。然後你需要找到邊 1 (E1) 和邊 2 (E2) 的叉積。之後你需要將向量歸一化使其單位長度。
重寫成一個方程
注意:從數學上來說,這更好,但在計算上更差,使用計算機時使用第一個版本來避免計算兩次叉積。這將需要儲存一個額外的變數,但對於處理器來說要容易得多。
要找到另一個法向量 (n2),可以使用以下任一方程
或者 