Título: Dirección entre dos puntos (Latitud-Longitud) Publicado por: Shell Root en 27 Junio 2011, 05:36 am Es posible saber la dirección de un trayecto si tengo la Lat-Lon inicial y la final...
Por ejemplo si tengo PI=Punto Inicial; PF= Punto Final. PI ----> PF ó PF <---- PI o Quizás diagonal. No se donde poner esto, así que lo pongo en programación general. Título: Re: Dirección entre dos puntos (Latitud-Longitud) Publicado por: _Enko en 28 Junio 2011, 17:28 pm Sabiendo coordenadas inicial (x1, y1) y la coordenadas finales (x2, y2) podrias calcular el Vector Direccion
dx=x2-x1; dy=y2 - y1; teniendo el vector direccion dx:dy (ojo, no son coordenadas, es la direccion) Puedes calcular el angulo angle=atan2(dy, dx) y si lo quieres en radianes angled= atan2 (y,x) * 180 / PI; Título: Re: Dirección entre dos puntos (Latitud-Longitud) Publicado por: Shell Root en 28 Junio 2011, 20:52 pm Bueno, lo entiendo, aunque lo estaba haciendo alrevez :/, podríamos darme un ejemplo para graficar el angulo?
Supongo que sería algo así, Código
Título: Re: Dirección entre dos puntos (Latitud-Longitud) Publicado por: _Enko en 28 Junio 2011, 22:33 pm No te entiendo.... te refieres como una manecilla de reloj? x1= 0; y1 = 0; angulo = 90 Distancia = 10 anguloRadianes = angulo * Pi / 180; x2 = sin(anguloRadianes) * Distancia; y2 = cos(anguloRadianes) * Distancia. Linea(x1,y1, x2, y2) Título: Re: Dirección entre dos puntos (Latitud-Longitud) Publicado por: Shell Root en 29 Junio 2011, 02:23 am A lo que me refiero es que necesito saber si la dirección de las 2 posiciones, es de izq a der, o der a izq, etc... Supongo que el angulo debería ser entre los 360°
Esta dirección es más que todo para poder mostrar una imagen de una fecha, y son 4 posibles imagenes, que son estás... Código: 1. ---> "Izq-Der" Título: Re: Dirección entre dos puntos (Latitud-Longitud) Publicado por: criskapunk en 29 Junio 2011, 03:19 am No estoy seguro, pero podrias hacer algo asi.
PI = (xi; yi) PF = (xf; yf) PFPI = PF - PI = (xf - xi; yf - xi). Y a partir de los valores que te de: Si (xf - xi) es positivo e (yf - xi) es positivo = 1º cuadrante. Si (xf - xi) es negativo e (yf - xi) es positivo = 2º cuadrante. Si (xf - xi) es negativo e (yf - xi) es negativo = 3º cuadrante. Si (xf - xi) es positivo e (yf - xi) es negativo = 4º cuadrante. Si alguno de los valores da 0, te toca calcular si esta a 0, 90, 180 o 270 grados. Un saludo :) Título: Re: Dirección entre dos puntos (Latitud-Longitud) Publicado por: Shell Root en 29 Junio 2011, 09:15 am Yo lo tenia así, pero no me funciona en algunos casos... :/
Código
Título: Re: Dirección entre dos puntos (Latitud-Longitud) Publicado por: criskapunk en 29 Junio 2011, 19:52 pm Esto...
Código
No seria asi? Código
Título: Re: Dirección entre dos puntos (Latitud-Longitud) Publicado por: Shell Root en 29 Junio 2011, 21:37 pm .., aunque lo estaba haciendo alrevez :/, Título: Re: Dirección entre dos puntos (Latitud-Longitud) Publicado por: criskapunk en 29 Junio 2011, 21:47 pm En que casos no te funciona?
Título: Re: Dirección entre dos puntos (Latitud-Longitud) Publicado por: Shell Root en 30 Junio 2011, 02:43 am Pues sí, pero en 90%, algunos puntos no concuerdan con la dirección correcta, tendré que investigar más :D
LOS AMÓ A TODOS! :-* Título: Re: Dirección entre dos puntos (Latitud-Longitud) Publicado por: Shell Root en 1 Julio 2011, 06:50 am COÑO!, ahora necesito el calculo para la dirección de arriba-abajo y abajo-arriba
Título: Re: Dirección entre dos puntos (Latitud-Longitud) Publicado por: criskapunk en 1 Julio 2011, 14:24 pm No estoy seguro de que funcione...
X = (xf - xi) Y = (yf - xi) (x = 0) y (y > 0) Vertical hacia arriba. (x = 0) y (y < 0) Vertical hacia abajo. (x > 0) y (y = 0) Horizonal hacia la derecha. (x < 0) y (y = 0) Horizontal hacia la izquierda. (x = 0) y (y = 0) Es un punto, no una fecha. Un saludo :) |