我的问题可能会有点奇怪。我的"发达"的一个算法并不知道如果有一个类似的算法已经在那里。

这种情况:我已经有了一个追踪定义的跟踪点(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。

其他提示

第一部分的这个算法让我想起了我的移动通过一discretised空间。一个例子,表示这种空间是的 Z了 空间填充曲线。我已经用这种技术来表示 四分树, ,数据结构 适应的目的改进 代码是我曾经工作过的,并采用了一种算法非常喜欢你描述穿过电网及确定距离之间的颗粒。

相似性可能不会立即显而易见的。因为你只关心位置间隔,你是有效治疗上的所有点的时间间隔作为相当于在这一步骤。这是相同的,因为选择一个空间,其中只有discretised点-你们有效的'捕捉你指向一个电网。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top