Autor Tema: Ángulo de dirección dados tres puntos (origen, actual y destino)

0 Usuarios y 1 Visitante están viendo este tema.

12 Diciembre, 2018, 12:16 am
Leído 1132 veces

pGrnd

  • $$\Large \color{#6a84c0}\pi$$
  • Mensajes: 2
  • Karma: +0/-0
  • Sexo: Masculino
Buenas noches,

una pregunta que posiblemente para este foro sera básica, pero me trae de cabeza.

Estoy programando un pequeño robot (simulado) en dos dimensiones, y quiero que vaya corrigiendo su trayectoria poco a poco, el mismo puede moverse adelante/atrás, y girar derecha/izquierda una serie de grados. Para ello en todo momento sé las coordenadas exactas donde se sitúa.

La teoría fácil, avanzo un poco, veo a qué punto llega, y "miro" si el destino esta a la derecha/izquierda y cuantos grados, o por el contrario si me estoy alejando

pero no consigo desarrollar la fórmula que dado el punto de origen, el punto al que he llegado, y el punto destino, me dé el ángulo de giro necesario.

¿podríais ayudarme ?   :banghead: :banghead:


12 Diciembre, 2018, 02:32 am
Respuesta #1

ingmarov

  • Moderador Global
  • Mensajes: 5,115
  • País: hn
  • Karma: +0/-0
  • Sexo: Masculino
Hola

Tomando como origen (variable) el punto donde se sitúa el robot, tienes un vector (\( \vec{u} \)) que apunta en la dirección en la que se dirige el robot y un vector ( \( \vec{v} \)) que apunta desde el origen al destino. Con estos vectores debes aprovechar que

\( \vec{u}\cdot \vec{v}=|\vec{u}|\cdot|\vec{v}|cos(\theta) \)

\( \theta \)  es el ángulo de giro que el robot debe ejecutar para apuntar al destino.


Saludos
No te confíes, revisa lo que escribo. Yo también me equivoco.
Odio el autocorrector de Android...