Trayectoria proyectada de un vehículo?

8

En el juego que estoy desarrollando, tengo que calcular si mi vehículo (1) que en el ejemplo viaja hacia el norte con una velocidad V, puede alcanzar su objetivo (2). El ejemplo muestra el problema desde arriba:

ingrese la descripción de la imagen aquí

En realidad, hay dos escenarios posibles: V es constante (lo que resulta en la trayectoria 4, un arco de círculo) o el vehículo tiene la capacidad de acelerar / desacelerar (trayectoria 3, un arco de espiral).

Me gustaría saber si hay una manera directa de verificar si el vehículo puede alcanzar su objetivo (en lugar de sobrepasarlo) . Estoy particularmente interesado en la trayectoria # 3, ya que lo único que se me ocurre es integrar la posición del vehículo con el tiempo.

EDITAR: por supuesto, el vehículo siempre tiene la capacidad de conducir, pero el radio de dirección varía con su velocidad (piense en una fuerza g lateral máxima).

EDIT2: también ten en cuenta que (como la mayoría de los vehículos en la vida real) también hay un radio de dirección mínimo para los del juego).

Mac
fuente

Respuestas:

15

Si puede variar su velocidad (por lo tanto, su ángulo de dirección) siempre encontrará una solución, comenzando por la degenerada donde la entidad casi deja de girar en un pequeño círculo hasta apuntar al objetivo.

Si no puede variar su velocidad, puede pensar en áreas inalcanzables o sombras que no puede alcanzar incluso con su mejor dirección, si el objetivo está en esas áreas no puede alcanzarlo (a menos que "sobrepasar" incluso pueda superarlos y sacarlos del área de sombra).

Tu mejor dirección te permite girar a la izquierda / derecha en un arco de círculo, permitiéndote dibujar una circunferencia completa:

oscuridad

Como puede ver, lo que está dentro de uno de los dos círculos no se puede alcanzar directamente.

Un cuerpo de masa m que se dirige sobre una curva con radio de curvatura r , experimenta una fuerza centrífuga aparente radial causada por el comportamiento inercial del cuerpo, igual a:

Fc = mV ^ 2 / r

donde V es la velocidad del cuerpo (la longitud del vector de velocidad); siendo la aceleración de un cuerpo debido a que una fuerza es:

a = F / m

nuestra aceleración es:

a = V ^ 2 / r

Si decimos que am es la aceleración máxima, obtenemos que:

rm = V ^ 2 / am

donde rm es el radio mínimo utilizando la aceleración máxima.

Cuando desee probar si el veículo en P que se mueve a velocidad V puede alcanzar el objetivo en T , debe:

1) calcule C1 y C2 como:

c1 y c2

2) pruebe la distancia mínima de P de C1 y C2 de la siguiente manera:

prueba de radio

Si d es mayor que rm, esto significa que T está fuera de las sombras y luego es accesible por el vehículo simplemente ajustando la dirección bajo la restricción de dirección. (para ser más precisos, existe un camino bajo restricciones que permiten que la función de distancia entre T y P disminuya monotónicamente)

[ACTUALIZAR]

Si es posible cambiar la velocidad, es siempre posible conseguir un arco (es decir, una velocidad / par radial accelleration) que va de P a T . Esto es posible porque el radio se convierte en un verdadero grado de libertad.

Esta es una posible construcción:

ruta de destino

La línea negra es el eje donde puede estar el centro de los círculos: es perpendicular a la orientación actual del vehículo y pasa a través de su centro de rotación.

El segmento verde representa la línea que es perpendicular a la que conecta el centro del vehículo con el objetivo y pasa por el centro de esa distancia.

La línea verde cruza la negra exactamente en el centro del arco deseado. La longitud del segmento naranja nos dice el radio de giro que se puede lograr regulando la velocidad y girando a la dirección máxima o regulando tanto la velocidad como la dirección para permanecer bajo la restricción

FxIII
fuente
Gracias por tomarse el tiempo para escribir esta respuesta detallada (+1). Necesito "estudiarlo" un poco, pero desde una primera lectura me parece que su primera afirmación "siempre encontrará una solución ..." no es necesariamente cierta: la existencia de un radio de dirección mínimo implica que siempre será un "área de sombra" cuyo límite definirá una especie de "órbita" alrededor del objetivo ... ¿O me equivoco? [Este es realmente el verdadero problema para mí, ya que el cálculo para V = k es sencillo ...]
mac
@mac si el objetivo no está en el mismo lugar de su vehículo, puede reducir la velocidad para que rmin genere un círculo lo suficientemente pequeño como para no contener el objetivo. ¡Cuando esté en esta condición, puede establecer su velocidad para que el objetivo quede exactamente en su circunferencia!
FxIII
@Fxill - Nuevamente, gracias por la actualización, si fuera posible, ¡te daría un segundo +1 por la dedicación! :) Aún así, no entiendo por su explicación cómo explica la aceleración y la velocidad inicial: todo el problema se basa en el hecho de que con el tiempo la velocidad cambiará (arco de una espiral). Tengo la impresión de que podría no haber suficiente espacio para que el vehículo desacelere lo suficiente / obtenga un radio lo suficientemente pequeño como para interceptar el objetivo ... ¿o me equivoco?
mac
@mac digamos am = 1 y luego rm = v ^ 2; si d = | PT | > 0 puede elegir v ^ 2 <d / 2; si d = 0 significa que P = T, entonces ya has alcanzado tu objetivo ...
FxIII
jajaja no hay duda de que funciona! : D
FxIII