Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我是 Unity 的新手,我需要知道如何检查球是否在由线绘制的圆圈内。我将线的每个点的碰撞点保存在一个数组中,以检测它是否与球发生碰撞,每个碰撞点都有其 X - Y 点,我需要知道用户是否设法包围了球用他画的线。
如果你能用一些代码帮助我,我将不胜感激。
谢谢你。
不太清楚 - 什么是“由线画的圆”?
在任何情况下,圆的中心 C 和半径 R,球的中心 bc,半径 br,中心之间的距离D = Sqrt((bc.X-C.X)*(bc.X-C.X) + (bc.Y-C.Y)(bc.Y-C.Y))
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 <= R)完全位于内部
R - br >= D