Bootstrap

C#(winform)绘制两个圆,并判断其位置关系

一图胜千言

请添加图片描述

基于勾股定理

在这里插入图片描述
图中可以看出,如果o1的平方+o2的平方>o1o2的平方那么两个圆相离,反之两个圆相交。

核心代码

//判断一点是否在圆上,依据点与圆的位置关系,(x-a)^2+(y-b)^2=r^2 则该点在圆上,>r则在圆外,<r则在圆内
        private bool checkPointIsInCircle(Point _clickPoint)
        {
            float tempR = (_clickPoint.X - c2.X) * (_clickPoint.X - c2.X) + (_clickPoint.Y - c2.Y) * (_clickPoint.Y - c2.Y);
            if (tempR < r2 * r2)
            {
                return true;
            }
            return false;
        }

;