『高中數(shù)學(xué)/解析幾何』關(guān)于上一篇專欄評(píng)論區(qū)的其他算法
如果你還沒有看過上一篇專欄,建議先補(bǔ)齊上一篇再繼續(xù)閱讀
傳送門:

在上一篇專欄中,我們使用初中的方法探討了過圓外一點(diǎn)作該圓的兩條切線,這兩條切線的斜率與點(diǎn)的坐標(biāo),圓的方程中各系數(shù)的關(guān)系
有很多人在評(píng)論區(qū)給出了自己的解法(雖然好像沒幾個(gè)是初中水平可以推導(dǎo)的??)
那么這一篇專欄則是對(duì)評(píng)論區(qū)中我認(rèn)為可行的方法進(jìn)行求解
不論如何,對(duì)于平面內(nèi)一圓及圓外一點(diǎn)
C:(x-a)2+(y-b)2=r2
K(u,v)
我們還是為了降低計(jì)算量,將圓平移至原點(diǎn)處,同時(shí)將點(diǎn)也進(jìn)行平移工作,以保證兩條切線的斜率不變,那么平移后圓與點(diǎn)變?yōu)椋?/span>
C':x2+y2=r2(r≥0)
K'(u-a,v-b)
同樣的,為了減少計(jì)算量,我們令
m=u-a,n=v-b
于是有K'(m,n)
(注:以下討論的均為|m|≠r的情況)
—————————分割線————————
第一種解法由@xx-xxl給出

預(yù)備知識(shí):點(diǎn)到直線的距離公式
首先,利用點(diǎn)斜式設(shè)出直線解析式
y=k(x-m)+n
將其改寫為一般的直線方程
-kx+y+(km-n)=0
由于該直線與圓相切,故圓心到此直線的距離為r,根據(jù)點(diǎn)到直線的距離公式,我們有:

既

兩邊同時(shí)平方去掉絕對(duì)值,變形得到:
k2m2-2kmn+n2=k2r2+r2
整理為關(guān)于k的一元二次方程:
(m2-r2)k2+(-2mn)k+(n2-r2)=0
對(duì)k求解得到:

正如我所回復(fù)的,這個(gè)方法對(duì)于熟悉點(diǎn)到直線距離公式的人來說十分簡單,要是計(jì)算能力稍強(qiáng)一點(diǎn)的,在五分鐘內(nèi)即可得出答案
—————————分割線————————
第二種解法由@只打人機(jī)的孩子給出

(在正式求解前說一句,此方法對(duì)二次函數(shù)的切線求解來說較為簡易,但是對(duì)于圓來說計(jì)算量過大,并且計(jì)算難度高,不建議使用)
預(yù)備知識(shí):圓的參數(shù)方程、隱函數(shù)求導(dǎo)、反三角函數(shù)、三角函數(shù)恒等變換
由這條評(píng)論容易想出這種解法:
設(shè)切點(diǎn)S(p,q)(p2+q2=r2),則由隱函數(shù)求導(dǎo)可知,過點(diǎn)S的切線斜率為-p/q
而過S和K'兩點(diǎn)的直線斜率為(q-n)/(p-m)
讓二者相等,通過化簡后可以得到這樣一個(gè)等式:
mp+nq=r2
進(jìn)行到這步后,似乎可以用q=√(r2-p2)進(jìn)行換元,但由于p,q正負(fù)的不確定性,我們無法進(jìn)行換元的工作(至少我做不下去了)
這時(shí)我們可以使用另一種方法,使得表示位置的變量的數(shù)量降為1,那就是引入圓的參數(shù)方程
眾所周知,圓心位于原點(diǎn),半徑為r的圓的參數(shù)方程為:
x=r·cost
y=r·sint
其中t為參數(shù)
通過這個(gè)方法,設(shè)切點(diǎn)坐標(biāo)為(rcosa,rsina),我們可以得到這樣一個(gè)等式:

化簡得到:
mcosa+nsina-r=0
對(duì)于學(xué)過三角恒等變換的讀者,看到這里應(yīng)該都知道要干什么了吧
沒錯(cuò)!我們可以用三角變換,將原式化為形如
Asin(ωx+φ)+B=0
的形式,此時(shí)再利用反三角函數(shù)即可求出a
我們令T=√(m2+n2),tan(o)=m/n
這時(shí)原式變?yōu)椋?/span>
Tsin(a+o)-r=0
于是我們可以得到:

(注:此解當(dāng)且僅當(dāng)n≥0時(shí)正確)
那另一個(gè)切點(diǎn)呢?
我們知道,這兩個(gè)切點(diǎn)一定關(guān)于直線y=(n/m)x對(duì)稱(如圖)

又因?yàn)閷?duì)于關(guān)于直線l?對(duì)稱的兩條直線l?,l?,三者與x軸正方向的夾角α?,α?,α?有如下關(guān)系:
α?+α?=2α?
于是可以得到另一個(gè)切點(diǎn)與x軸的夾角b為:

(同樣的,當(dāng)且僅當(dāng)n≥0時(shí)正確)
那么當(dāng)n<0的情況呢?
當(dāng)n<0時(shí),我們可以看作是n>0的情況進(jìn)行上下反轉(zhuǎn),故此時(shí)a、b的值是當(dāng)n>0時(shí)的值的相反數(shù),于是我們可以得到a'與b'為:

這里tan?1(m/n)沒有改變符號(hào)的原因是:
由于n改變了符號(hào),導(dǎo)致tan?1(m/n)的符號(hào)也發(fā)生了改變,因此連續(xù)兩次變號(hào)使得tan?1(m/n)的符號(hào)重新變回來的負(fù)號(hào)
而在b'中,π的符號(hào)為正的原因則是由于三角函數(shù)的周期性,使得在-π的基礎(chǔ)上加上2π也不會(huì)影響b'的各個(gè)三角函數(shù)值
最后,在知道了兩切點(diǎn)所對(duì)應(yīng)的弧度后,計(jì)算這兩個(gè)角的-cot值即可得出切線斜率,這里不過多闡述(反正算出來和上面的k值是一樣的)
不論如何,能從不同角度思考問題總是好的。在我看來,數(shù)學(xué)靠的就是興趣和好奇心(不然我也就水寫不出這幾篇專欄)
輔助軟件:Desmos
官網(wǎng):https://www.desmos.com
文章中第二種解法所用圖表:
https://www.desmos.com/calculator/p7p7tfione?lang=zh-CN