我有一些特殊特征的问题。
我有:
一个点P(实际上它是一个点数组
ArrayP
,但是我想编写的函数应用于每个点,所以它每次都会收到一个点)
其他点的数组(形成轨迹)
Trajectory
也是原始数组中第一个点的索引。
而且
Trajectory
中的点数总是大于ArrayP
中的点数。
我需要找到
Trajectory
到 P
最接近的点
我的问题是我不知道
Trajectory
中的索引,只知道ArrayP
中的索引
而且
Trajectory
中的点数很大,所以我不想尝试所有的点。
我开发了一种算法,对于一些简单的轨迹效果很好,但在一些更复杂的轨迹上仍然失败。我不想将其发布在这里并要求改进,而是想听到一种解决此问题的新方法
当您说“我不想尝试所有这些”时,是否真的需要这样做(即否则计算时间太长)或只是您的直觉?因为否则这是一个非常简单的问题,只需计算所有轨迹点与数组中每个点之间的距离并返回每个点的最小值即可。
关于没有轨迹点索引的问题,您可以简单地使用两个变量来存储当前最近的点及其距离,并在迭代轨迹点时更新它。