从圆心到矩形最近点的平方距离可以计算为(零表示圆心在矩形内):
dx = Max(Abs(cx - rect.center.x) - rect.width / 2, 0) dy = Max(Abs(cy - rect.center.y) - rect.height / 2, 0) SquaredDistance = dx * dx + dy * dy
然后将其与平方半径进行比较
矩形有4个角,你应该检查这4个角中是否有不在圆的位置。 如果您有圆心和半径,则每个矩形角到圆心的距离必须小于圆半径。