检查球是否在由线绘制的圆圈内

时间:2017-03-02 17:57:54

标签: c# math unity2d

我是Unity的新手,我需要知道如何检查球是否在一条线所绘制的圆圈内。我将线的每个点的碰撞点保持在一个数组中以检测它是否与球发生碰撞,并且每个碰撞点都有其X-Y点,我需要知道用户是否设法围绕球用他画的线。

如果你能用一些代码帮助我,我会很感激。

谢谢。

1 个答案:

答案 0 :(得分:0)

目前尚不清楚 - 什么是"由一条线绘制的圆圈"?

在任何情况下,圆都有一个中心C和半径R,球有中心bc,半径br,中心之间的距离D = Sqrt((bc.X-C.X)*(bc.X-C.X) + (bc.Y-C.Y)(bc.Y-C.Y))

球:
如果中心之间的距离大于半径和

,则不与圆相交
D > R + br

接触圆圈,如果

D = R + br
如果

与它相交

R - br <  D < R + br
如果(假设br&lt; = R)

完全位于内部

R - br >=  D