Math 编程以确定2D圆是否无障碍

Math 编程以确定2D圆是否无障碍,math,graphics,2d,collision-detection,game-physics,Math,Graphics,2d,Collision Detection,Game Physics,在二维平面中,有一个圆心(x,y)和半径为r的圆。如果圆圈内有障碍物,最有效的方法是什么 当然,解决问题的一种方法是迭代圆中的每个点,以检查该位置()中是否存在障碍物,但是有更好的方法吗 谢谢 是的。圆有一个圆心和一个半径。检查平面中是否有点(x0,y0),例如: (x0-x)2+(y0-y)2≤ r2应该是x^2+y^2的平方根半径应该是公式中的平方。已修复。谢谢你的有用意见。我想你误解了我的问题,请检查我的更新意见和Pankrates的回复。你制定它的方式将是相当计算密集。您需要一个数组,该

在二维平面中,有一个圆心(x,y)和半径为r的圆。如果圆圈内有障碍物,最有效的方法是什么

当然,解决问题的一种方法是迭代圆中的每个点,以检查该位置()中是否存在障碍物,但是有更好的方法吗


谢谢

是的。圆有一个圆心和一个半径。检查平面中是否有点(x0,y0),例如:


(x0-x)2+(y0-y)2≤ r2

应该是x^2+y^2的平方根半径应该是公式中的平方。已修复。谢谢你的有用意见。我想你误解了我的问题,请检查我的更新意见和Pankrates的回复。你制定它的方式将是相当计算密集。您需要一个数组,该数组包含二维平面中每个坐标的所有元素id,或者需要一个数组,该数组包含平面中存在的所有元素,并检查它们是否与任何坐标圆相交。在我看来,这两种选择都远远不够理想。说明如何在平面中生成几何对象和/或跟踪这些几何对象可能会有所帮助。感谢您的评论,一些几何对象(障碍物)已经存在于平面中,并且这些障碍物可能不是静态的。现在我随机生成一个圆心(x,y)和半径为r的圆,但我必须提出一个算法来确保随机生成的圆应该是无碰撞的。好吧,这已经很有帮助了。你如何定义你的坐标,它们是连续的还是(正如我所期望的)你定义了一个在点之间有特定有限步长的网格?基本上坐标是基于计算机图形上的像素。所以每个有限步是1px。