33203 如何計算圓錐曲線的切線

終極密碼

遊戲規則:本遊戲為猜密碼的遊戲。密碼為0到100之間的其中1個整數,電腦會提示密碼的所在範圍,玩家必須在6次之內猜到密碼才能過關。

★ 終極密碼為0到100之間 ★
您共有六次機會

計算圓錐曲線的切線方程式, 一直是個難題, 尤其是對一般高中生的程度來說, 更何況針對不同的圓錐曲線 (橢圓、拋物線、雙曲線等) 而言, 又有不同的切線公式, 感覺上既不統一又難以記憶, 所以我在這裡要介紹一種算法, 一種統一的算法, 讓你不管面對何種圓錐曲線, 都可以直接應用的公式。

圓錐曲線方程式

在座標平面上, 我們知道, 不管是哪一種圓錐曲線, 都可以表示為以下的形式: $$ ax^2 + bxy + cy^2 + dx + ey + f = 0 $$

例如:

  1. 橢圓: $\displaystyle\frac{x^2} {4} +\frac{y^2} {1} =1$, 我們可以寫成: $x^2+4y^2-4=0$。
  2. 拋物線: $y^2=4(x-1)$, 我們可以寫成: $y^2-4x+4=0$。
  3. 雙曲線: $\displaystyle\frac{x^2} {1} -\frac{y^2} {3} =1$, 我們可以寫成: $3x^2-y^2-3=0$。

當然上面所舉的例子都是所謂的「標準式」, 也就是這些圓錐曲線在座標平面上的位置都是 經過特別安排的, 所以方程式會看起來特別漂亮簡潔。

一般說來, 如果圓錐曲線沒有在「標準位置」的話, 那麼它的方程式就會看起來有點複雜, 例如: $x^2-2xy+3y^2-5x-2y+1=0$, 它的圖形會像右圖一樣。

如何判斷一條通過特定兩點的線是不是切線呢?

例題 1: 我在上面的圓錐曲線中, 再加入兩個點 $A(3, 6)$ 與 $B(10, 3)$, 那麼連接這兩點的直線到底是不是切線呢?

解答: 要回答這樣的問題, 我們可以利用 直線的參數式來測試看看, 到底這個直線與圓錐曲線有幾個交點, 以下我們就來計算看看:

首先, 通過 $AB$ 兩點的直線參數式為: $$ \left \{ \begin{array} {l} x = 3 + 7t \\ y = 6 - 3t \end{array} \right. $$

我們將這組點座標代入圓錐曲線方程式 $x^2-2xy+3y^2-5x-2y+1=0$, 得到: $$ (3+7t)^2 - 2(3+7t)(6-3t)^2 - 5(3+7t) - 2(6-3t) + 1 = 0 $$

化簡得: $$ 118t^2 - 161t + 55 = 0 $$

計算它的 判別式可以得到: $$ (161)^2 - 4(118)(55) = -33 \lt 0 $$

所以由判別式小於零, 我們可以知道上述的直線與圓錐曲線沒有任何交點(雖然圖形上看起來「好像」切到, 但事實上, 精確的計算告訴我們並沒有)。

一般說來, 要判斷一條通過特定兩點的線是不是切線, 都可以利用上述的方法來達成。 既然這個方法這麼好用, 那麼我們何不利用這樣的思考模式, 發展出一些好用的公式或判斷的法則呢? 沒錯! 這正是我們這篇文章的目的, 所以我們就繼續往下探索看看吧!

探索切線的公式或準則

假設直線通過 $A(x_1, y_1)$、 $B(x_2, y_2)$ 兩點, 圓錐曲線為 $ax^2+bxy+cy^2+dx+ey+f=0$, 那麼我們利用上述同樣的方法來計算看看, 直線參數式與圓錐曲線之間, 有沒有任何交點。

首先, 直線參數式為:

$ \left \{ \begin{array} {l} x = x_1 + (x_2-x_1)t \\ y = y_1 + (y_2-y_1)t \end{array} \right. $

然後, 我們將這組座標代入圓錐曲線方程式, 得到: \begin{eqnarray*} && a[x_1+(x_2-x_1)t]^2 + b[x_1+(x_2-x_1)t][y_1+(y_2-y_1)t] + c[y_1+(y_2-y_1)t]^2 \\ && \qquad + d[x_1+(x_2-x_1)t] + e[y_1+(y_2-y_1)t] + f = 0 \end{eqnarray*} 如果我們將上面的計算式整理成 $t$ 的二次式, 會得到: \begin{eqnarray*} &&[a(x_2-x_1)^2 + b(x_2-x_1)(y_2-y_1) + c(y_2-y_1)^2] \cdot t^2 \\ && + [2ax_1(x_2\!-\!x_1)t] \!+\! bx_1(y_2\!-\!y_1) \!+\! by_1(x_2\!-\!x_1) \!+\! 2cy_1(y_2\!-\!y_1) \!+\! d(x_2\!-\!x_1) \!+\! e(y_2\!-\!y_1)] \cdot t \\ && + [ax_1^2 + bx_1y_1 + cy_1^2 + dx_1 + ey_1 + f] = 0 \end{eqnarray*} 當然, 如果我們要計算這個二次式到底有沒有解, 還要計算它的 判別式, 這時你或許會想: 天啊! 它的係數已經如此複雜了, 我們竟然還想去計算它的判別式? 就算我們真的花了九牛二虎之力把它算出來了, 難道我們還會想去記憶它或應用它嗎? 的確, 我們是遇上了瓶頸, 我們遇到 變數符號太多太長、複雜難以處理的窘境。 然而, 正是因為面對這樣的窘境, 才讓數學家了解到: 必須開發新的符號與新的運算規則, 讓我們可以繞過複雜計算的深淵, 繼續邁向推理解題的大道。以下我們就來介紹這個新的利器。

開發新的運算符號

首先, 我們先來介紹一種「表格式乘積加總法」:

在左邊的表格中, 2 所在的那一橫列與 3 所在的那一直行, 對到了數字 5, 這時我們規定: 2 、 3 、 5要乘起來, 也就是會得到 $2\times 3\times 5=30$
我們在左表中, 又多放了一些數字上去, 現在我們要計算 $2\times 3\times 5$ 和 $1\times 4\times 6$, 並把它們 加總起來, 所以其實我們要計算的是: $2\times 3\times 5+1\times 4\times 6=30+24$
在這個例子中, 我們填上所有的數字, 並利用上面說明的方式將 所有的乘積全部加起來。 首先, 我們先將左側的數字 0, 1, 2 和上側的數字 1, 3, 4 乘到格子裡, 可以得到右表中的數字:
0 0 0
0 24 24
-8 30 0

最後, 我們只要將表格中所有的數字加起來, 那麼所得到的數字就是我們想要計算的總和, 也就是: $24+24-8+30=70$ 這就是我們所說的「表格式乘積加總法」。

當然, 如果你學過「矩陣 」乘法, 你會知道我們這裡所謂的「表格式乘積加總法」, 其實 可以用矩陣來表示。 例如:上面所舉的最後一個例子, 可以利用矩陣乘法: $$ [0 ~~1 ~~2] \left [ \begin{array} {ccc} -1 & ~~-2 & ~~7 \\ 0 & ~~8 & ~~6 \\ -4 & ~~5 & ~~0 \end{array} \right ] \left [ \begin{array} {c} 1 \\ 3 \\ 4 \end{array} \right ] \hbox{來表示。} $$ 不過, 如果你沒學過矩陣, 那也沒關係, 請繼續看我們以下的討論就可以了。

我們這裡為什麼要介紹這樣「怪異的加總法」呢? 主要是因為這種加總法剛好跟圓錐曲線的方程式有 某種巧妙的連結。 請看以下的例子:

在左表中, 如果我們運用「表格式乘積加總法」, 那麼我們會得到: $$-x^2 - 2xy + 8y^2 + 3x + 11y + 0$$ 請讀者注意看: 這剛好是圓錐曲線方程式 $$ax^2 + bxy + cy^2 + dx + ey + f = 0$$ 等號左邊的形式, 這也正是為什麼我們要介紹這種加總法的原因。
如果我們在表格中設定了像左表一樣的數字 (請注意裡面的 $\displaystyle\frac{b} {2} $、 $\displaystyle\frac{d} {2} $、 $\displaystyle\frac{e} {2} $ ), 那麼我們就會得到與圓錐曲線一般式 (等號左邊) 一模一樣的形式: $$ ax^2 + bxy + cy^2 + dx + ey + f $$
最後, 為了靈活運用這樣的計算法, 我們把最通用的形式寫出來, 並且徹底研究這種運算法的規則, 才能順利地用於後面的解題推理中。但是, 我們總不能每次都用畫表格的方式來表現, 所以在這裡我們假設:

$$ M = \left [ \begin{array} {ccc} a & ~~b & ~~c \\ d & ~~e & ~~f \\ g & ~~h & ~~i \end{array} \right ] \quad P = (x_1, y_1, z_1) \quad Q = (x_2, y_2, z_2) $$ 並且, 我們規定 新的符號: $$ [P, Q]_M $$ 就代表左表所表示的「表格式乘積總和」, 也就是: \begin{eqnarray*} [P, Q]_M &=& ~~ax_1x_2 + bx_1y_2 + cx_1z_2 \\ && + dy_1x_2 + ey_1y_2 + fy_1z_2 \\ && + gz_1x_2 + hz_1y_2 + iz_1z_2 \end{eqnarray*}

新符號的定義

究竟這樣的新符號有什麼漂亮的運算規則呢? 請看以下的說明:

新符號的運算性質

假設我們除了上述的新符號之外, 我們也引用一般的「向量加法」與「純量積」的運算概念, 也就是下列的運算規則:

  1. 若 $P=(x_1, y_1, z_1)$, $Q=(x_2, y_2, z_2)$, 則 $P+Q$ 代表 $(x_1+x_2, y_1+y_2, z_1+z_2)$
  2. 若 $P=(x, y, z)$, $t$ 為實數, 則 $tP$ 代表 $(tx, ty, tz)$。

那麼, 我們所使用的新符號就會有以下的運算規則:


假設 $P=(x_1, y_1, z_1)$、 $Q=(x_2, y_2, z_2)$、 $R=(x_3, y_3, z_3)$, $t$ 為實數, 則有

  1. 加法分配律:
    $[P+Q, R]_M=[P, R]_M+[Q, R]_M$ 或 $[P, Q+R]_M=[P, Q]_M+[P, R]_M$
  2. 純量積:
    $[tP, Q]_M=t[P, Q]_M=[P, tQ]_M$


一般而言, 「交換律」並不成立, 也就是 $[P, Q]_M=[Q, P]_M$ 通常是錯的, 但如果 $M$ 是「對稱」的, 那麼交換律也會是正確的。 但我們說 $M$ 是「對稱」的, 指的是什麼意思呢? 在這裡我舉個例子:

左表中, 數字 1、 4、 7 所在的位置, 我們術語上稱為矩陣 的「主對角線」, 在這主對角線的兩側的「格子對」 (如圖中紅色的箭頭所指的三對格子) , 如果都各自相同, 那麼我們就說: 這個矩陣是「對稱」的。
左表中, 如果我們假設:
$M=\left[\begin{array} {ccc} a&b/2&d/2\\ ~b/2~&c&~e/2~\\ d/2&~e/2~&f \end{array} \right]\qquad P = (x, y, 1)$

那麼, 圓錐曲線的方程式

$$ax^2 + bxy + cy^2 + dx + ey + f = 0$$

就可以寫成:

$$[P, P]_M = 0$$

這裡的 $M$ 就是一個典型的「對稱矩陣 」。從現在開始, 我們將這個矩陣稱為圓錐曲線的「係數矩陣 」。


因此, 如果 $M$ 是「對稱」的, 那麼我們的新符號就擁有了「交換律」:

  1. $[P, Q]_M=[Q, P]_M$


以上所說的運算性質, 會在下面的討論中一直出現, 但我們將這些 性質的證明放到本文最後的 附錄中, 因為雖然這些證明很重要, 但並不是我們要討論的重點, 所以介紹完新的符號後, 我們趕快回到原來的問題上吧!

我們原來的問題是: 如果直線通過 $A=(x_1, y_1)$、 $B=(x_2, y_2)$ 兩點, 那麼它與圓錐曲線:
$ax^2+bxy_cy^2+dx+ey+f=0$ 到底會不會相交? 在什麼條件下, 它才會變成切線?

豁然開朗的切線準則

我們前面有提到, 如果點 $(x, y)$ 在圓錐曲線 $ax^2+bxy+cy^2+dx+ey+f=0$ 上面, 那麼這個點座標代入方程式當然會等於零, 如果我們用「表格式乘積加總法」來表示的話, 那會得到:

$=0$

所以, 如果 $A$ 的座標為 $(x, y)$, 那麼我們希望 用 $\overline{A}$ 來代表 $(x, y, 1)$, 這樣的話, 我們就可以用更簡短的方式來表示一個點是否在圓錐曲線上了, 也就是: $$ A(x, y) ~\hbox{ 在 } ~ ax^2 + bxy + cy^2 +dx + ey + f = 0 ~\hbox{ 上} $$ 可以寫成:

$=[\overline{A} , \overline{A} ]_M=0$,其中 $M = \left [ \begin{array} {ccc} a & ~b/2 & ~d/2 \\ b/2 & ~c & ~e/2 \\ d/2 & ~e/2 & ~f \end{array} \right ]$


  1. 我們就不妨把 $\overline{A} (x, y, 1)$ 稱為是 $A(x, y)$ 的「擴充座標」吧! (註: 比較正式的說法是「齊次座標」)


所以假設我們說 $B$ 點的座標為 $(4, 5)$, 那麼 $\overline{B} $ 就表示是 $(4, 5, 1)$, 其餘請以此類推。 好! 我們已經做完所有的準備工作了, 現在讓我們正式開始繼續切線的推理工作吧!


通過 $A=(x_1, y_1)$、 $B=(x_2, y_2)$ 兩點的直線參數式為: $$ \left \{ \begin{array} {l} x = x_1 + (x_2-x_1)t = (1-t)x_1 + tx_2 \\ y = y_1 + (y_2-y_1)t = (1-t)y_1 + ty_2 \end{array} \right. $$ 我們也可以寫成這樣: $$ \left [ \begin{array} {c} x \\ y \end{array} \right ] =(1-t) \left [ \begin{array} {c} x_1 \\ y_1 \end{array} \right ] + t \left [ \begin{array} {c} x_2 \\ y_2 \end{array} \right ]\hskip 3cm ~ $$

如果我們把 $(x, y)$ 稱為 $P$, 那麼會有: $$ P = (1-t)A + tB\hskip 7cm ~ $$ 事實上, 對於「擴充座標」 $\overline{P} (x, y, 1)$ 來說, 下面的式子也是對的: $$ \overline{P} = (1-t)\overline{A} + t\overline{B} \hskip 7cm ~ $$ 也就是: $$ \left [ \begin{array} {c} x \\ y \\ 1 \end{array} \right ] =(1-t) \left [ \begin{array} {c} x_1 \\ y_1 \\ 1 \end{array} \right ] + t \left [ \begin{array} {c} x_2 \\ y_2 \\ 1 \end{array} \right ] $$ 是對的 (請讀者自行檢驗) 。

現在, 如果我們要檢查 $AB$ 直線上的動點 $P$ 是不是在圓錐曲線上, 我們只要檢查: $$ [\overline{P} , \overline{P} ]_M = 0 ~\hbox{ 對不對就好。} $$ 但因為: $$ \overline{P} = (1-t)\overline{A} + t\overline{B} $$ 所以, 我們要檢查: $$ [(1-t)\overline{A} +t\overline{B} , ~(1-t)\overline{A} +t\overline{B} ]_M = 0 ~\hbox{ 有沒有解?} $$ 接著我們整理 (利用 新符號的運算性質) : \begin{eqnarray*} && \hskip -15pt [(1-t)\overline{A} +t\overline{B} , ~(1-t)\overline{A} +t\overline{B} ]_M \\ &=& (1-t)^2 [\overline{A} , \overline{A} ]_M + 2t(1-t)[\overline{A} , \overline{B} ]_M + t^2[\overline{B} , \overline{B} ]_M \\ &=& \Big ([\overline{A} , \overline{A} ]_M - 2[\overline{A} , \overline{B} ]_M + [\overline{B} , \overline{B} ]_M\Big ) \cdot t^2 + \Big (-2[\overline{A} , \overline{A} ]_M + 2[\overline{A} , \overline{B} ]_M\Big ) \cdot t + \Big ([\overline{A} , \overline{A} ]_M\Big ) \end{eqnarray*} 之前, 我們對這個 $t$ 的二次式有沒有解束手無策, 現在有了新的符號幫忙下, 如虎添翼, 我們不僅用新符號重新算出這個二次式, 這一次我們更要計算出它的 判別式, 請繼續看下面 判別式的計算: \begin{eqnarray*} && \hskip -25pt \Big (-2[\overline{A} , \overline{A} ]_M + 2[\overline{A} , \overline{B} ]_M\Big )^2 - 4 \Big ([\overline{A} , \overline{A} ]_M - 2[\overline{A} , \overline{B} ]_M + [\overline{B} , \overline{B} ]_M\Big ) \Big ([\overline{A} , \overline{A} ]_M\Big ) \\ &=& 4\Big ([\overline{\bf A} , \overline{\bf B} ]_M^2 - [\overline{\bf A} , \overline{\bf A} ]_M [\overline{\bf B} , \overline{\bf B} ]_M\Big ) \end{eqnarray*} 從上式, 我們得到一個非常重要的結果, 也是本文最主要的結果, 當: $$ [\overline{\bf A} , \overline{\bf B} ]_M^2 - [\overline{\bf A} , \overline{\bf A} ]_M [\overline{\bf B} , \overline{\bf B} ]_M = 0 ~\hbox{ 時} $$ 判別式為零, 此時意味著: 直線AB與圓錐曲線的 交點只有一個, 這個交點就是 切點, 此直線就是 切線。 因為這個「切線準則」太重要了, 所以我們重新再敘述一遍:

切線準則

若通過 $A(x_1, y_1)$ 與 $B(x_2, y_2)$ 的直線為圓錐曲線 $ax^2+bxy+cy^2+dx+ey+f=0$ 的 切線, 則 「擴充座標」 $\overline{A} (x_1, y_1, 1) \hbox{ 、 } \overline{B} (x_2, y_2, 1)$ 會擁有以下的 切線準則:
(1) $[\overline{\bf A} , \overline{\bf B} ]_M^2-[\overline{\bf A} , \overline{\bf A} ]_M [\overline{\bf B} , \overline{\bf B} ]_M=0$.

之前我們完全無法處理的判別式, 現在竟然化為如此簡短的數學式, 可見新符號的威力真是驚人!

切線準則的應用

現在讓我們舉幾個例子來看看如何使用這個超強的「切線準則」。


例題 2: $A(3, -2)$ 在雙曲線 $x^2-y^2+x-2y-12=0$ 上。請問經過 $A$ 點的切線方程式是什麼?


解答: 假設 $P(x, y)$為切線上的一點, 那麼通過 $A$ 與 $P$ 的直線, 事實上就是切線本身, 既然如此, 那麼 $\overline{\bf A}$ 與 $\overline{\bf P}$ 就會符合「切線準則」: $$ [\overline{\bf A} , \overline{\bf P} ]_M^2 - [\overline{\bf A} , \overline{\bf A} ]_M [\overline{\bf P} , \overline{\bf P} ]_M = 0 $$ 但因為 $A$ 本身在雙曲線上, 所以: $ [\overline{\bf A} , \overline{\bf A} ]_M = 0 $

因此, 我們可以得到: $ [\overline{\bf A} , \overline{\bf P} ]_M = 0 $

也就是:

經整理可得: $ \frac{7} {2} x + y - \frac{17} {2} = 0 $

或者你也可以寫成 $7x+2y=17$, 這就是經過 $A$ 點的切線方程式。


經過上面這個例題的探討, 我們發現一個漂亮的現象, 那就是:

過切點的切線方程式

若 $A(x_0, y_0)$ 在圓錐曲線 $ax^2+bxy+cy^2+dx+ey+f=0$ 上, 則通過 $A$ 點的切線方程式為: $ [\overline{\bf A} , \overline{\bf X} ]_M = 0, \hbox{ 其中 } ~ \overline{\bf X} = (x, y, 1) $ 也就是切線方程式為:

現在, 我們將這個公式應用到所有圓錐曲線的標準式上, 你會發現: 所有我們熟知的標準式切線公式 (如果你曾經記憶過的話) , 會一一出現。請看:

下表中, 我們假設 $(x_0, y_0)$ 為圓錐曲線上的一點

類型 標準式 計算切線 所得切線方程式
橢圓 $\displaystyle\frac{x^2} {a^2} +\frac{y^2} {b^2} =1$
$\displaystyle\frac{x_0} {a^2} x+\frac{x_0} {b^2} y=1$
拋物線(上下型) $x^2=4cy$
$x_0x=2c(y+y_0)$
拋物線(左右型) $y^2=4cx$
$y_0y=2c(x+x_0)$
雙曲線(左右型) $\displaystyle\frac{x^2} {a^2} -\frac{y^2} {b^2} =1$
$\displaystyle\frac{x_0} {a^2} x-\frac{x_0} {b^2} y=1$
雙曲線(上下型) $-\displaystyle\frac{x^2} {a^2} +\frac{y^2} {b^2} =1$
$-\displaystyle\frac{x_0} {a^2} x+\frac{x_0} {b^2} y=1$

雖然上面我們列出了所有的標準式的切線公式, 但我們這樣做只是為了要向你說明: 我們的「切線準則」是通用的, 你可以用於任一類型的圓錐曲線, 而不是要你去背誦上面這些看起來都不太一樣的切線公式。


上面我們一直把重心擺在解決如何計算 圓錐曲線上一點的切線, 但是如果要計算通過圓錐曲線 外一點的切線時, 那麼又該如何呢? 請看下面的例子:


例題 3: 請計算通過 $A(1, 1)$, 並與橢圓 $x^2+2y^2=1$ 相切的切線方程式。 注意: $A$ 點在橢圓外! 所以會有 兩條切線。


解答: 假設 ${\bf P} (x, y)$ 為切線上的一點, 那麼根據

「切線準則」, 我們可以得到:

$ [\overline{\bf A} , \overline{\bf P} ]_M^2 - [\overline{\bf A} , \overline{\bf A} ]_M [\overline{\bf P} , \overline{\bf P} ]_M = 0 $. 其中:

\begin{eqnarray*} && [\overline{\bf A} , \overline{\bf A} ]_M = 1^2 + 2\times 1^2 - 1 = 2 \qquad \hbox{註: 就是將 $A(1, 1)$ 直接代入 $x^2+2y^2-1$} \hskip 1cm \\ && [\overline{\bf P} , \overline{\bf P} ]_M = x^2 + 2y^2 - 1 \qquad \hbox{註: 就是將 ${\bf P} (x, y)$ 直接代入 $x^2+2y^2-1$} \end{eqnarray*}

因此, $$ (x+2y-1)^2 - 2(x^2+2y^2-1) = 0 $$ 整理可得: $$ x^2 - 4xy + 2x + 4y - 3 = 0 $$ 最後我們作 因式分解(我們知道答案是兩條直線, 所以應該可以分解成兩條直線方程式) : \begin{eqnarray*} && (-4x+4)y + (x^2+2x-3) = 0 \\ && -4(x-1)y + (x-1)(x+2) = 0 \\ && (x-1)(-4y+x-2) = 0 \end{eqnarray*} 因此: $$ x - 1 = 0 ~\hbox{ 或 } ~ x - 4y + 3 = 0 $$ 最後這兩個方程式都是直線方程式, 而且也是 ${\bf P} (x, y)$ 必須符合的條件, 所以這 兩條直線就是切線!


例題 4: 請計算通過 $A(2, -3)$, 並與拋物線 $x^2=4y$ 相切的切線方程式。 注意: $A$ 點在拋物線外! 所以會有 兩條切線。


解答: 假設 ${\bf P} (x, y)$ 為切線上的一點, 那麼根據「切線準則」,

我們可以得到: $ [\overline{\bf A} , \overline{\bf P} ]_M^2 - [\overline{\bf A} , \overline{\bf A} ]_M [\overline{\bf P} , \overline{\bf P} ]_M = 0 $

其中:

因此, $$ (2x-2y+6)^2 - 16(x^2-4y) = 0 $$ 整理可得: $$ 3x^2 + 2xy - y^2 - 6x - 10y - 9 = 0 $$ 最後我們作 因式分解: \begin{eqnarray*} && 3x^2 + (2y-6)x - (y^2+10y+9) = 0 \\ && 3x^2 + (2y-6)x - (y-1)(y+9) = 0 \\ && [x + (y+1)][3x - (y+9)] = 0 \end{eqnarray*} 因此: $$ x + y + 1 = 0 ~\hbox{ 或 } ~ 3x - y - 9 = 0 $$ 最後這兩個 直線方程式, 就是 切線!


一般說來, 如果一個點在圓錐曲線之外, 那麼它會擁有兩條切線, 但還有另外一條線跟這個點也有密切的關係, 這條線叫做「極線」, 請看以下的探討:

極線的探討


例題 5: 已知 $A(3, 2)$ 在橢圓 $x^2+2y^2-4y=4$ 的外面, 且通過 $A$ 點的切線 (有兩條) 與橢圓分別交於 $C$、 $D$ 兩點, 請計算出 $CD$ 直線的方程式。


解答: 因為 $AC$ 直線與 $AD$ 直線都是切線, 所以由「切線準則」知: \begin{eqnarray*} && [\overline{\bf A} , \overline{\bf C} ]_M^2 - [\overline{\bf A} , \overline{\bf A} ]_M [\overline{\bf C} , \overline{\bf C} ]_M = 0 \hskip 7cm \\ && [\overline{\bf A} , \overline{\bf D} ]_M^2 - [\overline{\bf A} , \overline{\bf A} ]_M [\overline{\bf D} , \overline{\bf D} ]_M = 0 \end{eqnarray*}

但因為 $C$、 $D$ 都在橢圓上, 所以: \begin{eqnarray*} && [\overline{\bf C} , \overline{\bf C} ]_M = 0 \\ && [\overline{\bf D} , \overline{\bf D} ]_M = 0 \end{eqnarray*}

因此我們可以知道: \begin{eqnarray*} && [\overline{\bf A} , \overline{\bf C} ]_M = 0 \\ && [\overline{\bf A} , \overline{\bf D} ]_M = 0 \end{eqnarray*}

雖然目前我們還不知道 $C$、 $D$ 的點座標, 但由這兩個方程式, 我們知道 $C$、 $D$ 同時符合下面這個方程式: $$ [\overline{\bf A} , \overline{\bf X} ]_M = 0, \quad \hbox{其中 } ~ \overline{\bf X} = (x, y, 1) \hskip 1cm $$ 然而這個方程式本身就是一個直線方程式, 請看:

所以, 既然 $C$、 $D$ 同時符合這個方程式, 那麼 $CD$ 直線方程式當然就是: $ 3x + 2y = 8 $


經由上面這個例題的探討, 我們得到一條特殊的直線, 這條直線我們稱為「極線」, 這是一條 通過兩切點的直線。 我們將這個重要的結果整理如下:

極線公式

若 $A(x_0, y_0)$ 在圓錐曲線 $as^2+bxy+cy+dx+ey+f=0$ 外面, 通過 $A$ 點的兩條切線交圓錐曲線於 $C$、 $D$ 兩點, 則我們稱 $CD$ 直線為 $A$ 點的「極線」, 且其方程式為: $$ [\overline{\bf A} , \overline{\bf X} ]_M = 0, \quad \hbox{其中 } ~ \overline{\bf X} = (x, y, 1) \hskip 3cm $$ 也就是極線方程式為:

此時, 我們也稱 $A$ 點為 $CD$ 直線的「極點」。

如果你還記得前面的「過切點的切線方程式」公式的話, 你會發現: 這兩個公式不是 一模一樣嗎? 是的, 的確沒錯! 是一模一樣。當 $A$ 點在圓錐曲線 外時, 這個公式會產生「極線」, 但當 $A$ 點到達圓錐曲線 上時, 它就會變成「切線」!

其實, 透過上面的極線公式, 我們可以得到一種 特殊的對應關係, 也就是 一個「極點」對應到一條「極線」, 更特殊的是: 一個「切點」對應到一條「切線」, 這種對應關係非常有意思, 所以我們打算繼續往下探討, 但是因為以下的探討需要用到「矩陣 」與「齊次座標」的觀念, 因此如果你沒有學過這些觀念, 那麼也許你只能先跳過下面這一段!

以下的討論, 僅提供給學過「矩陣 」與「齊次座標」的讀者!

極點與極線、切點與切線的探索

在更深入討論之前, 我們先利用「矩陣 」與「齊次座標」的語言, 再將前面的結果重新敘述一遍:

假設: \begin{eqnarray*} {\bf A} &=& \left [ \begin{array} {c} x_0 \\ y_0 \\ z_0 \end{array} \right ] ~\hbox{ 為座標平面上 定點$A$ 的齊次座標} \hskip 3cm~\\ {\bf M} &=& \left [ \begin{array} {ccc} a & ~b/2 & ~d/2 \\ b/2 & ~c & ~e/2 \\ d/2 & ~e/2 & ~f \end{array} \right ] ~\hbox{ 為圓錐曲線的係數矩陣 } \\ {\bf X} &=& \left [ \begin{array} {c} x \\ y \\ z \end{array} \right ] ~\hbox{ 為座標平面上動點$X$ 的齊次座標} \end{eqnarray*} 由前面的討論, 我們有下面的結果:


  1. 若 $A$ 在圓錐曲線上, 則 ${\bf A^TMA} =0$。
  2. 若 $A$ 為極點, 則 ${\bf A^TMX} =0$ 為極線方程式, 我們也可以說 ${\bf A^TM} $ 為 極線的齊次座標。
  3. 若 $A$ 為切點, 則 ${\bf A^TMX} =0$ 為切線方程式, 我們也可以說 ${\bf A^TM} $ 為 切線的齊次座標。


若我們假設 ${\bf u} ={\bf A^TM} $ 是一條極線 (或切線) 的齊次座標, 則我們可以推論: \begin{eqnarray*} {\bf u} = {\bf A^TM} &\Rightarrow& {\bf uM} ^{-1} = {\bf A^T} \\ &\Rightarrow& {\bf A} = ({\bf uM} ^{-1} )^{\bf T} {\bf u^T} = {\bf M} ^{-1} {\bf u^T} \end{eqnarray*} 所以我們有以下結果:


  1. 若 ${\bf u} $ 為極線 (切線) 齊次座標, 則 ${\bf M} ^{-1} {\bf u^T} $ 為極點 (切點) 齊次座標。


如果 ${\bf u} $ 是切線齊次座標的話, 那麼 ${\bf M} ^{-1} {\bf u^T} $ 就是切點, 也就是說 ${\bf M} ^{-1} {\bf u^T} $ 在圓錐曲線上, 因此我們可以推得: $ ({\bf M} ^{-1} {\bf u^T} )^{\bf T} {\bf M} ({\bf M} ^{-1} {\bf u^T} ) = 0 $

也就是: ${\bf uM} ^{-1} {\bf u^T} = 0$

所以我們又有了一個很特殊的結果:

切線齊次座標方程式

如果 ${\bf u} $ 是切線齊次座標的話, 那麼 ${\bf u} $ 符合方程式: ${\bf uM} ^{-1} {\bf u^T} =0$

這個「切線齊次座標方程式」有很漂亮的應用, 但在應用它之前, 我想先說說 ${\bf M} $ 與 ${\bf M} ^{-1} $。

${\bf M} =\left [ \begin{array} {ccc} a & ~b/2 & ~d/2 \\ b/2 & ~c & ~e/2 \\ d/2 & ~e/2 & ~f \end{array} \right ]$ 可以說是圓錐曲線的「齊次座標」, 怎麼說呢? 且讓我來舉的例子:

比方說, 如果我們把橢圓方程式 $x^2\!+\!2y^2\!-\!4y\!=\!4$ 乘以 3 倍, 會得到 $3x^2+6y^2\!-\!12y=12$,

但它還是 同一個橢圓方程式啊! 也就是說: 兩個「係數矩陣 」

$\left [ \begin{array} {ccc} 1 & ~0 & ~0 \\ 0 & ~2 & ~-2 \\ 0 & ~-2 & ~-4 \end{array} \right ]$ 與 $\left [ \begin{array} {ccc} 3 & ~0 & ~0 \\ 0 & ~6 & ~-6 \\ 0 & ~-6 & ~-12 \end{array} \right ]$, 它們的作用其實是一模一樣的!

所以, 如果兩個「係數矩陣 」只差一個 (非零的) 倍數, 那麼它就會代表 同一個圓錐曲線, 這也就是為什麼我們說 ${\bf M} $ 算是圓錐曲線的「齊次座標」了!

因此, 雖然「切線齊次座標方程式」寫成 ${\bf uM} ^{-1} {\bf u^T} =0$, 但因為 ${\bf M} ^{-1} $ 與 $adj({\bf M} )$ 只差一個倍數, 所以我們在真正計算的時候, 其實直接利用 $adj({\bf M} )$ 就可以了。

註: $adj({\bf M} )$ 是 ${\bf M} $ 的「古典伴隨矩陣 」(classical adjoint)。也就是: $$ \hbox{若 } ~ M=\left [ \begin{array} {ccc} a & ~b & ~c \\ d & ~e & ~f \\ g & ~h & ~i \end{array} \right ], \quad \hbox{則 } ~ adj({\bf M} ) = \left [ \begin{array} {ccc} + \left | \begin{array} {cc} e & ~f \\ h & ~i \end{array} \right | & ~- \left | \begin{array} {cc} d & ~f \\ g & ~i \end{array} \right | & ~+ \left | \begin{array} {cc} d & ~e \\ g & ~h \end{array} \right | \\ - \left | \begin{array} {cc} b & ~c \\ h & ~i \end{array} \right | & ~+ \left | \begin{array} {cc} a & ~c \\ g & ~i \end{array} \right | & ~- \left | \begin{array} {cc} a & ~b \\ g & ~h \end{array} \right | \\ + \left | \begin{array} {cc} b & ~c \\ e & ~f \end{array} \right | & ~- \left | \begin{array} {cc} a & ~c \\ d & ~f \end{array} \right | & ~+ \left | \begin{array} {cc} a & ~b \\ d & ~e \end{array} \right | \end{array} \right ]^{\bf T} $$ 下面我們就來看看如何應用這個「切線齊次座標方程式」!

切線齊次座標方程式的應用


例題 6: 請計算出橢圓 $x^2+2y^2-4y=4$ 上斜率為 2 的切線 (有兩條) 。


解答: 因為切線斜率為 2, 我們可以將切線設為: $2x-y+k=0$, 也就是我們可以將切線的「齊次座標」 (也就是它的係數) 設為: $$ {\bf u} = [2 ~~-1 ~~k] $$ 再來, 經由橢圓的「係數矩陣 」: $$ {\bf M} = \left [ \begin{array} {ccc} 1 & ~0 & ~0 \\ 0 & ~2 & ~-2 \\ 0 & ~-2 & ~-4 \end{array} \right ]\hskip 3cm $$

我們可以計算出: $$ {\bf M} ^{-1} \equiv adj({\bf M} ) = \left [ \begin{array} {ccc} -12 & ~0 & ~0 \\ 0 & ~4 & ~2 \\ 0 & ~2 & ~2 \end{array} \right ] \hskip 6cm $$

因為 ${\bf u} $ 為切線的「齊次座標」, 所以符合: ${\bf uM} ^{-1} {\bf u^T} =0$, 因此我們可以得到:

整理得: \begin{eqnarray*} && k^2 - 2k - 26 = 0 \\ && k = 1 \pm 3\sqrt{3}\hskip 9.5cm~ \end{eqnarray*} 因此我們所求的切線為: $$ 2x - y + 1 \pm 3\sqrt 3 = 0\hskip 8cm~ $$


從上面這個例子可以看到, 利用 ${\bf M} ^{-1} $ (或者 $adj({\bf M} )$), 我們可以計算出已知斜率的切線方程式。 所以讓我們再看另一個例子來說明如何計算圓錐曲線標準式的切線。


例題 7: 已知橢圓 $\displaystyle\frac{x^2} {a^2} +\frac{y^2} {b^2} =1$ 的切線斜率為 $m$, 請計算其方程式。


解答: 橢圓標準式的「係數矩陣 」為: $$ {\bf M} = \left [ \begin{array} {ccc} 1/a^2 & ~0 & ~0 \\ 0 & ~1/b^2 & ~0 \\ 0 & ~0 & ~-1 \end{array} \right ] $$ 所以: $$ {\bf M} ^{-1} \equiv adj({\bf M} ) = \left [ \begin{array} {ccc} -1/b^2 & ~0 & ~0 \\ 0 & -1/a^2 & ~0 \\ 0 & ~0 & ~1/a^2b^2 \end{array} \right ] $$ 假設切線方程式為: $mx-y+k=0$, 也就是假設 ${\bf u} =[m ~~-1 ~~k]$, 因此根據: $$ {\bf uM} ^{-1} {\bf u^T} = 0 $$ 我們有: $$ -\frac{m^2} {b^2} - \frac{1} {a^2} + \frac{k^2} {a^2b^2} = 0 $$ 所以推得:

$k^2 = a^2m^2 + b^2$

$k = \pm \sqrt{a^2m^2+b^2}$

因此, 我們可以推得已知斜率的橢圓切線公式: $ y = mx \pm \sqrt{a^2m^2+b^2} $


經由上面這個例子的啟發, 我們可以看得出來, 其實每個「標準式」的切線都可以利用相同的方法計算出來。 下面我們就列出所有圓錐曲線 (橢圓、雙曲線、拋物線) 標準式的切線公式 (如果斜率是已知的話) , 但詳細的計算過程, 請讀者自行驗證。

已知斜率的切線公式

類型 標準式 ${\bf M} $ 計算 ${\bf uM} ^{-1} {\bf u^T} =0$ 所得切線方程式
橢圓或
雙曲線
$\displaystyle\frac{x^2} {A} +\frac{y^2} {B} =1$
$y=mx\pm\sqrt{Am^2+B} $
拋物線
(上下型)
$x^2=4cy$
$y=mx-cm^2$
拋物線
(左右型)
$y^2=4cx$
$y=mx+\displaystyle\frac{c} {m} $

當然, 跟前面一樣, 我們列出這個公式表, 並不是要讀者去背誦它, 我們的目的還是在展示最重要的一個觀念: 「切線齊次座標方程式」 是通用的, 而且它不是只能用在標準式而已喔!

下面我們再展示一個更神奇的例子給你看。 如果我們不知道圓錐曲線本身的方程式, 但知道它的某些切線方程式, 我們甚至可以反推出這個圓錐曲線是誰, 請看!


例題 8: 如右下圖, 我們連接 $(1, 0)$, $(0, 9)$、 $(2, 0)$, $(0, 8)$、 $\cdots$, $(9, 0)$, $(0, 1)$ 等直線。 假設這些直線都是某個圓錐曲線的切線, 請問這個圓錐曲線的方程式是什麼?


解答: 從右圖這些連接線的連接法, 我們可以知道它們的截距式為: \begin{eqnarray*} && \frac{x} {1} + \frac{y} {9} = 1 \hskip 12cm ~ \\ && \frac{x} {2} + \frac{y} {8} = 1 \\ && \quad \vdots \\ && \frac{x} {9} + \frac{y} {1} = 1 \end{eqnarray*}

它們可以統一寫成: $$ \frac{x} {m}+\frac{y}n = 1, ~\hbox{ 其中 } ~ m + n = 10\hskip 9.4cm~ $$

換句話說, 我們可以假設這些線的「齊次座標」為: $$ {\bf u} = [u ~~v ~~1], ~\hbox{ 其中 } ~ u = -\frac{1} {m} , ~v = -\frac{1} {n}\hskip 7cm~ $$

這樣一來, 因為 $m+n=10$, 所以可以推得: \begin{eqnarray*} && -\frac{1} {u} - \frac{1} {v} = 10 \hskip 9cm~\\ && 10uv + u + v = 0 \end{eqnarray*} 而且如果這些線都是某個圓錐曲線的切線, 那麼它們會符合切線「齊次座標」的方程式: $$ {\bf uM} ^{-1} {\bf u^T} = 0 $$ 但我們知道: $10uv+u+v=0$, 所以可以推得: $$ {\bf M} ^{-1} = \left [ \begin{array} {ccc} 0 & ~5 & ~1/2 \\ 5 & ~0 & ~1/2 \\ 1/2 & ~1/2 & ~0 \end{array} \right ] $$ 最後我們可以得到: \begin{eqnarray*} {\bf M} \equiv adj({\bf M} ^{-1} &=& \left [ \begin{array} {ccc} -1/4 & ~1/4 & ~5/2 \\ 1/4 & ~-1/4 & ~5/2 \\ 5/2 & ~5/2 & ~-25 \end{array} \right ]\hskip 7cm ~\\ &\equiv& \left [ \begin{array} {ccc} 1 & ~-1 & ~-10 \\ -1 & ~1 & ~-10 \\ -10 & ~-10 & ~100 \end{array} \right ] \end{eqnarray*} 也就是原來的圓錐曲線方程式為:

$ x^2 - 2xy + y^2 - 20x - 20y + 100 = 0\hskip 9cm ~ $

進一步的分析讓我們知道它是一個「拋物線」, 如上圖。


附錄

(新符號運算性質的證明)


假設 $P=(x_1, y_1, z_1)$、 $Q=(x_2, y_2, z_2)$、 $R=(x_3, y_3, z_3)$, $t$ 為實數, 則有

  1. 加法分配律:
    $[P+Q, R]_M=[P, R]_M+[Q, R]_M$ 或 $[P, Q+R]_M=[P, Q]_M+[P, R]_M$
  2. 純量積:
    $[tP, Q]_M=t[P, Q]_M=[P, tQ]_M$


證明 我們先證明加法分配律。假設: $$ M = \left [ \begin{array} {ccc} ~a~ & ~b~ & ~c~ \\ d & ~e~ & ~f~ \\ g & ~h~ & ~i~ \end{array} \right ]\hskip 6cm~ $$ 則:

另一邊的加法分配律請讀者自行驗證。


接下來, 我們再證明「純量積」。

另一邊的純量積也請讀者自行驗證。


參考文獻

Brannan, D. A., Esplen, M. F. and Gray, J. J., Geometry, Cambridge, p.166-173.

---本文作者任教台北市立陽明高中數學科---

文章 推薦

電腦模擬與賭局

假設玩家A和B進行賭博。玩家A有m元,玩家B則有n元,然後擲1個公正的硬幣。如果出現正面就算玩家A贏,反面就算玩家B贏。每次賭注都是1元,如果A贏則A變m+1元、而B變n−1元,並稱此為1回合。雙方不斷地進行賭博,直到某方的錢歸零為止。在這個賭博中,有以下兩個問題:(1)玩家A和玩家B贏的機率各是多少?(2)每投1次硬幣決勝負,都稱為1回合,平均要幾回合,賭局才會結束(某方錢輸光)?....閱讀更多