Encuentre la(s) intersección(es) entre una parábola parametrizada y una línea

Estoy tratando de encontrar el(los) valor(es) del parámetro t en los puntos de intersección entre una parábola general 2D (como una función paramétrica de t ) y una línea cuyas ecuaciones se pueden derivar de dos puntos pag y q ( pag q ). La parábola se define a continuación:

X ( t ) = 1 2 a X t 2 + v X t + X 0 y ( t ) = 1 2 a y t 2 + v y t + y 0

Mi interes:

Si pudiera encontrar esta solución, entonces podría predecir el tiempo de colisión entre dos segmentos de línea rígidos que no giran. Usando el movimiento relativo entre ellos como el a y v en esta curva parabólica para cada punto, y encontrando la intersección entre este y el otro segmento de línea, puedo encontrar el más pequeño t > 0 tal que las líneas colisionan.

Esto sería para un motor de física, y el uso de la aceleración en el cálculo permitiría grandes ganancias de eficiencia (no tener que predecir y manejar constantemente la colisión entre cada par de segmentos de línea, solo durante los períodos de tiempo relevantes o cuando cambia la aceleración).

Editar:

Gracias a Andrea Mori pude resolver esta ecuación (dada la recta definida por pag y q ):

( q y pag y ) X ( t ) ( q X pag X ) y ( t ) | pag × q | = 0

(Al tratar a X b y a y b X como equivalente a | a × b | para 2D). Entonces, sustituyendo X ( t ) y y ( t ) , pude simplificar a más productos cruzados:

1 2 ( | a × q | | a × pag | ) t 2 + ( | v × q | | v × pag | ) t + ( | r × q | | r × pag | | pag × q | ) = 0

La fórmula cuadrática se puede aplicar entonces usando el claramente visible a , b , y C valores (aunque escribirlo sería feo). Un discriminante negativo ( b 2 4 a C ) indica que no hay colisión, cero indica exactamente una y positivo indica dos (la menor t > 0 siendo el más importante).

Creo que la segunda fórmula luego se traduciría a 3D, aunque no lo sé sin evaluarlo un poco más.

Una parábola con un eje de simetría arbitrario todavía se llama parábola: en.wikipedia.org/wiki/Parabola#General_parabola
Por casualidad, ¿sus parábolas son curvas de Bézier cuadráticas?
En todo caso: las fórmulas simbólicas parecen terriblemente complicadas; es mejor que utilice un método numérico como Newton-Raphson para generar sus intersecciones.
No estoy seguro, ya que no sé mucho sobre las curvas de Bézier. Parece que podría ser un caso especial con algunos P0 a P1 paralelos al eje Y y algunos P1 a P2 paralelos al eje X.

Respuestas (1)

Si PAG = ( X PAG , y PAG ) y q = ( X q , y q ) la línea entre PAG q tiene ecuación X X PAG X q X PAG = y y PAG y q y PAG que podemos reescribir como

a X + b y + C = 0 ,
donde los coeficientes a , b y C se calculan muy fácilmente.

Ahora, para obtener los valores del parámetro t para el cual su punto de parábola genérico ( X ( t ) , y ( t ) ) cumple con la línea PAG q solo necesitas resolver la ecuación (en t )

a X ( t ) + b y ( t ) + C = 0.
En realidad, esta es una tarea fácil, ya que es solo una ecuación cuadrática.

Tenga en cuenta que el procedimiento es en realidad más general: se puede adaptar fácilmente para encontrar los puntos donde cualquier curva dada en forma paramétrica se encuentra con una línea dada. Por supuesto, en general uno se encuentra con el problema de que la ecuación final puede no ser fácilmente resoluble.

Ojalá tuviera la reputación de votar también, ¡gracias!