elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Dirección entre dos puntos (Latitud-Longitud)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Dirección entre dos puntos (Latitud-Longitud)  (Leído 12,498 veces)
Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.723


<3


Ver Perfil WWW
Dirección entre dos puntos (Latitud-Longitud)
« 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.


En línea

Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.
_Enko


Desconectado Desconectado

Mensajes: 538



Ver Perfil WWW
Re: Dirección entre dos puntos (Latitud-Longitud)
« Respuesta #1 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;


En línea

Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.723


<3


Ver Perfil WWW
Re: Dirección entre dos puntos (Latitud-Longitud)
« Respuesta #2 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
  1.      |
  2.  180 | 90  
  3. -------------
  4.  270 | 360
  5.      |
« Última modificación: 28 Junio 2011, 21:06 pm por Shell Root » En línea

Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.
_Enko


Desconectado Desconectado

Mensajes: 538



Ver Perfil WWW
Re: Dirección entre dos puntos (Latitud-Longitud)
« Respuesta #3 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)
En línea

Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.723


<3


Ver Perfil WWW
Re: Dirección entre dos puntos (Latitud-Longitud)
« Respuesta #4 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"

2. <--- "Der-Izq"

3. -
      -
        -> "Diagonal Izq-Der"

4.         - "Diagonal Der-Izq"
      -
 <-
« Última modificación: 29 Junio 2011, 02:30 am por Shell Root » En línea

Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.
criskapunk

Desconectado Desconectado

Mensajes: 277



Ver Perfil
Re: Dirección entre dos puntos (Latitud-Longitud)
« Respuesta #5 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 :)

En línea

Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.723


<3


Ver Perfil WWW
Re: Dirección entre dos puntos (Latitud-Longitud)
« Respuesta #6 en: 29 Junio 2011, 09:15 am »

Yo lo tenia así, pero no me funciona en algunos casos... :/
Código
  1. resLat = inicio[0] - fin[0];
  2. resLon = inicio[1] - fin[1];
  3.  
  4. if( (resLat < 0) && ( resLon < 0) ){
  5.   return "--->";
  6. }else if( (resLat > 0) && ( resLon < 0) ){
  7.   return "Diag-->";
  8. }else if( (resLat < 0) && ( resLon > 0) ){
  9.   return "<--Diag";
  10. }else if( (resLat > 0) && ( resLon > 0) ){
  11.   return "<---";
  12. }
En línea

Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.
criskapunk

Desconectado Desconectado

Mensajes: 277



Ver Perfil
Re: Dirección entre dos puntos (Latitud-Longitud)
« Respuesta #7 en: 29 Junio 2011, 19:52 pm »

Esto...

Código
  1. resLat = inicio[0] - fin[0];
  2. resLon = inicio[1] - fin[1];

No seria asi?

Código
  1. resLat = fin[0] - inicio[0];
  2. resLon = fin[1] - inicio[1];
En línea

Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.723


<3


Ver Perfil WWW
Re: Dirección entre dos puntos (Latitud-Longitud)
« Respuesta #8 en: 29 Junio 2011, 21:37 pm »

.., aunque lo estaba haciendo alrevez :/,
En línea

Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.
criskapunk

Desconectado Desconectado

Mensajes: 277



Ver Perfil
Re: Dirección entre dos puntos (Latitud-Longitud)
« Respuesta #9 en: 29 Junio 2011, 21:47 pm »

En que casos no te funciona?
En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines