13 Punto::Punto(
double lat,
double lon): latitud(lat), longitud(lon){}
32 bool igual_long = (abs(longitud - p.longitud) < 1e-5);
33 bool igual_lat = (abs(latitud - p.latitud) < 1e-5);
34 return(igual_long && igual_lat);
45 is >> c >> lat >> c >> lon >> c;
52 int col = (int) ((longitud + 180) * num_columnas / 360);
53 int fila = (int) ((90 - latitud) * num_filas / 180);
54 return pair<int, int>(fila, col);
61 return pair<int,int>((p1.first+p2.first)/2,(p1.second+p2.second)/2);
68 if (p1.second != p2.second) angle = atan((p2.first-p1.first)/(
double)(p2.second-p1.second));
69 else if (p2.first > p1.first) angle = M_PI/2;
72 if (p2.second < p1.second) angle += M_PI;
pair< int, int > punto_medio_en_mapa(const Punto &p, int num_columnas, int num_filas) const
Punto medio entre dos puntos.
void setLatitud(double lat)
Asigna una latitud al punto.
bool operator==(const Punto &p) const
Sobrecarga del operador ==.
Punto()
Constructor por defecto.
double angulo_en_mapa(const Punto &p, int num_columnas, int num_filas) const
Ángulo de la recta que une dos puntos.
double getLongitud() const
Devuelve la longitud del punto.
double getLatitud() const
Devuelve la latitud del punto.
void setLongitud(double lon)
Asigna una longitud al punto.
pair< int, int > coordenadasMapa(int num_columnas, int num_filas) const
Pasa de coordenadas geográficas a coordenadas en el mapa.
ostream & operator<<(ostream &os, const Punto &p)
Sobrecarga del operador <<.
istream & operator>>(istream &is, Punto &p)
Sobrecarga del operador >>
Fichero cabecera del TDA Punto.