题
我的问题可能会有点奇怪。我的"发达"的一个算法并不知道如果有一个类似的算法已经在那里。
这种情况:我已经有了一个追踪定义的跟踪点(2D)。轨道点表示实证明的实例。轨道之间点那里只有直线。现在我给一组坐标,在这2D空间。我计算距离,从第一轨道点的新坐标和距离间隔的第一次两跟踪点。如果距离测量的坐标是比较短的距离从第一个到的第二轨道点,我假设,这一点就在这之间的时间间隔。然后我做的线性插值。如果这是更大的,我会查一下的时间间隔。
所以这基本上是把时间间隔的距离,并试图将他们在那里。我尝试跟踪移动的对象大约沿着该轨道。
这听起来是不是熟悉的人吗?有人可以拿出一个建议一个类似的现有算法?
编辑: 从我所说迄今为止,我想澄清这个位置是不是乘以相关的跟踪点。考虑现ASCII绘图乔纳森*制成:
X的位置是现在分段1和2(S12)。现在,下一个位置,这是不能被认为是足够近能在S12。我会移动到S23,并检查它。
如果它存在,我不会检查S12的任何其他价值,是因为我找到了一个在下一个分段。算法"不返回"。
但是,如果它不能找到合适的段从那里,因为它happenend是要远离的第一区段,但仍然进一步远离任何其他段无论如何,我将在下降的价值和未来的位置将被找回S12,再次。
循环仍然是一个问题。考虑我Y S23然后跳过两个或三个职位(因为他们是太远),我可能会失去了轨道。我可以确定一个位置34会已经在S56。
也许我可以拿出一些平均速度vage告诉在什么段应当的。
它似乎更大的段,更大的机会来做正确的决定。
解决方案
我担心有关的算法你已经描述是,它是贪婪的',并可能选择的"错误"的轨道段(或至少一个跟踪段不是最靠近点)。
时间的推ASCII技术的限制。考虑该路径如下(数字代表列在名单跟踪点),并协调X(以及后来,Y)。
1-------------2
|
| Y
X |
5-----+-----6
| |
| |
4-----3
我们怎么解释你的描述吗?
[C]alculate,距离第一轨道点的新坐标和距离间隔的第一次两跟踪点。如果距离测量的坐标是比较短的距离从第一个到的第二轨道点,[承担]说这一点就在这之间的时间间隔;[...][i]f它是更大,[...]查询与下一个时间间隔。
我认为第一句意味着:
- 计算距离,从TP1(踪点1)TP2-叫它D12。
- 计算距离,从TP1X(称它D1X)和从TP2为X(称它D2X).
最棘手的部分是解释的有条件判刑。
我的印象是,如果任何一D1X或D2X小于D12,然后X将被假定为以上(或者最接近太)轨道段TP1TP2(电话这段S12)。
看着位置的X在图,它是适度显然,这两个D1X和D2X小于D12,因此我解释你的算法将解释X作为与S12,但X显然是更接近S23或S56比S12(但是,这些被丢弃的,甚至没有被考虑).
我有没有误会了一些关于你的算法?
在考虑这一点:我理解你的算法的意思是,如果X点位于两圈半径D12集中在TP1或圆形半径为D12集中在TP2,那么你准X与S12。然而,如果我们还认为Y点,算法我建议您使用的会也将它与S12。
如果算法是精说的 MAX(D1Y, D2Y) < D12
, 然后它没有考虑Y为有关S12。然而,X是可能仍然被认为是相关的S12而不是S23或S56。