求圆C与过A、B的虚圆D1、D2的公切点T1、T2(Lua实现)
求解过圆内两点的虚圆与已知圆的公切点问题
已知条件
两点A(ax, ay)、B(bx, by)均位于圆C内部,圆C的参数为:圆心坐标(cx, cy),半径cr。需要求解公切点T₁、T₂——这两个点是圆C与分别过A、B的虚圆D₁、D₂的公切点。
示例参数
A (30, 30) B (40, 20) C (50, 50, 40) // 注:格式为(圆心x, 圆心y, 半径)
正确解
T1 (28.6061, 16.202) T2 (87.3939, 35.798)
已完成计算步骤
- 计算线段AB的中点M:
mx, my = (ax+bx)/2, (ay+by)/2 - 计算AB垂线方向上的相关点:
m1x, m1y = mx + (ay-my), my - (ax-mx) m2x, m2y = mx + (by-my), my - (bx-mx)
待解决问题
如何得到虚圆D₁、D₂?
内容的提问来源于stack exchange,提问作者darkfrei
相关产品推荐
相关产品推荐

