在人工神经网络 matlab 代码的一部分中,我想找到两个凸多边形的最近点。
我看到了
dsearchn(X,T,XI)
命令的描述here ,但这会找到两组点之间最接近的点,并且多边形(如凸面)具有无限个点。
那么你能提出任何方法/想法吗?
注意:我使用的是 MATLAB 2014a。我有每个凸面顶点的坐标。
最佳答案
如果您对 dsearchn 提供的内容不满意,那么,如果我是你,我会执行以下两项操作之一:
- 查找顶点上的最近邻居(例如哪个顶点 多边形A是多边形B给定顶点的NN。
- 在多边形 A 内选取一个随机点(您可能想要计算 A 的凸包,但你可以跳过它并只考虑 您已经知道的顶点)。该随机点就是查询。寻找 从多边形 B 的顶点到该点的一个神经网络。
您可能想通过 Software recommendation 询问了解更多。
编辑:
另一种方法是这样的:
创建多边形 A 的代表性数据集。自行设置数据集的大小,并用位于多边形内部的点的样本填充它。在多边形内均匀随机选择它们。
然后取多边形 B 的一个点(多边形 B 内的顶点或随机点)作为查询点,您将在多边形 A 的代表性数据集中为其寻找最近邻。
当然这只是一个近似值,但我现在想不出其他的了。
请注意,您当然可以对多边形 B 执行相同的操作。
关于matlab - 如何在MATLAB中找到两个凸包之间的最近点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38161675/