纯数学表达式,而不是具体数值,那么得到的最终结果表达式是比较复杂而繁琐的,下面提供个思路:
为了简化问题,可以先对坐标系做平移(-xr,-yr)和旋转一个角度(arctg=(y0-yr)/(x0-xr),使得圆心O和原点重合,而且圆外这点A落在x轴上。
圆心O和A的距离在上述坐标轴变换中是保持不变的,距离L==√[(y0-yr)² + (x0-xr)²]
令两个切点分别是B(第一象限)、C(第四象限)。
以B为例,OBA是直角三角形,cos∠BOA=R/L,sin∠BOA = (√(L²-R²))/L
所以B点的坐标:
xb = R * cos∠BOA = R²/L
yb= R * sin∠BOA = R*(√(L²-R²))/L
C点对称于B点,所以:xc=xb=R²/L,yc=-yb= -R*(√(L²-R²))/L
最后再把得到的坐标先旋转,再平移变换回去就得到了最终两个切点的坐标。
追问其实要的就是那个复杂的表达式,你给的结果貌似不对诶。。。
追答我没有给出最终的结果,你仔细看看再推导下吧,思路应该是这样的。