2011-12-06 00:17:32 +08:00
|
|
|
#include "Euclidean.hpp"
|
|
|
|
|
|
|
|
double Euclidean::computeDistanceFrom(const Euclidean & euclidian)
|
|
|
|
{
|
|
|
|
double diffx = _x - euclidian.getX();
|
|
|
|
double diffy = _y - euclidian.getY();
|
|
|
|
double diffx_sqr = pow(diffx, 2);
|
|
|
|
double diffy_sqr = pow(diffy, 2);
|
|
|
|
|
|
|
|
return sqrt(diffx_sqr + diffy_sqr);
|
|
|
|
}
|
2012-01-10 05:07:14 +08:00
|
|
|
|
|
|
|
double Euclidean::max(const std::vector<Euclidean> vect)
|
|
|
|
{
|
|
|
|
double max = (*vect.begin()).getDistance();
|
|
|
|
std::vector<Euclidean>::const_iterator it;
|
|
|
|
|
|
|
|
for (it = vect.begin() + 1; it != vect.end(); it++) {
|
|
|
|
if ((*it).getDistance() > max) {
|
|
|
|
max = (*it).getDistance();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
return max;
|
|
|
|
}
|
|
|
|
|
|
|
|
double Euclidean::min(const std::vector<Euclidean> vect)
|
|
|
|
{
|
|
|
|
double min = (*vect.begin()).getDistance();
|
|
|
|
std::vector<Euclidean>::const_iterator it;
|
|
|
|
|
|
|
|
for (it = vect.begin() + 1; it != vect.end(); it++) {
|
|
|
|
if ((*it).getDistance() < min) {
|
|
|
|
min = (*it).getDistance();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
return min;
|
|
|
|
}
|