1. 程式人生 > 其它 >計算幾何基礎-初步

計算幾何基礎-初步

計算幾何基礎-初步

計算幾何

定義:對幾何外形資訊的計算機表示分析。(其實就是利用計算機建立數學模型解決幾何問題。)

計算幾何研究的物件是幾何圖形。早期人們對於影象的研究一般都是先建立座標系,把圖形轉換成函式,然後用插值和逼近的數學方法,特別是用樣條函式作為工具來分析圖形,取得了可喜的成功。然而,這些方法過多地依賴於座標系的選取,缺乏幾何不變性,特別是用來解決某些大撓度曲線及曲線的奇異點等問題時,有一定的侷限性。

平面直角座標系

平面直角座標系其實就是笛卡爾座標系,在計算幾何中,我們經常會用到座標表示,點和向量都是通過座標來儲存的。

向量及其運算

向量的基礎知識

向量(也稱為歐幾里得向量、幾何向量、向量):既有大小又有方向

的量稱為向量。在數學中研究的向量為自由向量,即只要不改變它的大小和方向,起點和終點可以任意平行移動的向量。記\(\vec{a}\)a

有向線段:帶有方向的線段稱為有向線段。有向線段三要素:起點,方向,長度,有了三要素,終點就唯一確定。我們用有向線段表示向量。

向量的模:有向線段\(\overrightarrow{AB}\)的長度稱為向量的模,其實就是向量的大小。即為\(|\overrightarrow{AB}|\)\(|\vec{a}|\)

零向量:模為零的向量。零向量的方向任意。

單位向量:模為1的向量稱為該方向上的單位向量。

平行向量:方向相同或相反的兩個非零向量。記作\(a\parallel b\)

。對於多個互相平行的向量,可以任作一條直線與這些向量平行,那麼任一組平行向量都可以平移到同一直線上,所以平行向量又叫共線向量

滑動向量:沿著直線作用的向量稱為滑動向量。

固定向量:作用於一點的向量稱為固定向量。

相等向量:模相等且方向相同的向量。

相反向量:模相等且方向相反的向量。

向量的夾角:已知兩個非零向量\(\vec{a},\vec{b}\),作\(\overrightarrow{OA}=\vec{a},\overrightarrow{OB}=\vec{b}\),那麼$\theta=\angle AOB \(就是向量\)\vec{a}\(與向量\)\vec{b}\(的夾角。記作:\)\left\langle a,b \right\rangle\(,顯然當\)

\theta=0\(時,兩向量同向,\)\theta= \pi\(時兩向量反向,\)\theta = \frac{\pi}{2}\(時,兩向量垂直,記作\)\vec{a} \perp \vec{b}\(。並且我們規定\)\theta \in [0,\pi]$。

\({\color{Red}注意}\):平面向量具有方向性,我們並不能比較兩個向量的大小(但可以比較兩向量的模長)。但是兩個向量可以相等。

向量的運算

\(\vec{a}=(x_1,y_1)\),\(\vec{b}=(x_2,y_2)\)

加減法

既然向量具有平移不變性,那麼\(\vec{a}+\vec{b}\)就是將兩條有向線段相連,即:\(\vec{a}+\vec{b}=(x_1+x_2,y_1+y_2)\)

那向量的減法\(\vec{a}-\vec{b}\),其實就是\(\vec{a}+(-\vec{b})\),即\(\vec{a}-\vec{b}=(x_1-x_2,y_1-y_2)\)

向量的加減法是滿足以下法則的:

  • 三角形法則:若要求和的向量首尾順次相連,那麼這些向量的和為第一個向量的起點指向最後一個向量的終點;
  • 平行四邊形法則:若要求和的兩個向量共起點,那麼它們的和向量為以這兩個向量為鄰邊的平行四邊形的對角線,起點為兩個向量共有的起點,方向沿平行四邊形對角線方向。

所以說向量的加減法就有了幾何意義,並且滿足交換律和結合律

數乘

規定\(\left\lceil 實數\lambda與向量\vec{a}的積 \right\rfloor\)為一個向量,這種運算就是數乘。記作\(\lambda\vec{a}\),並且滿足以下性質:

  • \(|\lambda\vec{a}|=|\lambda||\vec{a}|\)
  • \(\lambda>0\)時,\(\lambda\vec{a}\)\(\vec{a}\)同向,當\(\lambda=0\)時,\(\lambda\vec{a}=0\),當\(\lambda<0\)時,\(\lambda\vec{a}\)\(\vec{a}\)方向相反。
\[\lambda(\mu\vec{a})=(\lambda\mu)\vec{a}\\ (\lambda+\mu)\vec{a}=\lambda\vec{a}+\mu\vec{a}\\ \lambda(\vec{a}+\vec{b})=\lambda\vec{a}+\lambda\vec{b}\\ (-\lambda)\vec{a}=-(\lambda\vec{a})=-\lambda(\vec{a})\\ \lambda(\vec{a}-\vec{b})=\lambda\vec{a}-\lambda\vec{b} \]

向量的數乘其實就是對向量進行放縮

點積

向量的點積也叫數量積、內積,向量的點積表示為\(\vec{a}·\vec{b}\),是一個實數。計算式為:

\[\vec{a}·\vec{b}=|\vec{a}||\vec{b}|cos\theta(\theta=\left\langle \vec{a},\vec{b} \right\rangle)(\theta表示\vec{a},\vec{b}的夾角) \]

三角形恆等變換的推導:

\[\because \vec{a}·\vec{b}=|\vec{a}||\vec{b}|cos\theta\\ \therefore \vec{a}·\vec{b}=\sqrt{(x_1)^2+(y_1)^2}·\sqrt{(x_2)^2+(y_2)^2}·cos\theta\\ \because cos\theta=cos(\alpha-\beta)=cos\alpha cos\beta + sin\alpha sin\beta\\ \because cos\alpha=\dfrac{x_1}{\sqrt{(x_1)^2+(y_1)^2}},sin\alpha=\dfrac{x_1}{\sqrt{(y_1)^2+(y_1)^2}}\\ cos\beta=\dfrac{x_2}{\sqrt{(x_2)^2+(y_2)^2}},sin\beta=\dfrac{y_2}{\sqrt{(x_2)^2+(y_2)^2}}\\ \therefore 整理代入得:\vec{a}·\vec{b}=x_1x_2+y_1y_2 \]

同時點積是滿足交換律,結合律和分配律的。

點積應用:

叉積

也叫向量積,外積。幾何意義是兩向量由平行四邊形法則圍成的面積。叉積是一個向量,垂直於原來兩個向量所在的平面。(根據叉乘的模是平行四邊形的面積我們可以想象,叉乘的結果是一個有方向的面,而面的方向平行於面的法線,所以面的方向垂直於面上任何一個向量),即:

\[|\vec{a} × \vec{b}|=|\vec{a}||\vec{b}|sin\left\langle a,b \right\rangle \]

並且,\(\vec{a}×\vec{b}=(x_1y_2-x_2y_2)\)

叉積是一個有向面積:

  • \(\vec{a}×\vec{b}=0\),等價於\(\vec{a},\vec{b}\),共線(可以反向);
  • \(\vec{a}×\vec{b}>0\)\(\vec{b}\)\(\vec{a}\)左側;
  • \(\vec{a}×\vec{b}<0\)\(\vec{b}\)\(\vec{a}\)右側。

判斷兩向量共線

兩個非零向量\(\vec{a}\)\(\vec{b}\)共線\(\iff\)有唯一實數\(\lambda\),使得\(\vec{b}=\lambda\vec{a}\)。由向量的數乘即可得證。

推論:如果\(l\)為已經過點A且平行於已知非零向量\(\vec{a}\)的直線,那麼對空間任一點O,點P在直線\(l\)上的充要條件是存在實數\(t\),滿足等式:\(\vec{OP}=\vec{OA}+t\vec{a}\)

其中向量\(\vec{a}\)叫做直線\(l\)的方向向量。

基本定理和座標表示

平面向量基本定理

平面向量基本定理:兩個向量\(\vec{a}\)\(\vec{b}\)不共線的充要條件是,對於和向量\(\vec{a}\)\(\vec{b}\)共面的任意向量\(\vec{p}\),有唯一實數對\((x,y)\)滿足\(\vec{p}=x\vec{a}+y\vec{b}\)

證明(非常簡單):

\[對於平面上的任意向量可以沿指定方向被分解為任意兩個向量,\\ 平面上的任意兩個向量可以沿指定方向合成任意指定向量。\\ 對於有唯一實數對我們可以用反證法:\\ 假設有兩個及以上的實數對滿足要求為(m,n)\\ \therefore x\vec{a}+y\vec{b}=m\vec{a}+n\vec{b}\\ \therefore (x-m)\vec{a}=(n-y)\vec{b}\\ \because \vec{a}和\vec{b}不共線\\ \therefore x=m,n=y\\ 與假設矛盾所以結論成立\\證畢 \]

在同一平面內的兩個不共線的向量稱為基底

如果基底相互垂直,那麼我們在分解的時候就是對向量正交分解

平面向量的座標表示

如果取與橫軸與縱軸方向相同的單位向量\(i,j\)作為一組基底,根據平面向量基本定理,平面上的所有向量與有序實數對\((x,y)\)一一對應。

而有序實數對

而有序數對\((x,y)\)與平面直角座標系上的點一一對應,那麼我們作\(\vec{OP}=\vec{p}\),那麼終點\(P(x,y)\)也是唯一確定的。由於我們研究的都是自由向量,可以自由平移起點,這樣,在平面直角座標系裡,每一個向量都可以用有序實數對唯一表示。

座標運算

平面向量線性運算

由平面向量的線性運算,我們可以推導其座標運算,主要方法是將座標全部化為用基底表示,然後利用運算律進行合併,之後表示出運算結果的座標形式。

對於向量\(\vec{a}=(m,n)\)和向量\(\vec{b}=(p,q)\),則有:

\[\vec{a}+\vec{b}=(m+n,n+q)\\ \vec{a}-\vec{b}=(m-n,n-q)\\ k\vec{a}=(km,kn),k\vec{b}=(kq,kq) \]

向量的座標表示

已知兩點\(A(a,b),B(c,d)\),則\(\vec{AB}=(c-a,d-b)\)

平移一點

將一點\(P\)沿一定方向平移某單位長度,只需要將要平移的方向和距離組合成一個向量,利用三角形法則,用\(\vec{OP}\)加上這個向量即可,得到的向量終點即為平移後的點。

三點共線的判定

在平面上\(A,B,C\)三點共線的充要條件是:\(\vec{OC}=\lambda\vec{OB}+(1-\lambda)\vec{OA},(O為平面內不與直線AC共線任意一點)\)

證明:

\[若點B與AC共線,由共線向量定理可知:\vec{AC}=\lambda\vec{AB}\\ \therefore \vec{AC}=\lambda\vec{AB}\iff\vec{OC}-\vec{OA}=\lambda(\vec{OB}-\vec{OA})\iff\vec{OC}=(1-\lambda)\vec{OA}+\lambda\vec{OB}\\ 證畢 \]

向量旋轉

\(\vec{a}=(x_1,y_1)\),那麼長度\(l=\sqrt{x^2+y^2}\)。若將順時針旋轉\(\theta\)度得到\(\vec{b}=(x_2,y_2)\),則有:

\[x_2=x_1\cos \theta-y_1 \sin \theta,y2=x_1 \sin \theta+y_1 \cos\theta \]

可以用點積或三角形恆等變換易證。

計算幾何基礎的內容就到這裡了,現在計算幾何的基礎都已經掌握了的話,就可以去寫更深層次的演算法了,完結撒花~。