angulo

Cuestiones y dudas acerca de lenguajes de programación diversos.

Moderador: Moderadores

Avatar de Usuario
necromancer

angulo

Mensaje por necromancer » Sab Oct 29, 2005 1:36 am

hola a todos
tengo un problema con mi programa, busco que un personaje tenga un angulo determinado mirando a otro personaje y tengo solo dos puntos pesonaje1 (x,y) y personaje2 (x2,y2), he pensado que se podia con la pendiente p = (y2 - y) / (x2 - x) pero hay instantes en que se divide por 0 y crash, uuuf que complicado explicar esto imagino que nadie entendio nada
bueno gracias a todos

Avatar de Usuario
ABCdatos
Administrador foro
Mensajes: 673
Registrado: Dom Mar 03, 2002 1:00 am
Contactar:

Mensaje por ABCdatos » Sab Oct 29, 2005 4:19 am

La pendiente puede ser infinita cuando ambos están en la misma coordenada X, de ahí la división por cero y el consiguiente error. Un algoritmo posible sería:

Código: Seleccionar todo

Si x1=x2
 ' Pendiente infinita
 Si y1>y2
  Angulo=0
 Pero Si y1<y2
  Angulo=180
 En caso contrario
  'Están en el mismo punto (mala situación, cualquier dirección sirve)
  Angulo=0
 Fin Si
Si no
 Pendiente=(y2-y1)/(x2-x1)
 Y calcular el ángulo como tenías previsto,
 'a lo que faltará ya sólo determinar el sentido.
Fin Si
¡Suerte!
Equipo ABCdatos.
http://www.abcdatos.com/

Avatar de Usuario
necromancer

Mensaje por necromancer » Sab Oct 29, 2005 3:18 pm

muchas gracias :D

Responder