求两圆交点坐标

大概也可以说成是解二元二次方程组.

是从...网站上copy的:

The following note describes how to find the intersection point(s) between two circles on a plane, the following notation is used. The aim is to find the two points P3 = (x3, y3) if they exist.

 

 

 

First calculate the distance d between the center of the circles. d = ||P1 - P0||.

  • If d > r0 + r1 then there are no solutions, the circles are separate.

     

  • If d < |r0 - r1| then there are no solutions because one circle is contained within the other.

     

  • If d = 0 and r0 = r1 then the circles are coincident and there are an infinite number of solutions.

     

Considering the two triangles P0P2P3 and P1P2P3 we can write

 

a 2  + h 2  = r 0 2  and b 2  + h 2  = r 1 2

Using d = a + b we can solve for a,

 

a = (r 0 2  - r 1 2  + d 2  ) / (2 d)

 

 

It can be readily shown that this reduces to r0 when the two circles touch at one point, ie: d = r0 + r1

Solve for h by substituting a into the first equation, h2 = r02 - a2

So

 

P 2  = P 0  + a ( P 1  - P 0  ) / d

And finally, P3 = (x3,y3) in terms of P0 = (x0,y0), P1 = (x1,y1) and P2 = (x2,y2), is

                                                                      x3 = x2 +- h ( y1 - y0 ) / d

                                                                       y3 = y2 -+ h ( x1 - x0 ) / d

其中有几个地方还是说明一下.......................................................................................

a的来源可以说是余弦定理   最后两个求x3 和y3 的式子可以看下面的图 标记粉颜色的角 这两个粉色的三角形相似..............

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值