坐标最小距离c ++

时间:2016-03-16 18:58:14

标签: c++ distance min coordinate

我目前遇到一些小问题,因为我需要找到与我的最小距离相对应的坐标。 例如,我有一个人和三个潜在的站。我需要找到它们之间的距离,然后取最小距离,然后我必须采取与该最小距离相关的坐标。 我发送给你的循环只是为了我的程序的那一部分。

for (newCoordinate = newPoints.begin(); newCoordinate != newPoints.end(); newCoordinate++)// here are my three potential stations
{
    distanceBetweenBusCoordinateAndNewPoint = sqrt(pow((busRequest->x - newCoordinate->x), 2) + (pow((busRequest->y - newCoordinate->y), 2)));// find min
    distances.push_back(distanceBetweenBusCoordinateAndNewPoint);//add to the vector
}
newdis = min_element(distances.begin(), distances.end());// find the min of min

谢谢你的帮助!

1 个答案:

答案 0 :(得分:0)

我会将此视为在std::vector中找到最小值。

一个变量包含最小距离;初始化为最大值。 两个Point变量定义与最小距离相关的直线。

这是一个算法:

Calculate distance.  
if distance < minimum distance  
    set Point1 and Point2 to the ordinates used in the distance calculation.  
    set minimum distance to the calculated distance.  

在循环结束时,变量Point1Point2将是与minimum distance相关联的坐标。