就是圆心到过该点直线的距离等于半径
已知圆心 (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)