圆弧与矩形的交点

时间:2018-06-28 05:53:23

标签: geometry collision-detection intersection

说有一个弧形和一个矩形。

弧具有位置,半径,最小和最大角度以及弧本身的宽度。矩形具有位置,宽度和高度以及旋转。

如何确定圆弧和矩形是否相交?

Provided is a visual aid that may increase clarity.绿色矩形是被认为是相交的矩形,而红色矩形不是相交的。

我已经确定通常要单独检查矩形的每个线段上的交点,但是我还不确定如何解释矩形是否位于圆弧的内部但距离不够近相交。

1 个答案:

答案 0 :(得分:0)

对于完全位于圆弧内部的矩形,您可以检查-任何拐角点(x, y)是否属于粗圆弧。对于弧中心(cx, cy),内半径r和外半径R以及角度a0,a1

dist = length(x - cx, y - cy)
if dist lies in range r..R:
   angle = atan2(y-cy, x-cx)
   if angle in range a0..a1:
       rectangle is inside 

另一种非标准情况:查找圆弧是否完全位于大矩形内-只需检查圆弧的任何点是否位于该矩形内即可。