JOVANA
Explore Library Glossary Getting Started Three Levels Fields How it works Mission
Join the mission
All guides

運動中的曲線:參數化與弧長

別再把曲線看成一堆凍結的點,把它看成一趟旅程——一個隨時間移動的點所描出的軌跡。光是這一個轉念,再加上一點微積分,就把「我走了多遠?」化成一條乾淨的積分,並交給你一種誠實的、從內部量度曲線的方法。

曲線是一趟旅程,不只是一張圖

到目前為止,曲線大多是一個形狀:滿足某條方程式的點集,像圓 x^2 + y^2 = r^2 或拋物線 y = x^2。這種看法用來問哪些點屬於它很好,但你一旦問它是怎麼畫出來的繞一圈有多長,它就啞口無言了。解法是別盯著畫好的圖,改去看一個點在動。我們讓一個移動的點依賴一個時鐘值 t,把它的位置寫成一個隨 t 改變的向量。這份移動的紀錄就是參數化曲線,而 t 是它的參數——最生動地說,就是時間。

具體地說,平面曲線就是把兩個普通函數打包在一起:gamma(t) = (x(t), y(t))。當 t 跑過一個區間,點 gamma(t) 就掃出那個形狀。單位圓變成 gamma(t) = (cos t, sin t),t 從 0 到 2 pi——一個逆時針行進的點,繞一圈後回家。空間曲線只是多加一格,gamma(t) = (x(t), y(t), z(t));螺旋線 gamma(t) = (cos t, sin t, t) 就是那個忘了停止攀爬的單位圓,一邊轉一邊上升的螺絲錐。同一套機器以一個額外座標同時處理平面與空間,正如當初向量第一次把你帶離紙面時那樣。

速度:切向量從微積分裡落出來

你帶上這座梯子的微積分,在這裡開始發揮作用。若 gamma(t) 是隨時間變動的位置,它的導數 gamma'(t)——把每個分量分別微分——就是速度向量:gamma'(t) = (x'(t), y'(t))。幾何上這支箭頭與曲線相切,指向瞬間的行進方向,而它的長度告訴你速率。對圓 gamma(t) = (cos t, sin t),速度是 gamma'(t) = (−sin t, cos t):永遠垂直於位置箭頭,永遠長度為 1,正是某物以單位速率繞行的穩定旋轉。我們曾稱為「圖形斜率」的導數,已悄悄變成了空間中的一個方向。

但有個誠實的隱憂。要是移動的點突然停住——某瞬間 gamma'(t) = 0——怎麼辦?那就沒有速度箭頭、沒有行進方向,曲線可能做出醜事:在某處別出一個尖角或突然的尖點,而光看那條順滑的公式你絕想不到。曲線 gamma(t) = (t^2, t^3) 是經典的陷阱;在 t = 0 處它的速度消失,圖上就有一個貨真價實的尖點。為了排除這種情況,我們要求正則曲線:它的速度 gamma'(t) 永遠不是零向量。正則性是「旅程從不停下」的承諾,於是曲線在每一點都有良好定義的方向。

弧長:把細小的步伐加起來

現在來談真正的問題:從 t = a 到 t = b,這條曲線有多長?想像把這趟旅程在許多個瞬間凍結,再用細小的直線段把點連起來。每一小段是移動的點在一小片時間 dt 裡走的一步,它的長度是(速率)乘以 dt——也就是 |gamma'(t)| dt,速度的大小乘以經過的時間,恰好是一次心跳裡的「距離等於速率乘以時間」。把所有這些薄片加起來,再讓它們縮成無窮小,這個和就變成一條積分。把細小步伐加起來再取極限,正是積分的整個念頭,如今以長度的面貌再度相見。

arc length from a to b

  L  =  integral from a to b of |gamma'(t)| dt

in the plane, gamma'(t) = (x'(t), y'(t)), so

  |gamma'(t)| = square root of ( x'(t)^2 + y'(t)^2 )

  L  =  integral from a to b of square root of ( x'(t)^2 + y'(t)^2 ) dt
弧長是速率的積分。每個 |gamma'(t)| dt 是一小步;當步伐縮到零,積分把它們全部加總。

讓我們在已經信得過的東西上驗一下。取單位圓 gamma(t) = (cos t, sin t) 繞一整圈,t 從 0 到 2 pi。它的速率是 |gamma'(t)| = |(−sin t, cos t)| = 根號 (sin^2 t + cos^2 t) = 1——由畢氏恆等式,這是固定的單位速率。所以 L = 從 0 到 2 pi 的 1 dt 積分 = 2 pi,正是單位圓的圓周長。這套機器重現了你自從引入弧度以來就知道的答案——令人安心,也正是一個誠實的定義該做的事:先在舊情形上吻合,再去攻佔新的領域。

為何速率不該改變長度

一條路的長度只有一個,不管你是漫步還是衝刺。所以一個好的弧長概念,最好不要依賴我們選了哪一種參數化來描這條曲線——只該依賴路徑本身。這正是先前提出的隱憂:同一個圓可以用 (cos 2t, sin 2t) 跑快一倍。積分會察覺嗎?讓那個雙倍速的圓跑 t 從 0 到 pi(時間減半,因為你快了一倍):現在速率是 2,而 L = 從 0 到 pi 的 2 dt 積分 = 2 pi,依舊。較快的速率與較短的時間區間完美抵消。長度在換鐘後存活了下來。

這不是運氣;這是你積分工具箱裡的變數變換法則在盡它的本分。選一個新的鐘就是一次重新參數化——對參數做一個順滑、嚴格遞增(或遞減)的重新標號,比方 t = h(s)。當你把它代入弧長積分,微積分產生的那個額外因子 h'(s),恰好就是調整速率的那個因子,兩個變動互相抵消。所以弧長是曲線的一個不變量,是路徑的性質,而非時刻表的性質。這正是值得拿來建一門幾何的那種量:觀察者的選擇假造不來。

誠實的參數化:以單位速率前進

既然弧長屬於曲線本身,何不就拿當鐘?不用某個任意的 t,改用沿曲線已經走過的距離來參數化,通常寫作 s。這就是弧長參數化,它有一個漂亮的定義性質:以弧長參數化的點,永遠以單位速率移動,|gamma'(s)| = 1。理由幾乎是同義反覆——當你的鐘就是里程表時,一單位的鐘恰好買到一單位的距離,所以速率被逼成 1。這就是一隻螞蟻以穩定的每秒一公分沿曲線爬行所描出的曲線,不趕也不拖。

何必如此?因為單位速率剝掉了關於我們碰巧用多快描這條曲線的一切,只留下曲線本身是什麼。在單位速率下,速度 gamma'(s) 自動是一個單位切向量——只有方向,沒有摻雜的速率資訊——而那支乾淨的切向量,正是接下來幾篇導引長出曲率、Frenet 標架與撓率的種子。弧長參數化是一面鏡片,讓曲線的內在形狀顯現出來,時序的偶然被從鏡面上擦去。

你現在能做什麼,以及它通向何方

  1. 把曲線寫成一個移動的點 gamma(t) = (x(t), y(t))(在空間裡加上 z(t)),看見那趟旅程,而不只是它落腳的點集。
  2. 微分得到速度 gamma'(t),即切線方向;藉由確認 gamma'(t) 永不為零向量,檢查它是不是正則曲線
  3. 藉由積分速率來量長度:L = |gamma'(t)| dt 的積分,也就是把細小直線步伐加總的極限。
  4. 相信長度是曲線的重新參數化不變量;原則上可換到弧長參數化以單位速率前進,並讀出單位切向量

這同一圈念頭延伸到笛卡兒世界之外:以極座標給出的曲線 r = f(theta),其實暗地裡就是參數化曲線 (f(theta) cos theta, f(theta) sin theta),所以一旦你算出速度,它的弧長就是那條一模一樣的速率積分。這套配方——位置、微分、取大小、積分——夠穩健,能一視同仁地對付螺線、極座標曲線與螺旋線,因為它從不在乎曲線穿著哪一套座標的衣裳。

而它替前方的一切鋪好了路。手握一條單位速率曲線,下一篇導引便問切線方向轉得多急?——而那轉動的速率就是曲率 kappa。再之後,切向量長出夥伴(主法向量與副法向量),結成 Frenet 標架,曲線扭出平面成了撓率 tau,而曲線基本定理將揭示:kappa 與 tau 兩者合起來,就能把一條空間曲線完全釘住,只差你把它擺在哪裡。這個故事的每一步,都倚在你方才邁出的那一小步上:把曲線當成運動,並從內部去量度它。