我正在做一个小乌龟的实验,基本上是一个你可以控制乌龟的小游戏......我已经进行了轨迹计算,所以我可以很好地控制它!
但是,我想定义障碍,主要是由一组点定义的多边形。 如果乌龟伤害它们(弹性碰撞),那些会引发碰撞。
我的问题是...... 如何检测我是否在多边形的边界?假设我直接进入三角形的斜边中间,我怎么知道这实际上是一条我无法通过的线,在恰当的时刻,为了触发碰撞代码?
谢谢!
答案 0 :(得分:0)
您的多边形由线段定义。乌龟移动也是一个线段,因此您只需要检查乌龟线段和多边形线段列表之间的交叉点。
你可以很快地对一百或一千个线段进行此操作。除此之外,您还需要寻找更智能的算法。例如。 Bentley-Ottmann algorithm。