与两点相交的圆心

时间:2011-02-06 15:10:18

标签: geometry points

给定2D平面中的两个点,以及与这两个点相交的半径r的圆,计算该圆的中心的公式是什么?

我意识到圆圈可以放置两个位置。我想要的是,当从任意角度开始扫描连接这些点中的一个点的两个点的线时,首先以顺时针方向遇到中心的圆。在我找到第一部分的答案之后,我想这是我问题的下一个阶段。

我希望整个计算可以在没有三角法的情况下完成。我从整数坐标开始,如果有帮助,将以整数坐标结束。

3 个答案:

答案 0 :(得分:6)

不确定这是否是正确的问题,但是:

令:

q = sqrt((x2-x1)^2 + (y2-y1)^2)
x3 = (x1+x2)/2
y3 = (y1+y2)/2

第一圈:

x = x3 + sqrt(r^2-(q/2)^2)*(y1-y2)/q
y = y3 + sqrt(r^2-(q/2)^2)*(x2-x1)/q  

第二圈:

x = x3 - sqrt(r^2-(q/2)^2)*(y1-y2)/q
y = y3 - sqrt(r^2-(q/2)^2)*(x2-x1)/q  

Here

答案 1 :(得分:2)

答案 2 :(得分:2)

A =(ax,ay)
B =(bx,by)
d =((bx-ax)^ 2 +(by-ay)^ 2)^(1/2)#A到B的距离
r =你的圆的半径

if(2 * r> d)现实世界中没有解决方案 - 有一个复杂的解决方案; - )

if(2 * r = d)有一个解决方案:A和B之间的中间。

画一条从A到B的线 在中点处从该线绘制垂线并向外绘制距离D,使得r =(D ^ 2 +(d / 2)^ 2)^(1/2)。根据您的需要选择向左或向右。