3 votos

Punto de intersección de múltiples líneas 3D

Quiero calcular el punto de intersección $q$ varias líneas en el espacio 3D que minimiza la distancia de $q$ a las líneas. Las líneas son ruidosos y puede ser un poco sesgado. Para esto, voy a resolver un sistema lineal.

Las líneas se expresan como un punto de $p$ y un vector $v$:

$ l_i \equiv p_i + \lambda v_i $

En el caso de dos líneas, tengo que $ q = (p_1 + \lambda_1 v_1) = (p_2 + \lambda_2 v_2)$, para algunas de las $\lambda_1, \lambda_2$. Puedo construir esta $Ax=b$ sistema lineal para encontrar $\lambda_i$: $ \left[ \begin{matrix} v_1, ~ -v_2 \end{de la matriz} \right] \left[ \begin{matrix} \lambda_1 \\ \lambda_2 \end{de la matriz} \right] = p_2 - p_1 $.

Para $N$ líneas, puedo pensar en la próxima $Ax=b$ estructura:

$ \left[ \begin{matrix} 1 & 0 & 0 & -v_{1x} & 0 & \dots & 0 \\ 0 & 1 & 0 & -v_{1y} & 0 & \dots & 0 \\ 0 & 0 & 1 & -v_{1z} & 0 & \dots & 0 \\ & & & & \dots \\ 1 & 0 & 0 & 0 & 0& \dots & -v_{Nx} \\ 0 & 1 & 0 & 0 & 0& \dots & -v_{Ny}\\ 0 & 0 & 1 & 0 & 0& \dots & -v_{Nz}\\ \end{de la matriz} \right] \left[ \begin{matrix} q_x \\ q_y \\ q_z \\ \lambda_1 \\ \dots \\ \lambda_N \end{de la matriz} \right] = \left[ \begin{matrix} p_{1x} \\ p_{1y} \\ p_{1z} \\ \dots \\ p_{Nx} \\ p_{Ny} \\ p_{Nz} \end{de la matriz} \right] $.

El sistema se encuentra tanto en el punto de intersección $q$ e las $\lambda_i$ parámetros. Sin embargo, no son independientes, por lo que tengo la sensación de que este sistema es más complejo de lo que debería ser.

Es este sistema correcto, o hay una mejor solución para esto? También, para $N$ líneas, ¿cómo puedo comprobar si el sistema me da una solución fiable (por ejemplo, para saber si todas las líneas son paralelas)?

1voto

G Cab Puntos 51

Transformar cada línea ecuación en la intersección de dos planos. Usted puede hacer que al tomar dos vectores normales a $v_i$ e imponer que cada plano pasa por el punto a $p_i$.
A continuación, para cada par de líneas, tiene un sistema lineal de $4$ ecuaciones en $3$ incógnitas, que por las condiciones habituales en las filas - le dirá si hay $0$,$1$, o infinitas soluciones.
Si desea comprobar si $n$ líneas son concurrentes, usted puede construir la $2n$ x $3$ = $2n$ x $1$ sistema y examinar si existen las condiciones para que admite una solución única.

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