怎么利用matlab过圆外一点求圆的切线方程

2024-11-17 04:34:59
推荐回答(1个)
回答1:

就是圆心到过该点直线的距离等于半径

已知圆心 (x0, y0), 定点 (x1, y1), 圆半径 R

设直线方程 (y-y1) = k(x-x1)
也就是 y - kx + kx1 - y1 = 0
R^2 = (y0 - kx0 + kx1 - y1)^2 /(1 + k^2)
然后就可以解出 k 来了.....

具体表述会比较繁杂,就不写了....

还可以有另一种解法,我们记 k0 = (y1-y0)/(x1-x0) = tan x
tan y = R/sqrt(D^2 - R^2) = R/((y1-y0)^2 + (x1-x0)^2 - R^2)
k1 = tan (x+y), k2 = tan(x-y)
然后根据点斜式写出切线方程 y - y1 = k(x - x1) , 其中 k = k1 或 k2
tan(x+y) = (tanx - tany) /(1+tanx tany)
tan(x-y) = (tanx + tany) /(1-tanx tany)