注册 登录
编程论坛 VB6论坛

vb求两圆的交点程序

lpeng520 发布于 2015-10-27 17:16, 889 次点击
大家好:
     本人新手,我想用VB求两圆的交点,现在用的是用解方程的方法求交点,好麻烦,有时候还遇到报错,请问大侠们,谁有简单点的求解方法。
                                                                   谢谢!@
3 回复
#2
wmf20142015-10-27 19:48
解方程是最直接的了,有什么麻烦的。
#3
tyc1892015-10-27 22:41
根据两圆的圆心距离和两圆的半径之和相比(1)如果前者大,则无交点
                          (2)如果相等则有一个交点,交点的位置在圆心的连线上, 距离某个圆心的距离刚好等于此圆的半径
                           (3)如果后者大,这时再比较圆心距离和两圆半径差的绝对值,如果A:后者大,则没有交点
    B:相等,则有一个交点,交点位置在圆心的连线上,距离大圆圆心极力为大圆的半径
    C:后者小,则有两个交点。此时的交点与两圆的圆心连线构成三角形,底边为圆心距离,两边分别为两圆的半径。根据三角形计算公式求某一边与底边的夹角(用ARCCOS来求)。然后再求圆心连线的斜率(也用ARCCOS求,不过求取之后需要修正,因为ACRCOS只能求出0到Pi之间的值)
,;之后把斜率加上夹角后得出一个交点与某个圆心连线的斜率,把斜率减去夹角后得出另一个交点与某个圆心连线的斜率。最后根据斜率和距离(为某个圆的半径)求的交点坐标。
至于已知距离和斜率求坐标的方法我想你也知道的。
#4
xiangyue05102015-10-28 09:16
解方程,个人感觉是最简单的。要不利用上面的解三角函数
1