如何在 MATLAB 中找到两个凸包之间的最近点?
How to find closest points between two convex hull in MATLAB?
在人工神经网络 matlab 代码的一部分中,我想找到两个凸多边形的最近点。
我看到了
dsearchn(X,T,XI)
命令的描述 here,但它会找到两组点之间最近的点,并且多边形(如凸面)有无穷多个点。
那么你能提出任何建议吗way/idea?
注意:我使用的是 MATLAB 2014a。我有每个凸面顶点的坐标。
如果您对 dsearchn 提供的内容不满意,那么,如果我是您,我会执行以下两项操作之一:
- 在顶点上找到最近的邻居(例如哪个顶点
多边形 A 是多边形 B 的给定顶点的 NN)。
- 在多边形 A 内选取一个随机点(您可能想要计算
A 的凸包,但你可以跳过它,只考虑
你已经知道的顶点)。那个随机点就是查询。寻找
来自多边形 B.
顶点的那个点的 NN
您可能想在 Software recommendation 秒后询问更多信息。
编辑:
另一种方法是这样的:
创建多边形 A 的代表性数据集。自己设置数据集的大小,并用位于多边形内部的点样本填充它。在多边形内均匀随机选择。
然后取多边形 B 的一个点(多边形 B 内的顶点或随机点),这就是查询点,您将在多边形 A 的代表性数据集中为其寻找最近邻点。
当然这只是一个近似值,但我现在想不出别的东西了。
请注意,您当然可以对多边形 B 执行相同的操作。
通过文件交换中的 This File,我找到了解决方案。
通过稍微修改代码,我绘制了一条我想要的垂直平分线。当然,这种方式比较费时间。
在人工神经网络 matlab 代码的一部分中,我想找到两个凸多边形的最近点。
我看到了
dsearchn(X,T,XI)
命令的描述 here,但它会找到两组点之间最近的点,并且多边形(如凸面)有无穷多个点。
那么你能提出任何建议吗way/idea?
注意:我使用的是 MATLAB 2014a。我有每个凸面顶点的坐标。
如果您对 dsearchn 提供的内容不满意,那么,如果我是您,我会执行以下两项操作之一:
- 在顶点上找到最近的邻居(例如哪个顶点 多边形 A 是多边形 B 的给定顶点的 NN)。
- 在多边形 A 内选取一个随机点(您可能想要计算 A 的凸包,但你可以跳过它,只考虑 你已经知道的顶点)。那个随机点就是查询。寻找 来自多边形 B. 顶点的那个点的 NN
您可能想在 Software recommendation 秒后询问更多信息。
编辑:
另一种方法是这样的:
创建多边形 A 的代表性数据集。自己设置数据集的大小,并用位于多边形内部的点样本填充它。在多边形内均匀随机选择。
然后取多边形 B 的一个点(多边形 B 内的顶点或随机点),这就是查询点,您将在多边形 A 的代表性数据集中为其寻找最近邻点。
当然这只是一个近似值,但我现在想不出别的东西了。
请注意,您当然可以对多边形 B 执行相同的操作。
通过文件交换中的 This File,我找到了解决方案。
通过稍微修改代码,我绘制了一条我想要的垂直平分线。当然,这种方式比较费时间。