我有一系列点(不是顶点),它们形成一个开放的形状,但它们随机排列成一个数组,但为了有效地识别形状,我需要做的是按照形状的顺序排列点。
有什么方法可以让我知道哪个是起点和终点?
编辑:这些点位于2D平面中,我有边界框。这些点是从图像处理算法中获得的,当逐个像素地处理图像时,该算法从上到下给出了点(不是按照形状的顺序)。
答案 0 :(得分:2)
给定一组点,有各种方法可以从中重建形状。如果你只考虑两点之间的距离,那么这基本上归结为一个经典的traveling salesman problem:你正在寻找一个通过所有点的游览,这最小化了所述游览的长度。您可以添加一个与飞机中所有点具有相同距离的人工点。这会将循环游览变为线性游览:该人工点之后的点将是起始点,而它之前的点将是终点。可能存在TSP近似算法,可以开箱即用非循环游览。
仅考虑距离会忽略涂装设备运动固有的任何惯性。所以我并不认为这是最好的模型。但是对于大多数模型,我仍然会考虑一种确定所有点的顺序的方法,这会自动导致识别起点和终点。我无法想到一种方法来可靠地识别这两者,而无法在两者之间订购所有点。
答案 1 :(得分:1)