向量:把大小與方向合成可運算的量

適用入口、必要先備與範圍邊界

適用入口:11 年級數學 A。 本篇對應課綱 G-11A-1、G-11A-3、G-11A-4 中的下列內容:平面與空間向量的係數積、加減、已知係數的線性組合,以及向量長度、三角不等式與上界等號條件。

必要先備: 能讀懂平面直角坐標與空間中的三個坐標;能計算正負數、分數、平方與平方根;知道畢氏定理,以及非退化三角形的兩邊長之和大於第三邊。空間部分需要知道三條坐標軸互相垂直,但不要求先學會空間中的直線、平面方程式。

共同約定: 本篇在固定的直角坐標系中運算,各坐標軸採用一致的長度單位。參與同一次運算的分量,都相對於同一套坐標系;不能把不同坐標系下的數字直接混用。

讀完應能做到: 遇到兩點的位置資料,先求出位移的分量,再進行指定運算;對已給定係數的兩個平面向量或三個空間向量,求出組合結果並核對終點;算出唯一的非負長度,並分辨何時合向量的長度等於、何時小於兩向量長度之和。

本篇邊界: 不直接把兩個點當作向量相加;不反求線性組合係數,不解未知係數方程組,不處理係數變動所掃出的區域;不引入抽象向量結構的術語,不教內積、外積、行列式、分點公式或含絕對值不等式的求解。文中數值例子均為教學自設資料。


一、方向不是長度後面可有可無的補充

在十九世紀向量分析逐步形成以前,研究運動的人已經知道:兩個作用合在一起,不能只把它們的大小相加。牛頓《自然哲學的數學原理》的 1729 年英譯本,在運動定律之後的推論中,就以平行四邊形的邊與對角線說明作用的合成與分解。這是一套能進行精確推理的幾何方法,並不是「向量出現以前,人們不會處理方向」。Wikisource

然而,能用幾何圖形或分量算式精確計算,與把不同情境中的有方向量統一記成可以組合、可以化簡的符號,仍是兩件事。這裡要比較的是表示與推理的組織方式,不是把既有幾何方法說成不能反覆使用。

先看一個教學情境。兩個人各走兩段路,每段都長 5 公尺。

第一個人先向東走 5 公尺,再向東走 5 公尺;第二個人先向東走 5 公尺,再向西走 5 公尺。

兩人走過的總路程都是

5+5=10 公尺,

但第一個人最後在出發點東邊 10 公尺,第二個人卻回到出發點。

問題不是加法算錯了,而是只保留長度的資料,原本就不足以決定位置如何改變。同樣的兩個數字 5,5,可能對應完全不同的最後位置。

保留幾何圖,當然可以區分這些情況;把每個方向的變化分開列成算式,也可以精確計算。向量表示所增加的能力,是把這些原本分散在箭頭、方向敘述及分量算式中的關係,集中到同一種可運算的量上。

這也接近當時作者自己提出的目標。Macfarlane 在 1906 年出版的著作中,將有方向的量明確符號化,視為可以不依附某一套特定坐標、研究共同性質的做法。這裡的突破主要是表示與推理的組織方式,不能誇大成舊方法完全不能求解。Project Gutenberg

我們接下來要建立的,正是這種組織方式:

不只記錄「有多大」,還保留「往哪裡」;不只畫出一次移動,還讓移動可以相加、相減與縮放。

二、點回答「在哪裡」,向量回答「怎樣改變位置」

從原點出發,先認識位置向量

固定一個平面直角坐標系,令原點為 O=(0,0),另有一點 P=(3,2)。

點 P 的坐標是在說:這個位置的第一個坐標是 3,第二個坐標是 2。

從原點 O 指向 P 的箭頭,記作

OP→.

它描述的則是:第一個坐標增加 3,第二個坐標增加 2。我們把這個向量寫成

OP→=(3,2).

其中的 3、2 稱為向量的分量。

這裡兩組數字相同,是因為始點恰好是原點。它們的角色仍不相同:P 是點;OP→ 是由原點到該點的位置向量。以原點為始點表示向量,可以讓分量直接對應到箭頭終點的坐標。OpenStax

不是從原點出發,就必須用終點減始點

現在改看

A=(1,−1),B=(4,1).

從 A 到 B,第一個坐標由 1 變成 4,改變量是 4−1=3;第二個坐標由 −1 變成 1,改變量是 1−(−1)=2。

因此

AB→=(4−1, 1−(−1))=(3,2).

一般而言,若

A=(a1,a2),B=(b1,b2),

那麼

AB→=(b1−a1, b2−a2).

分量記錄的是各坐標改變多少,而不是「終點在哪裡」。

例如,把上例的 AB→ 寫成 (4,1),就把終點 B 的坐標誤當成位移。從 A=(1,−1) 出發,若真的按照 (4,1) 移動,會到達

(1+4, −1+1)=(5,0),

並不是 B=(4,1)。

這個回查也提供一項很實用的檢驗:

算出位移後,將各分量加回始點的相應坐標,應該回到原來的終點。

為什麼不同位置的箭頭,可以是同一個向量?

再取

C=(−2,3),D=(1,5).

計算得到

CD→=(1−(−2), 5−3)=(3,2).

所以

AB→=CD→=OP→.
三支箭頭起點不同,終點相對起點都向右三格、向上兩格,代表相同位移向量。

箭頭的位置不同,但每支箭頭的終點減始點都是 (3,2)。自由向量不把始點位置當作身分。

三支箭頭畫在不同位置,但都表示第一個坐標增加 3、第二個坐標增加 2。把它們整支平移,可以彼此重合。

本篇所說的自由向量,不把箭頭放在哪裡當成它的身分。 對非零向量而言,大小與方向相同,就是同一個向量;箭頭的始點可以不同。

這不是只靠眼睛判斷的約定。假設把始點與終點都沿第一個坐標方向平移 h、第二個坐標方向平移 k,新端點為

A′=(a1+h,a2+k),B′=(b1+h,b2+k).

則

A′B′→=((b1+h)−(a1+h), (b2+k)−(a2+k))=(b1−a1, b2−a2)=AB→.

兩端共同增加的量,在相減時消去了。

要注意,平移一支箭頭,是始點與終點一起移動。只把始點移到不同位置、終點留在原處,就一定改變向量。此外,這裡始終固定坐標軸的方向與尺度;不是說任意改變坐標軸後,分量數字也一定不變。

零向量不需要指定方向

若始點與終點相同,各坐標的改變量都是 0,得到

0→=(0,0).

零向量表示沒有淨位移,長度為 0。本篇不給零向量指定方向,也不把它放入非零向量的同向、反向分類中。

這個例外很重要:之後討論等號條件時,不能因為零向量「沒有方向」,就把它漏掉。

三、加減與係數積:把移動寫成運算

以下沿用

u→=(3,2),v→=(−1,2).

其中 u→ 可以由前面的兩點資料算成 AB→,也可以平移成從原點出發的箭頭。

加法:第一段走完,再接第二段

設出發點的坐標是 (s1,s2)。

先依照 u→=(u1,u2) 移動,會到達

(s1+u1, s2+u2).

再依照 v→=(v1,v2) 移動,會到達

(s1+u1+v1, s2+u2+v2).

相對於原來的出發點,總改變量就是

u→+v→=(u1+v1, u2+v2).

因此

u→+v→=(3,2)+(−1,2)=(2,4).

第一個坐標的改變量合成為 3+(−1)=2,第二個坐標的改變量合成為 2+2=4。

在圖形上,可以先畫

O=(0,0)⟶U=(3,2),

再把 v→ 的始點移到 U,畫到

W=(2,4).

第二段箭頭的分量確實是

UW→=(2−3, 4−2)=(−1,2)=v→,

而整段的結果是

OW→=(2,4)=u→+v→.

這就是頭尾相接法。本例的兩向量不平行,若把它們先畫成共同始點的鄰邊,再補出平行四邊形,從共同始點出發的對角線向量,也會得到同一結果。OpenStax

若兩個非零向量平行,或其中有零向量,圖形會退化,不再形成真正的平行四邊形;但頭尾相接的解讀與逐分量相加的規則仍然成立。

為什麼交換順序後結果不變?因為

u1+v1=v1+u1,u2+v2=v2+u2.

因此

u→+v→=v→+u→.

這不是說兩次走過的路線一樣,而是說在這個位移模型中,最後的淨位移一樣。

減法:加上方向相反的向量

若

v→=(v1,v2),

則

−v→=(−v1,−v2).

對非零向量而言,它與 v→ 長度相同、方向相反。向量減法定義為

u→−v→=u→+(−v→),

所以

u→−v→=(u1−v1, u2−v2).

本例得到

u→−v→=(3−(−1), 2−2)=(4,0).

這表示只沿第一個坐標的正方向移動 4,第二個坐標沒有淨改變。

也可以用共同始點的兩支箭頭回查。令

U=(3,2),V=(−1,2),

則

VU→=(3−(−1), 2−2)=(4,0)=u→−v→.

共同始點時,u→−v→ 是從 v→ 的終點指向 u→ 的終點。

順序不能顛倒:

v→−u→=(−4,0)=−(u→−v→).
向量 u 為(3,2)、v 為(負1,2);平行四邊形對角線的和向量 u 加 v 為(2,4)。
從 v 的終點指向 u 的終點,差向量 u 減 v 為(4,0),水平向右。

和向量由共同始點指向平行四邊形的對角頂點;差向量由被減向量的終點,指向前一向量的終點。

係數積:改變大小,必要時反轉方向

若 λ 是實數,則

λu→=(λu1,λu2).

這種實數乘向量的運算稱為係數積。

對非零向量來說,正係數保留方向,負係數反轉方向;係數的絕對值決定長度放大或縮小的倍數。係數為 0 時,結果是零向量。

若原向量本來就是零向量,則對任何實數 λ,都有

λ0→=0→.

這時沒有方向需要保留或反轉。

例如,題目指定計算 −2AB→,必須先由端點得到

AB→=(3,2),

再計算

−2AB→=(−6,−4).

結果不是「長度變成負數」,而是箭頭轉向相反方向,長度變成原來的兩倍。

若把結果箭頭放在原點,它的終點就是 (−6,−4)。若改放在 (1,1),終點則是

(1−6, 1−4)=(−5,−3).

回查新箭頭的分量:

(−5−1, −3−1)=(−6,−4).

始點不同,運算結果並沒有改變。

四、線性組合:先縮放,再合成

現在可以理解

αu→+βv→

這種表示了。其中 α,β 是實數係數:先分別對兩個向量做係數積,再相加。這稱為兩向量的線性組合。

若

u→=(u1,u2),v→=(v1,v2),

則

αu→+βv→=(αu1+βv1, αu2+βv2).
核心示例:求 2u→−v→

係數已經給定為 2 與 −1,我們要找的是結果向量。

先縮放:

2u→=(6,4),−v→=(1,−2).

再合成:

2u→−v→=(6,4)+(1,−2)=(7,2).

這個結果有兩種可以互相核對的讀法。

從分量看,第一個方向的總改變是

2×3−(−1)=7,

第二個方向的總改變是

2×2−2=2.

從箭頭看,先由原點走到 M=(6,4),再按照 −v→=(1,−2) 移到 T=(7,2)。第二段的分量為

MT→=(7−6, 2−4)=(1,−2),

因此整段

OT→=(7,2)

正是要求的結果。

若改用平行四邊形,四個頂點可以取為

O=(0,0),M=(6,4),N=(1,−2),T=(7,2).

其中

OM→=2u→,ON→=−v→,

而從 O 指向對角頂點 T 的向量,就是 2u→−v→。

兩倍 u 為(6,4),負 v 為(1,負2);首尾接續後得到 2u 減 v 等於(7,2)。

先取兩倍的 u→,再接上反向的 v→,得到從原點指向 (7,2) 的向量。

最後再用反向運算回查:

(7,2)+v→=(7,2)+(−1,2)=(6,4)=2u→.

這裡沒有把兩個地點直接相加。參與運算的是明確給定的向量;把它們畫成位置向量,只是為了方便看出結果的終點。

五、走進空間:多一個分量,不必重造一套運算

平面向量記錄兩個坐標的改變量;空間向量記錄三個。

若

A=(a1,a2,a3),B=(b1,b2,b3),

則

AB→=(b1−a1, b2−a2, b3−a3).

加減與係數積仍然逐分量進行:

(u1,u2,u3)+(v1,v2,v3)=(u1+v1,u2+v2,u3+v3),(u1,u2,u3)−(v1,v2,v3)=(u1−v1,u2−v2,u3−v3),λ(u1,u2,u3)=(λu1,λu2,λu3).

三維向量可以用有方向的空間線段表示;運算是平面情況的逐分量延伸。空間中的零向量則寫成 (0,0,0),同樣不指定方向。OpenStax

先把位置轉成三個改變量

取

A=(1,2,−1),B=(4,0,5).

得到

a→=AB→=(4−1, 0−2, 5−(−1))=(3,−2,6).

若將同一個向量移到

C=(−2,1,0),

新終點必須是

D=(−2+3, 1−2, 0+6)=(1,−1,6).

回查:

CD→=(1−(−2), −1−1, 6−0)=(3,−2,6).

不能只換始點,卻仍把舊終點 B=(4,0,5) 當成向量分量。三維情況與平面完全一樣:終點坐標只有在始點是原點時,才直接等於該箭頭的分量。

空間中兩支箭頭起點不同,但位移都為(3,負2,6),表示同一自由向量。

OU→ 與 AB→ 的分量相同。箭頭可以整支平移,不因始點不同而改變向量。

分別完成一項指定運算

另給

b→=(−1,3,2).

若指定求和,則

a→+b→=(3−1, −2+3, 6+2)=(2,1,8).

把 b→ 接在 B=(4,0,5) 之後,會到達

E=(4−1, 0+3, 5+2)=(3,3,7).

因此

AE→=(3−1, 3−2, 7−(−1))=(2,1,8),

與分量運算一致。

若指定求差,則

a→−b→=(3−(−1), −2−3, 6−2)=(4,−5,4).

加回 b→ 後,

(4,−5,4)+(−1,3,2)=(3,−2,6)=a→.

若指定求係數積,則

−12a→=(−32,1,−3).

將結果乘以 −2,便回到 a→。這三個問題各自只是在完成一項已指定的運算,沒有新增不同的三維規則。

三個空間向量的已知係數組合

給定

p→=(1,2,0),q→=(−1,1,2),r→=(0,−1,1),

求

2p→−q→+3r→.

先分別計算:

2p→=(2,4,0),−q→=(1,−1,−2),3r→=(0,−3,3).

相加得到

2p→−q→+3r→=(2+1+0, 4−1−3, 0−2+3)=(3,0,1).

第二個分量為 0,不表示每一段都沒有第二個方向的變化,而是這些變化剛好抵消。

用頭尾相接法回查,三段依序是

(0,0,0)⟶(2,4,0)⟶(3,3,−2)⟶(3,0,1).

相鄰端點相減,依序得到

(2,4,0),(1,−1,−2),(0,−3,3),

正好是 2p→,−q→,3r→。最後由原點指向 (3,0,1) 的箭頭,就是組合結果。

係數 2、−1、3 都已經給定;本例沒有在尋找未知係數。

空間向量 2p、負 q、3r 首尾接續,合向量 2p 減 q 加 3r 從原點指向(3,0,1)。

三段逐分量相加為 (3,0,1)。第二個分量等於 0,是 4−1−3=0 的抵消結果,不是每段都沒有這個方向的變化。

六、向量的長度,為什麼要「平方相加再開根號」?

分量保存各個方向的改變量;長度則只問整支箭頭有多長。

我們用

‖u→‖

表示向量 u→ 的長度,也稱為這裡的向量範數。它是一個非負實數,不是另一個向量。

課程手冊與課本常把長度寫成 |u→|,與這裡的 ‖u→‖ 意思相同。本篇用雙線,是為了和實數的絕對值分開:長度作用在向量上,結果是非負實數;不能把分量逐一取絕對值,當成長度。

平面:一次畢氏定理

若

u→=(u1,u2),

將它移到原點。當 u1,u2 都不為 0 時,水平與鉛直的改變量形成一個直角三角形的兩股,其長度分別是 |u1|、|u2|。

因此

‖u→‖2=u12+u22,

而長度必須取非負值,所以

‖u→‖=u12+u22.

若其中一個分量為 0,箭頭落在坐標軸上,長度就是另一個分量的絕對值;若兩個分量都為 0,長度就是 0。這些情況仍符合上面的公式,只是不再形成真正的直角三角形。

例如

u→=(3,2)

的長度為

‖u→‖=32+22=13.

分量 3、2 記錄的是兩個互相垂直方向的改變;直接相加 3+2=5,得到的是沿這兩個方向分段走的長度,不是斜向箭頭的長度。

空間:接續使用兩次畢氏定理

若

a→=(a1,a2,a3),

先看前兩個方向合成的長度:

h=a12+a22.

這段位於水平坐標平面內。當 h≠0、a3≠0 時,它再與第三個方向的垂直改變量組成直角三角形,因此

‖a→‖2=h2+a32=a12+a22+a32.

所以

‖a→‖=a12+a22+a32.

若 h=0,向量只沿第三個坐標軸,長度為 |a3|;若 a3=0,長度就是 h;兩者都為 0 時,長度為 0。公式在這些退化情況下仍然成立。

這就是空間向量的長度公式。OpenStax

對前例的

a→=(3,−2,6),

有

‖a→‖=32+(−2)2+62=9+4+36=7.
空間向量的水平直角分量長度為 3 與 2,合成長度根號13;再與垂直分量長度 6 合成長度 7。

先由兩個垂直方向的長度 3,2 得到 13,再與第三方向的長度 6 合成為 7;投影圖不能直接拿尺量空間長度。

回查平方和:

72=49=9+4+36.

答案不是 ±7。方程式 t2=49 有兩個實數解,但「向量長度」要求非負,49 本身也只表示 7。

答案更不是 (3,2,6)。把負分量改成正分量,仍然得到三個數組成的向量,不是長度。

由平方和也可以看出:向量長度為 0,當且僅當每個分量都為 0,也就是該向量為零向量。 因為每個平方都非負,只要有一個分量不為 0,平方和就會大於 0。

係數的負號改變方向,不會製造負長度

以平面情況為例,

‖λu→‖=(λu1)2+(λu2)2=λ2(u12+u22)=|λ|‖u→‖.

因此

‖λu→‖=|λ|‖u→‖.

空間情況同理。這個等式也包含 λ=0 或 u→=0→ 的情況。

例如

‖−2u→‖=213,

不是 −213。負號留在方向的改變中;取長度時,只剩縮放倍數的絕對值。

七、為什麼向量相加,長度卻通常不能直接相加?

向量加法保留方向,長度則捨去了方向。這兩種運算不能任意交換順序。

取

u→=(3,0),v→=(0,4).

先相加再取長度:

‖u→+v→‖=‖(3,4)‖=5.

先各自取長度再相加:

‖u→‖+‖v→‖=3+4=7.

兩者回答不同的問題:前者是起點到終點的直線距離;後者是沿兩段箭頭前進的總長度。

三角不等式把兩者的關係固定下來

將 u→ 與 v→ 頭尾相接。若兩個非零向量不平行,兩段箭頭及合向量所對應的線段,就形成一個非退化三角形。

由三角形的兩邊長之和大於第三邊,可得

‖u→+v→‖<‖u→‖+‖v→‖.

這項幾何性質在《幾何原本》第一卷命題 20 中已有表述;此處是把三邊關係連到向量的頭尾相接表示。Clark University

再把同向、反向及零向量的情況納入,就得到

‖u→+v→‖≤‖u→‖+‖v→‖.

這稱為向量的三角不等式。

等號不是「只要平行就成立」

兩個非零向量同向時,第二段接在第一段後面,持續朝同一方向前進,沒有折轉或折返。因此合向量長度等於兩段長度相加。

兩個非零向量反向時,第二段會抵消第一段的一部分或全部。若兩段長度分別是正數 a,b,淨位移長度是 |a−b|,小於 a+b,所以不能達到上述上界等號。

若其中一個是零向量,則它不增加位移,也不增加長度,等號仍然成立。

因此完整條件是:

‖u→+v→‖=‖u→‖+‖v→‖當且僅當兩者皆非零且同向,或至少一者為零向量。

可以用四個例子核對:

向量情況u→v→合向量長度兩長度之和判定
不平行(3,0)(0,4)57嚴格小於
非零且同向(3,0)(2,0)55等號成立
非零且反向(3,0)(−2,0)15嚴格小於
含零向量(3,0)(0,0)33等號成立
互相垂直的向量 u 為(3,0)、v 為(0,4),和向量長度 5,小於兩向量長度和 7。
同向向量 u 為(3,0)、v 為(2,0),和向量為(5,0),長度等於 3 加 2。
反向向量 u 為(3,0)、v 為(負2,0),和向量為(1,0),長度 1 小於 3 加 2。
u 為(3,0)、v 為零向量,u 加 v 仍為(3,0),長度等於 3 加 0。

同向的非零向量或含零向量時取得上界等號;非零反向向量雖然平行,仍有抵消,不能取得上界等號。

反向而且等長時,會完全抵消。例如

(3,0)+(−3,0)=(0,0),

但兩段長度之和仍是 6,所以比較結果是

0<6,

不是等號。相反地,若兩個向量都是零向量,左右兩側都是 0,等號成立。

在空間中,仍然是同一個道理

兩個非零空間向量頭尾相接後,若不平行,起點、中間點與終點這三點會決定一個平面。雖然整個情境位於三維空間,這兩段及合向量仍可放在同一個三角形中比較。

例如

u→=(1,0,0),v→=(0,2,2),

則

‖u→+v→‖=1+4+4=3,

而

‖u→‖+‖v→‖=1+8=1+22>3.

因為 22>2,最後一個比較也可以直接確認。

實數情況則可以看成所有箭頭都限制在同一條坐標軸上。令

u→=(a,0),v→=(b,0),

便得到

|a+b|≤|a|+|b|.

上界等號成立於 a,b 都非零且同號,或至少一個為 0。

這是在判斷恆成立的界,不是在找未知數範圍

三角不等式說的是:對任意給定的這類向量,上述不等關係都成立。

當題目給出兩個向量,要比較左右兩側時,可以計算長度,並以方向關係判斷等號;不是先把它改造成「哪些參數可以讓不等式成立」的求解問題。

「不等式普遍成立」與「等號是否成立」也必須分開。兩個非零反向向量仍然符合三角不等式,但必定不能取得上界等號。

八、這套表示當時改變了什麼,又沒有改變什麼?

到這裡,可以用已經完成的推理,看出向量表示的實質作用。

原本一張圖上的操作,現在可以寫成

αu→+βv→;

需要計算時,就展開成相應分量;要理解結果時,又能回到箭頭與終點。換一個出發位置,不需要重新建立運算規則;從平面進入空間,也不必為每種圖形重造算法。

這種由幾何意義與代數操作互相支援的安排,確實進入了當時的教學。Gibbs 在 1901 年的序文中說明,他於 1881—1884 年印行的向量分析短冊曾在相關人士間流傳,後來希望有更完整、可公開取得的教材。Wilson 因而依其課程編成《Vector Analysis》,並在序文記載 Gibbs 已在電與磁、光的電磁理論課程中使用這套方法。網際網路檔案館(Internet Archive)

這是可以核對的整理、教學與傳播節點,不表示向量在 1901 年才被突然發明。Macfarlane 在 1905 年底所寫的序文,仍指出當時符號存在多樣性,相關表示法之間的關係也仍在討論。Project Gutenberg

同樣不能從這段歷史倒推出:只學本篇的加減與係數積,就已經能處理所有相關科學問題。完整理論還需要其他運算、假設與知識。

本篇真正建立的是一個可延伸的起點:先把方向與大小保存在量裡,再決定哪些運算符合所研究的問題。

九、今天的具體連結:螢幕上的位置,不等於還要移動多少

向量的這項區分,今天仍直接出現在電腦圖形與互動程式中。Unity 官方文件以兩個物件的位置相減,取得從其中一個物件指向另一個物件的向量;其長度則對應兩位置之間的直線距離。Unity 官方文件

以下是一個自設的虛擬展館情境,不是特定產品的實測案例。這裡使用的是虛擬場景中的三維位置,不是螢幕像素坐標。

假設場景使用互相垂直、尺度一致的三條坐標軸,並約定一個長度單位代表一公尺。導覽標記目前位於

A=(1,2,−1),

目的地位於

B=(4,0,5).

正確的移動向量是

AB→=(3,−2,6),

而不是目的地坐標 (4,0,5)。

按照正確位移更新各坐標:

(1+3, 2−2, −1+6)=(4,0,5),

確實到達目的地。

若誤把 (4,0,5) 當成「還要移動的量」,則會移到

(1+4, 2+0, −1+5)=(5,2,4),

位置就錯了。這不是程式語言特有的陷阱,而是混淆了點與位移。

這兩點的直線距離為

32+(−2)2+62=7 公尺.

但這裡還有兩個模型限制。

首先,兩組位置必須採用同一坐標空間,不能把一個物件的世界位置,和另一物件相對於其父物件的位置直接混用。Unity 的距離函式文件也明確要求兩個位置屬於同一坐標空間,並說明所得距離是非負數。Unity 官方文件

其次,7 公尺只是直線距離,不保證真的有一條可通行的直線路徑。假如必須繞過牆面,改沿兩條可通行的直線段前進,兩段位移分別為 u→,v→,且

u→+v→=AB→,

那麼必有

7=‖AB→‖≤‖u→‖+‖v→‖.

這裡把每段路徑限定為直線段,兩段路程才分別等於 ‖u→‖、‖v→‖。

向量算出了淨位移;三角不等式提供路程的下界。但哪裡有障礙物、哪些路徑能走,仍需要另外提供資訊。

回看整篇,向量帶來的不是把方向省略,而是讓方向也能參與計算。分量使計算可操作,自由向量使同一個改變量可以移到不同始點,線性組合使多段縮放與合成能統一處理;長度則在需要比較大小時,把方向資訊收束成一個非負數。

也正因為取長度會捨去方向,我們才必須始終分清:

向量的合成與長度的相加

不是同一件事。