我正在制作一个轨道编辑器,并且发现自己处于需要定义两个触摸圆圈的情况。理想情况下,我想知道这些圆的中心点和半径。
我所拥有的信息是每个圆的圆周上的一个点,以及该点处圆的切线。
就我自己而言,我已经发现,如果我知道这些点的切线,我就会知道中心点必须位于的线。
C1是我要找的第一个圆圈的中心
P1是圆的圆周上的一个点,在该圆上我知道切线
A是我在P1
C2是我正在寻找的第二个圆圈的中心
P2是圆周上的一个点,在该圆上我知道切线
B是我在P2
C1 = P1 - t1 * A
C2 = P2 - t2 * B
我也知道两个中心之间的距离将等于中心距圆周点的距离之和。
|C1 - P1| + |C2 - P2| = |C1 - C2|
我也希望将abs(| t1 * A | - | t2 * B |)保持在最低限度。
答案 0 :(得分:0)
如果只有切线向量和点,则没有足够的信息。你需要至少2个点,每个圆圈再多一个,否则t1和t2可以是真实的。
(顺便说一句,A = -B)
无视,我认为圈子不重叠。无论哪种方式,在不了解更多信息的情况下,我们无法知道它们有多大(因此中心点在哪里)。