2 votos

Cómo calcular la velocidad a partir de la velocidad, la posición actual y el punto de destino

Estoy creando un juego y necesito que mi unidad se mueva a una velocidad estática. Ordeno a la unidad que se mueva desde su posición actual (x0, x1) a una nueva posición (x, y) .

Así que conozco la velocidad de la unidad, y conozco ambos puntos finales del movimiento, ahora necesito calcular el vector velocidad al que se mueve la unidad. ¿Cómo lo hago?

He pensado que necesito (bueno, para que me sea más fácil de entender) un triángulo donde la hipotenusa sea la velocidad, y los puntos extremos de la hipotenusa sean las coordenadas del movimiento:

Speed

Ahora puedo calcular el vector velocidad utilizando

velocity.x = x - x0
velocity.y = y - y0

Pero va camino demasiado rápido. ¿Cómo puedo saber el tamaño del x y y de mi velocidad debería ser?

Edita:

Y la unidad se mueve un paso a la vez, así que básicamente

unit.x += velocity.x
unit.y += velocity.y

Ahora necesito que se mueva la longitud igual a su velocidad en cada paso.

5voto

got it--thanks Puntos 1302

Dada una constante velocidad $s$ posición inicial $(x_0, y_0)$ y posición final $(x,y)$ podemos encontrar el vector velocidad de la siguiente manera. Primero definimos $d=\sqrt{(x-x_0)^2+(y-y_0)^2}$ la distancia recorrida. Entonces el vector velocidad es $$\begin{cases}v_x = \dfrac{s}{d}(x-x_0) \\ v_y = \dfrac{s}{d}(y-y_0)\end{cases}$$

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X