|
|
1
1
你可以用
|
|
2
1
算法
进一步改进
此解决方案基于以下问题:检测命中是
还不够
,因为检测到碰撞时可能太晚了,实际碰撞可能发生在上一个点和当前点之间的任何位置(在
这种试错法可以通过在正确计算的基础上开始非常精确的“猜测”来改进 在发现第一次撞击后 .
我们可以计算
如果计算正确,那么只有2个循环就足以检测碰撞点:第一个循环用于检测碰撞(如所示)
|
|
3
0
nearest point 在从移动点的位置开始的路径上。
如果点与最近点之间的距离低于阈值(等于
不过有个陷阱
:的
举个例子:
以及 Sketch .
也就是说,最好的方法就是等待(或实现自己),
Path dilation/offsetting
理想情况下,扩张/抵消将用相同的方法完成
有一个 JS library that reliably does polygon offsetting 可能对你有用。 |