幾何觀念
證明對數學家很重要; 感覺對一般人很重要!
這篇講義把解析幾何當中經常被其他學科使用到的觀念與公式列舉出來。 教科書必須強調嚴謹的證明, 但卻也因而容易令人迷失於符號與算式之中; 這裡強調的是「直觀」與「感覺」, 希望與教科書互補。 筆者個人學習幾何學的一點心得也提供大家參考:
- 記圖形; 不要記公式。 例: 畢氏定理。
- 每遇到一個新的公式, 必用幾組特別簡單的數字代進去, 檢查不用公式的算法與公式算出來的是否相同。 例: 平行四邊形面積公式, 如果其中一對邊與座標軸平行的話, 其實不需要公式也可以自己算出答案。
- 「代入幾組特別簡單的數字」這個好習慣, 不僅可以在學習時增加自己對這個公式的信心, 更可以在日後記不清楚公式時幫助回憶。
- 在腦海中想像物體往某個方向移動時, 公式中的某個數字會變正還是變負。 例: 空間中某點到一個平面的距離是多少? 如果將平面移向該點, 公式求出的值應如何變化? 如果移過頭了, 公式求出的值又應如何變化?
- 從複雜的公式當中「看出」熟悉的一小部分, 把這一小部分化成文字來理解。 例: 空間中的平面方程式的一側, 其實是兩個向量的內積。
點線面體...與高維空間
- 如果你被困在一度空間內 (想像一條很窄的隧道) 只需要用一個數字來表達你的位置; 我們平常被困在二度空間內 (想像臺灣地圖) 所以只要用兩個數字來表達我們的位置; 飛機的位置需要三個數字來表達。
- 我們 (被困在三度空間內的生物) 無法「看到」所謂的「四度空間」的全貌, 就像被困在二度空間內的生物無法看到三度空間的全貌一樣。 但是二度空間內的數學家可以從 「三度空間物體投射在二度空間的影象」 去推測一些三度空間物體的數學性質。 我們想理解四度空間, 可以先揣摩他們 (二度空間的數學家) 如何理解三度空間。
- 2 度空間中: 兩條直線的交集通常為一個點; 兩點通常可決定一直線。
- 3 度空間中: 兩片平面的交集通常為一條直線, 三片平面的交集通常為一個點; 兩點還是決定一直線, 三點通常可決定一平面。
-
在 4 度空間中:
一個 又叫做 可如此表示 亦可如此表示 與它同樣 dim 的一小塊物體叫做 點 0-flat (通過某一點) 某四個超平面的交集 0-face (vertex) 直線 1-flat 通過某兩點 某三個超平面的交集 1-face (edge) 平面 2-flat 通過某三點 某二個超平面的交集 2-face 超平面 3-flat 通過某四點 (某一個超平面的交集) 3-face 整個空間 (4-flat) (通過某五點) (某零個超平面的交集) 4-face - 可以用時間勉強當做第四度, 稍微具體想像。 (例如一群人在時空中排列整齊 ...) Q: R^2 上的正方形有四個邊, 四個角; R^3 上的正立方體有六個面, 十二個邊, 八個角; R^4 上的 "正立方體" 有多少個 0-face, 1-face, ...? R^n 呢?
- 但須注意: (不論在幾度空間中) 並非任意兩點都可決定唯一的直線 (萬一這兩點正好重疊 ...), 並非任意三點都可決定唯一的平面 (萬一這三點正好在一直線上 ...), ... 像這種幾乎不可能自然發生的特例狀況, 叫做 degeneracy 或 singularity。
- 同樣地, 以 R^3 為例, 並非任意兩個平面的交集都是一條直線 (萬一兩平面平行或重疊 ...); 並非任意三個平面的交集都是一個點 (這三個平面除了可以平行或重疊之外, 還可能兩兩各交於一線, 但三條交線彼此平行 ...)。
平面與空間中的向量
- 所謂 vector (向量), 就是空間中一根固定方向的棒子 (有分頭尾), 你可以將它移來移去, 但不可以改變它的方向與長度。 通常用粗體字的英文字母或在英文字母上畫一個右箭頭來表示一個向量, 像這樣: a 或 ...
- 如何用數學方法表達一個向量? 把它的起點移到原點, 用它終點的座標來表達這個向量。 習慣上寫直的; 如果寫成橫的, 就要加逗點並在右上角加一個 T, 像這樣: a = (4, -2, 5)T
- 向量 a = (ax, ay, az)T 的長度記為 |a| 算法為 sqrt(ax2 + ay2 + ay2)
- 沿著某個向量的方向走 k 倍的距離, 會得到另外一個同方向 (如果 k > 0) 或反方向 (如果 k < 0) 的向量。 這個運算叫做 "將某向量乘以純量倍" multiplication by a scalar。 例如 -2.5 * (4, -2, 5)T = (-10, 5, 12.5)T
- 如右圖: 按照某個向量 a 指定的方向與距離走一段, 再按照另一個向量 b 指定的方向與距離走一段, 效果相當於一開始就按照 c 指定的方向與距離走。 這裡的運算稱為向量的加法 c = a + b 算法其實就是把 x 座標相加, y 座標相加, z 座標相加。
平面與空間中的解析幾何
- 平面上兩個向量 a = (ax, ay)T 與 b = (bx, by)T 的 內積 (inner product) 如此計算: a b = ax bx + ay by 算出來的值是「其中一個向量長度, 與對方影子的乘積」。 兩向量「大約同向」時為正, 「大約反向」時為負。 空間中兩向量內積的公式與意義類似。
- ax x + ay y = c 在平面上畫出一條直線。 其實就是所有 「投射在固定向量 a = (ax, ay) 上, 有相同影子」的點 (向量) 所成的集合」。 這個向量與該直線垂直, 稱為它的 法向量 (normal vector。
- ax x + ay y + az z = c 在空間中畫出一個平面。 a = (ax, ay 稱為該平面的法向量。
- x^2+y^2=1 叫做平面上的 unit circle 單位圓; x^2+y^2+z^2=1 叫做空間中的 unit sphere 單位球 注意: 這裡的 "球" 指的是球殼而已, 不包括內部的空間; "圓" 指的是圓周而已, 不包括內部的圓盤。 Q: R^1 上的單位球是什麼?
- 更一般說來, 一個二元方程式所表示的, 通常是平面上的一條曲線 (例如圓, 雙曲線等)。 從代數的角度來看, 最簡單的一類方程式, 就是線性方程式; 而從幾何的角度來看, 最簡單的一類曲線, 就是直線。 難怪二元線性方程式畫出來的, 正好就是直線。
- 同樣地, 一個三元方程式所表示的, 通常是空間中的一片曲面 (例如球, 馬鞍面等等)。 這其中, 三元線性方程式 (最簡單的方程式) 畫出來的正好是平面 (最簡單的曲面), 這也是很自然的。
- 一個點 p = (px, py)T 到前述直線的距離為 ( ax px + ay py - c ) / sqrt(ax^2 + ay^2) 亦即: 把點的座標代入直線方程式, 再除以法向量長度。 哦, 最後要取絕對值才是真正距離; 但是取絕對值之前的正負號還是有一點意義... 空間中點到平面距離的公式類似。
- 平面上兩個向量 a 與 b 所張開來的平行四邊形的面積為 ax by - ay bx (正好是一個 2x2 矩陣的行列式值) 的絕對值。 取絕對值之前的正負號也有意義: 若為正, 表示從 a 轉到 b 為逆時針方向; 若為負, 表示從 a 轉到 b 為順時針方向。
- 空間中三個向量所張開來的平行六面體的體積為一個 3x3 矩陣的行列式值的絕對值。 取絕對值之前若為正, 表示這三個向量的座標在行列式當中排列的順序為「右手系」; 若為負, 表示其順序為「左手系」。
- 空間中兩向量 a 與 b 的 外積 (cross product) 為另一個向量: a X b = (ay bz - az by, az bx - ax bz, ax by - ay bx)T 這個向量與 a, b 都垂直 (請驗証!) (Q: 空間中有那些向量符合這個條件?); 它的長度正好是 a 與 b 所張開來的平行四邊形面積 (Q: 承上, 其中有多少向量又符合第二個條件?); 它的方向讓 a, b, a X b 構成「右手系」。
- parametric equation (參數式): 用來把曲線或曲面上的點一一列舉出來的式子。 當然列舉不完; 不過至少比先前使用的方程式要「主動」一點。 先前使用的叫做 implicit equation, 只能被動地判斷一個點落在曲線或曲面的那一側 (或正好落在曲線/曲面上)。 尤其是電腦繪圖時, 有 parametric equation 方便多了。 作業: 參考 文字模式下的程式設計, 寫一個程式在螢幕上畫橢圓。 你用的是那個方程式? (x/a)^2 + (y/a)^2 = 1 還是 [x;y] = [a*cos(t);b*cos(t)]?
- 空間中的一個平面或曲面, 它的參數式內有兩個 parameters (參數), 通常我們選用 s 與 t 來表達。 (想像寫程式畫圖時所用的兩個相疊迴圈的迴圈變數)。 例: 心在原點, 半徑為 r 的球的參數式為 [x;y;z] = [r*cos(s)*cos(t); r*cos(s)*sin(t); r*sin(s)]。 (不要背!) Q: 找一個簡單的圓錐 (cone), 寫出它的參數式。 Q: 找一個簡單的圓柱 (cylinder), 寫出它的參數式。
- Q: z = x*x - y*y 是 implicit equation 還是 parametric equation? 提示: 平面上任何圖形的參數式其實都是兩個方程式 (x = ...; y = ...); 空間中任何圖形 (不論是曲線或是曲面) 的參數式其實都是三個方程式 (x = ...; y = ...; z = ...)。
-
空間中的一條直線如何表示?
- parametric equation 想法: 通過指定的兩點。
- implicit equation 想法: 兩平面的交集。
參考資料:
- Lines - Planes - Equations - Distances - Angles
- Intersections of Lines, Segments and Planes (2D and 3D)
高維空間中的解析幾何
- 一個 n 元方程式, "通常" 表示 n 維空間 R^n 中的一個 hypersurface (超曲面?)。 這是一個很 "厚" 的東西: 想像把 R^2 捲一下, 可以變成 R^3 內的某個曲面; 同理, 把 R^3 "捲一下", 也可以變成 R^4 內的某個 hypersurface。
- 例: w^2+x^2+y^2+z^2=1 叫做 R^4 中的 unit hypershpere (單位超球?)。 注意: 從 hypersurface 的定義可以知道這裡的 "球" 指的是球殼而已, 不包括內部的空間。 Q: R^1 上的單位球是什麼?
- 一個 n 元線性方程式 (最簡單的 n 元方程式), 畫出來的正是 n 維空間 R^n 中的一個 hyperplane 超平面 (最簡單的 hypersurface 的特例)。
- R^n 當中, k 個 n 元線性方程式的解, "通常" 是一個 (n-k)-flat; 若以參數式表示, 則需要 (n-k) 個參數。
- 一個 n 元線性不等式, 畫出 R^n 當中的一個 halfspace
凸集合
- R^n 當中的一個集合 A, 若滿足: x,y 兩點屬於 A ==> xy 線段包含於 A, 則稱 A 為一個勁兒 convex set (凸集合)
- 一個 halfspace 是一個 convex set。
- 兩個 convex sets 的交集還是一個 convex set。
- 本頁最新版網址: https://frdm.cyut.edu.tw/~ckhung/b/ma/geom.php; 您所看到的版本: February 14 2012 10:32:25.
- 作者: 朝陽科技大學 資訊管理系 洪朝貴
- 寶貝你我的地球, 請 減少列印, 多用背面, 丟棄時做垃圾分類。
- 本文件以 Creative Commons Attribution-ShareAlike License 或以 Free Document License 方式公開授權大眾自由複製/修改/散佈。