# 3.向量
###### tags: `game` `javascript` `math`
要實作以上程式,必須要有以下先備知識,向量,內積,投影,旋轉矩陣,本章介紹向量基本知識。為了之後需要更複雜的計算,在這邊會將定義介紹的比較完整,若已經了解向量基本知識可以跳過此章
## 向量定義
具有方向及大小的量我們稱為向量,廣義的說,存在向量空間中的元素則稱為向量。
## 向量空間
向量空間須滿足以下定義
給定體$F$,$F$上的向量空間$V$是一個集合,$c,d$為體上的元素,$u,v,w$為$V$的元素,則符合
1. 向量加法的結合律 即 $(u+v)+w=u+(v+w)$
2. 向量加法的交換律 即$u+v=v+u$
3. 向量加法的單位元素 即存在$0 \in V,s.t \quad 0+u=u \quad \forall u \in V$
4. 向量加法的反元素 即 $\forall v ∈ V,\exists −v ∈ V \quad s.t. \quad v + (−v) = 0$
5. 純量乘法與純量的體乘法相容 即 $a(bv) = (ab)v$
6. 純量乘法的單位元素 即 $\exists 1 \in F \quad s.t. \quad 1v = v$
7. 純量乘法對向量加法的分配律 $a(u + v) = au + av$
8. 純量乘法對體加法的分配律 $(a + b)v = av + bv$
### 例子
以 $R^n$ 空間舉例,給定一向量 $v,u \in R^n$ 一純量$c \in R$
$$
v:=[v_1,v_2,...,v_n] \quad \quad \quad (1)
$$
定義
$$
v+u:=[v_1+u_1,v_2+u_2,...,v_n+u_n] \quad \quad \quad (2)
$$
$$
c \cdot v=[c \cdot v_1,c \cdot v_2,...,c \cdot v_n] \quad \quad \quad \quad\quad\quad\quad (3)
$$
可以自行應證 因為$R^n$ 空間符合上述定義,因此是一個空間向量。
## 範數空間(Norm)
如何定義一個向量的長度呢?我們通常會使用範數來表示向量的長度,若符合以下定義,我們則稱為向量的範數。
定義為一個範數空間$(V,||\cdot||)$,$V$是域$F$上的向量空間,函數$||\cdot|| : V \rightarrow R$,滿足以下:
1. $||v|| \geq 0 \quad \forall v \in V$
2. $||v||=0 \quad iff \quad v=0$
3. $||\lambda v||=|\lambda|||v||$
4. $||v+u|| \leq ||v||+||u||$
### 例子
常見的範數空間有:曼哈頓空間、歐基里德空間等等
#### 曼哈頓空間
令 $v \in R^m$ 見 **(1)**
定義
$$
||v||=\sum^m_{i=1}v_i \quad \quad \quad (4)
$$
#### 歐基里德空間
$$
||v||=\sqrt{\sum^m_{i=1}v_i^2} \quad \quad \quad (5)
$$
事實上我們定義
$$
||v||_n=(\sum^m_{i=1}v_i^n)^{\frac{1}{n}} \quad \quad \quad (6)
$$
稱作 `n-norm`
歐基里德空間就是我們最常使用的範數空間,若沒說明$||v||$,則視為$||v||_2$
舉例:
給定 $(1,2) \in R^2$ 則
$$
||(1,2)||_1=1+2=3\\
||(1,2)||=\sqrt{1^2+2^2}=\sqrt{5}
$$
## 內積空間
定義兩向量乘積到實數上
給定一個向量空間$V$,函數$<\cdot ,\cdot>$:$V \times V \rightarrow R$,滿足以下條件則稱為內積空間
1. $<v,v>\quad \geq 0 \quad \forall v \in V$
2. $<v,v> = 0 \quad iff \quad v=0$
3. $<\lambda v,w>=\lambda<v,w>$
4. $<v,w+u>=<v,w>+<v,u>$
5. $<v,w>=\overline{<w,v>}$
### 例子
歐式空間中的向量點積
定義 $v,u \in R^n$ 則
$$
u \cdot v:=\sum^n_{i=1}u_iv_i \quad \quad \quad (7)
$$
由此定義可以推出
$$
u \cdot v=||u||\cdot||v||cos\theta \quad \quad \quad (8)
$$
$\theta$為兩向量的夾角,(證明略)
舉例:
給定 $(1,2),(3,4)$ $\in R^2$則
$$
(1,2) \cdot (3,4)=1 \cdot3+2 \cdot4=11\\
cos\theta=\frac{u \cdot v}{||u||\cdot||v||}=\frac{11}{5\sqrt{5}}
$$
## 投影
投影是從向量空間映射到自身的一種線性變換$P$,滿足 $P^{2}=P$
![](https://i.imgur.com/6dcykRV.png)
簡單來說,投影就是將A向量的分量拆解成與B平行的分量和垂直分量並只取平行的部分。
A在B上的正射影寫成
$$
A_B=|A|cos\theta\frac{B}{|B|}=\frac{A\cdot B}{|B|^2}B \quad \quad \quad (9)
$$
$Acos\theta$稱為正射影長
{%hackmd aPqG0f7uS3CSdeXvHSYQKQ %}