2010-01-27 10 views
5

Estoy tratando de resolver algunos cálculos utilizando arcos en el espacio 3D, pero estoy un poco perdido. Digamos que quiero animar un arco en el espacio 3D para conectar 2 coordenadas x, y, z (ambas coordenadas tienen un valor z de 0, y son solo puntos en un plano). Estoy controlando el arco enviándole una posición inicial x, y, z, una rotación, una velocidad y un valor de gravedad. Si conozco las dos coordenadas x, y, z que deben conectarse, ¿hay alguna manera de calcular qué valores de rotación, velocidad y gravedad son necesarios para conectarlo desde la coordenada inicial x, y, z hasta la final?Trayectoria Parabólica 3D

Gracias.

EDITAR: Gracias tom10. Para aclarar, estoy haciendo "arcos" creando una parábola con partículas. Estoy tratando de descubrir cómo (iniciando una parábola formada por una serie de partículas con un comienzo x, y, z, velocidad, rotación y gravedad) determina dónde estará en el extremo (las últimas coordenadas x, y, z) Así que si es si estas son las dos coordenadas que necesitan ser conectados:

x1=240; 
y1=140; 
z1=0; 

x2=300; 
y2=200; 
z2=0; 

¿cómo puede la rotación, la velocidad y la gravedad de esta parábola se calcula utilizando sólo estas variables comienzan la formación de la parábola:

x1=240; 
y1=140; 
z1=0; 
rotation; 
velocity; 
gravity; 

Estoy tratando de mantener el ángulo de un valor constante.

+0

Suena como un problema de física que no tiene nada que ver con la programación. También, por cierto, por "arco" generalmente se refiere a una porción de un círculo, pero las trayectorias sin gravedad con gravedad generalmente dan parábolas. ¿Qué estás buscando? Entonces mi sugerencia es aclarar un poco la pregunta y conectarla a la programación. – tom10

+1

Dados dos puntos en un plano, un número infinito de arcos intersectará los dos puntos. Hay dos para cada círculo en el plano con un diámetro mayor o igual a la distancia entre los puntos, y puedes rotar cada uno de esos círculos en cualquier ángulo sobre una línea a través de los dos puntos. –

+0

¿Su gravedad está en el eje y o z? Si es y, entonces z puede ignorarse por completo. – msell

Respuesta

5

link describe la trayectoria balística para "golpear un objetivo a una distancia xy altitud y cuando se dispara desde (0,0) y con la velocidad inicial v el (los) ángulo (s) requerido (s) de lanzamiento θ", que es lo que quieres , ¿derecho? Para obtener las variables en la forma correcta, establezca el ángulo de rotación (en el plano xy) para que apunte en la dirección correcta, es decir, atan (y/x), y de allí en adelante, para que coincida con la terminología habitual para Problema 2D, reescriba su z a y, y la distancia horizontal al objetivo (que es sqrt (x x + y y)) como x, y luego puede usar directamente la fórmula en el enlace.

0

Haz lo mismo que harías en 2D. Solo tienes que convertir tus figuras en un espacio afín girando el eje, por lo que una de ellas se convierte en cero; luego resuelve y deshace la rotación.

Cuestiones relacionadas