我有两个任意形状。现在我想计算两个形状之间的最小距离。在这里,我附着图像计算两个任意形状之间的最小距离
所有的先画部分已完成。这些形状是弧和线的组合。现在,当我要计算这些形状之间的最小距离时,我正面临着问题。使用GWT(java)html5画布绘制这些形状。
对于计算两个形状之间的最小距离我用下面的Java代码,但我没有得到任何优化的方式来做到这一点 -
private double calculateMinimumDistance(Coordinate[] coordinates_1, Coordinate[] coordinates_2) {
double minDistance = 100000;
double currentDistance = 0;
for(int i = 0; i < coordinates_1.length; ++i) {
for(int j = 0; j < coordinates_2.length; ++j) {
currentDistance = coordinates_1[i].distanceTo(coordinates_2[j]);
if(currentDistance < minDistance) {
minDistance = currentDistance;
}
}
}
return minDistance;
}
coordinates_1包含形状-1的点的集合。
coordinates_2包含形状2的点的集合。
是否有任何优化的方式来计算两个形状之间的距离?这种形状可以是任何地方和任何类型的形状。
代替计算两个设定点 之间的最小距离,我们可以通过计算线之间的距离 线或线电弧或电弧电弧做它在最优化的方式。通过这种方式,我们可以通过优化的方式计算出最小距离 。
准备你的数学,然后用Java编写 –
你必须首先做出一些假设,比如你的程序将在什么基础上计算距离,例如。他们的位置,最重要的是你如何在程序中表现这些形状。 – itwasntme
关于如何开始的第一个想法:定义你的形状。 Java代码中的形状如何表示?如果你不能告诉Java代码你的形状,你会如何期待它做任何事情? – Andreas