有两个圆:以点A为中心的 a和圆b(以B为中心)。计算所有或没有切圆的二维位置的方程是什么。主要约束是,所有圆的半径都相同。据我所知,应该要么没有解决方案(图 2),要么有 2 个解决方案(图 1)。如何找出是否有解决方案,以及这些解决方案的中心位置(C和D)。
图 1:这里应该有 2 个解决方案
图 2:没有解决方案!
更新(解决方案):
1) 计算 A 到 B 的距离 -> |AB| :
2) 检查解决方案是否存在,仅在以下情况下存在:
3)如果存在,计算点A和B之间的半点:
4) 创建线段AB的归一化垂直向量:
5) 计算这个 H 点到 C 点的距离 -> |HC| :
6) 最后在距离 |HC| 处从 X 开始沿 (HC)计算点C :