我正在开发一个模拟,其中我有一个具有设定高度和长度(例如 100 米 x 100 米)的二维场。现在我在该字段中有一些 x 和 y 坐标点(不多,大约 6 或 7)。现在我要计算(或简单地近似)距离所有其他点最远的点。
在我对该主题的研究中,我发现了凸包的概念,我认为这对我没有帮助,并且 spherical Voronoi diagrams ,坦率地说不知道如何实现。
任何人都可以提示我一个可能的、更简单的解决方案或提出示例代码吗?我的目标是使用 C++ 方法实现它,输出点的 x 和 y 坐标。
最佳答案
您可以将每个点与您要比较的点的 x 和 y 坐标的重心进行比较。
要获得代表您想要比较的所有点的点,您可以这样做:
#include <iostream>
using namespace std;
int main()
{
int a, sumx = 0, sumy = 0 ;
/* or use this
int a,sum;
sum = 0;
*/
int arrayx[] = {1, 2, 3, 4, 5};
int arrayy[] = {5, 5, 7, 9, 14};
int length = 5;
for (a=0; a<length; a++)
{
sumx+=arrayx[a];
sumy+=arrayy[a];
}
int gravx = sumx/length;
int gravy = sumy/length;
cout << "Grav of x = " << gravx << endl;
cout << "Grav of y = " << gravy << endl;
return 0;
}
您可以在这里尝试代码: https://www.onlinegdb.com/online_c++_compiler
关于c++ - 计算距离一组其他点最远的点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50821178/