我只是生成一个简单的网格代码来处理信号。
以下是网格常规形状的示例:
main
稍后我正在生成圆坐标,而不是直接用这段代码接触边界:
domain = Rectangle(Point(0.0, 0.0), Point(1.0, 1.0))
在“域”内,我放置了这些圆圈。
放置一个圆不是问题,但是放置更多的圆来计算每个圆之间的碰撞。
我尝试使用isPointInPath脚本,但是可以使用一个点,但不需要使用和计算的圆(形状)。
因此,通常我必须: -创建形状(后来用作网格) -生成圆并从形状中减去 -生成另一个圆,如果没有碰撞,则从减去的形状中减去它 -等等...
因为我不想将圆生成为无穷大(当形状内部没有空隙而没有孔的时候),所以我只是在“碰撞检测没有成功” 3次之后停止它。
我应该使用哪种简单的功能或方法来达到效果。我尝试了很多事情,但是我的方法更简单(对象没有移动)。
答案 0 :(得分:0)
如果已知圆的位置和半径,则通过距离方程(sqrt((δx平方)+(δy平方))来测试候选点是否在圆的半径之内。