1 /// <summary> 2 /// 点是否在圆内(在边上也认为在圆内) 3 /// </summary> 4 /// <param name="cPoint">圆心坐标</param> 5 /// <param name="cRadius">圆半径</param> 6 /// <param name="point">当前点</param> 7 /// <returns></returns> 8 public static bool 点是否在圆内(Vector2D cPoint, double cRadius, Vector2D point) 9 { 10 double distance = Math.Sqrt(Math.Pow(Math.Abs(point.X - cPoint.X), 2) + Math.Pow(Math.Abs(point.Y - cPoint.Y), 2)); 11 return distance <= cRadius; 12 } 13 14 /// <summary> 15 /// 点是否在圆内(在边上也认为在圆内) 16 /// </summary> 17 /// <param name="cPoint">圆心坐标</param> 18 /// <param name="onPoint">圆边上坐标</param> 19 /// <param name="point">当前点</param> 20 /// <returns></returns> 21 public static bool 点是否在圆内(Vector2D cPoint, Vector2D onPoint, Vector2D point) 22 { 23 double cRadius = Math.Sqrt(Math.Pow(Math.Abs(onPoint.X - cPoint.X), 2) + Math.Pow(Math.Abs(onPoint.Y - cPoint.Y), 2)); 24 double distance = Math.Sqrt(Math.Pow(Math.Abs(point.X - cPoint.X), 2) + Math.Pow(Math.Abs(point.Y - cPoint.Y), 2)); 25 return distance <= cRadius; 26 }