1)求出点到直线的距离,并存入容器dis中,已知直线的系数a,b,c已知:
vector<double>dis; for(int i =0;i<size;i++) { double d1 = a * points.at(i).x+b * points.at(i).y+c; double d2 = sqrt(a*a+b*b); double d = sqrt(d1/d2*d1/d2); dis.push_back(d); }
注:points是一个存储多个点的容器。
2)求出最大距离和最小距离。
double min,max; max = min = dis.at(0); for (int i = 0; i < size; i++) { if (max < dis.at(i)) max = dis.at(i); if (min > dis.at(i)) min = dis.at(i); }