# Intersección de dos rectas

En geometría euclidiana, la intersección de dos rectas puede ser el conjunto vacío, un punto o una recta. Distinguir estos casos y encontrar el punto de intersección tienen uso, por ejemplo, en computación gráfica, planificación de movimiento y detección de colisiones.
En la geometría euclidiana tridimensional, si dos líneas rectas no están en el mismo plano se llaman rectas que se cruzan y no tienen punto de intersección. Si están en el mismo plano, hay tres posibilidades: si coinciden (no son rectas distintas) tienen un número infinito de puntos en común (es decir, todos los puntos de cualquiera de ellas); si son distintas pero tienen la misma pendiente, se dice que son paralelas y no tienen puntos en común; de lo contrario, tienen un único punto de intersección.
Las características distintivas de las geometrías no euclidianas son el número y las ubicaciones de las posibles intersecciones entre dos rectas y el número de rectas posibles sin intersecciones (rectas paralelas) con respecto a una recta determinada.

## Intersección de dos rectas

Una condición necesaria para que dos rectas se corten es que estén en el mismo plano, es decir, que no sean rectas que se cruzan (intuitivamente en el espacio tridimensional, las rectas que se cruzan pueden interpretarse como si estuvieran a distinto nivel). La satisfacción de esta condición es equivalente a que un tetraedro con dos vértices en una de las rectas y los otros dos en la otra, sea un poliedro degenerado en el sentido de tener volumen cero. Para la forma algebraica de esta condición, véase rectas que se cruzan.

### Dados dos puntos de cada recta

Primero se considera la intersección de dos rectas, $L_{1}\,$ y $L_{2}\,$, en el espacio bidimensional, con la recta $L_{1}\,$ definida por dos puntos distintos, $(x_{1},y_{1})\,$ y $(x_{2},y_{2})\,$, y la recta $L_{2}\,$ definida por dos puntos distintos, $(x_{3},y_{3})\,$ y $(x_{4},y_{4})\,$.
La intersección $P\,$ de la recta $L_{1}\,$ y $L_{2}\,$ se puede definir utilizando determinantes.
    $P_{x}={\frac {\begin{vmatrix}{\begin{vmatrix}x_{1}&y_{1}\\x_{2}&y_{2}\end{vmatrix}}&{\begin{vmatrix}x_{1}&1\\x_{2}&1\end{vmatrix}}\\\\{\begin{vmatrix}x_{3}&y_{3}\\x_{4}&y_{4}\end{vmatrix}}&{\begin{vmatrix}x_{3}&1\\x_{4}&1\end{vmatrix}}\end{vmatrix}}{\begin{vmatrix}{\begin{vmatrix}x_{1}&1\\x_{2}&1\end{vmatrix}}&{\begin{vmatrix}y_{1}&1\\y_{2}&1\end{vmatrix}}\\\\{\begin{vmatrix}x_{3}&1\\x_{4}&1\end{vmatrix}}&{\begin{vmatrix}y_{3}&1\\y_{4}&1\end{vmatrix}}\end{vmatrix}}}\,\!\qquad P_{y}={\frac {\begin{vmatrix}{\begin{vmatrix}x_{1}&y_{1}\\x_{2}&y_{2}\end{vmatrix}}&{\begin{vmatrix}y_{1}&1\\y_{2}&1\end{vmatrix}}\\\\{\begin{vmatrix}x_{3}&y_{3}\\x_{4}&y_{4}\end{vmatrix}}&{\begin{vmatrix}y_{3}&1\\y_{4}&1\end{vmatrix}}\end{vmatrix}}{\begin{vmatrix}{\begin{vmatrix}x_{1}&1\\x_{2}&1\end{vmatrix}}&{\begin{vmatrix}y_{1}&1\\y_{2}&1\end{vmatrix}}\\\\{\begin{vmatrix}x_{3}&1\\x_{4}&1\end{vmatrix}}&{\begin{vmatrix}y_{3}&1\\y_{4}&1\end{vmatrix}}\end{vmatrix}}}\,\!$
Los determinantes se pueden escribir como:
    ${\begin{aligned}(P_{x},P_{y})={\bigg&{\frac {(x_{1}y_{2}-y_{1}x_{2})(x_{3}-x_{4})-(x_{1}-x_{2})(x_{3}y_{4}-y_{3}x_{4})}{(x_{1}-x_{2})(y_{3}-y_{4})-(y_{1}-y_{2})(x_{3}-x_{4})}},\\&{\frac {(x_{1}y_{2}-y_{1}x_{2})(y_{3}-y_{4})-(y_{1}-y_{2})(x_{3}y_{4}-y_{3}x_{4})}{(x_{1}-x_{2})(y_{3}-y_{4})-(y_{1}-y_{2})(x_{3}-x_{4})}}{\bigg )}\end{aligned}}$
Téngase en cuenta que para determinar el punto de intersección, se están considerando las rectas infinitamente largas definidas por cada par de puntos, en lugar de los segmentos entre los puntos, y puede producir un punto de intersección más allá de las longitudes de los citados segmentos. Si (en lugar de resolver el punto en un solo paso), se encuentra primero la solución en términos de los parámetros de curvas de Bézier de primer grado, entonces esta condición entre los segmentos puede verificarse para 0.0 ≤ t ≤ 1.0 y 0.0 ≤ u ≤ 1.0 (donde t y u son las variables directoras).
Cuando las dos rectas son paralelas o coincidentes, el denominador es cero:
    $(x_{1}-x_{2})(y_{3}-y_{4})-(y_{1}-y_{2})(x_{3}-x_{4})=0.$
Si las rectas son casi paralelas, una solución informática puede encontrar problemas numéricos al calcular la solución descrita anteriormente: el reconocimiento de esta condición podría requerir una prueba aproximada en una aplicación práctica. Un enfoque alternativo podría ser rotar los segmentos de recta de modo que uno de ellos sea horizontal, por lo que la solución de la forma paramétrica rotatoria de la segunda línea se obtiene fácilmente. Se requiere una discusión cuidadosa de los casos especiales (rectas paralelas/coincidentes, intervalos superpuestos/no superpuestos).

### Dadas las ecuaciones de las rectas

Las coordenadas $x$ e $y$ del punto de intersección de dos rectas no verticales se pueden encontrar fácilmente usando las siguientes sustituciones y reordenamientos.
Supóngase que dos rectas tienen las ecuaciones $y=ax+c$ y $y=bx+d$, donde $a$ y $b$ son las pendientes (gradientes) de las rectas y donde $c$ y $d$ son los cortes con el eje y de las rectas. En el punto donde las dos rectas se cruzan (si lo hacen), ambas coordenadas $y$ serán la misma, de ahí la siguiente igualdad:
    $ax+c=bx+d$.
Se puede reorganizar esta expresión para extraer el valor de $x$,
    $ax-bx=d-c$,
y entonces,
    $x={\frac {d-c}{a-b}}$.
Para encontrar la coordenada y, todo lo que se tiene que hacer es sustituir el valor de x en una de las dos ecuaciones, por ejemplo, en la primera:
    $y=a{\frac {d-c}{a-b}}+c$.
Por lo tanto, el punto de intersección es
    $P\left({\frac {d-c}{a-b}},a{\frac {d-c}{a-b}}+c\right)=P\left({\frac {d-c}{a-b}},{\frac {ad-bc}{a-b}}\right)$.
Obsérvese que si a = b, entonces las dos rectas son paralelas. Si también c ≠ d, las dos rectas son diferentes y no hay intersección. De lo contrario, las dos rectas son idénticas.

### Usando coordenadas homogéneas

Al usar coordenadas homogéneas, el punto de intersección de dos rectas implícitamente definidas se puede determinar con bastante facilidad. En 2D, cada punto se puede definir como una proyección de un punto 3D, dado como la trío ordenado $(x,y,w)$. La aplicación de coordenadas 3D a 2D es $(x',y')=(x/w,y/w)$. Se pueden convertir puntos 2D en coordenadas homogéneas definiéndolos como $(x,y,1)$.
Supóngase que se quiere encontrar la intersección de dos rectas infinitas en el espacio bidimensional, definidas como $a_{1}x+b_{1}y+c_{1}=0$ y $a_{2}x+b_{2}y+c_{2}=0$. Se pueden representar estas dos rectas en coordenadas lineales como $U_{1}=(a_{1},b_{1},c_{1})$ y $U_{2}=(a_{2},b_{2},c_{2})$,
La intersección $P'$ de dos rectas viene dada simplemente por
$P'=(a_{p},b_{p},c_{p})=U_{1}\times U_{2}=(b_{1}c_{2}-b_{2}c_{1},a_{2}c_{1}-a_{1}c_{2},a_{1}b_{2}-a_{2}b_{1})$
Si $c_{p}=0$, las rectas no se cortan.

## Intersección de n rectas
### Existencia y expresión de la intersección
#### En dos dimensiones

En dos dimensiones, más de dos rectas casi seguramente no se cruzan en un único punto. Para determinar si lo hacen y, de ser así, para encontrar el punto de intersección, basta con dar forma a las ecuaciones para cada valor i-ésimo (i = 1, ..., n) como $(a_{i1}\quad a_{i2})(x\quad y)^{T}=b_{i},$, y disponerlas en forma de matriz como
    $Aw=b,$
donde la i-ésima fila de la matriz A de orden n× 2 es $(a_{i1},a_{i2})$, w es el vector de orden 2×1 (x, y)$^T$, y el elemento i-ésimo del vector de columna b es b$_i$. Si A tiene columnas independientes, su rango es 2. Entonces, si y solo si el rango de la matriz aumentada [A | b] también es 2, existe una solución de la ecuación matricial y, por lo tanto, un punto de intersección de las n rectas. El punto de intersección, si existe, viene dado por
    $w=A^{g}b=(A^{T}A)^{-1}A^{T}b,$
donde $A^{g}$ es la matriz pseudoinversa de Moore-Penrose de $A$ (que tiene la forma mostrada porque A posee rango de columna completo). Alternativamente, la solución se puede encontrar al resolver conjuntamente dos ecuaciones independientes. Pero si el rango de A es solo 1, entonces, si el rango de la matriz aumentada es 2, no existe solución, pero si su rango es 1, entonces todas las rectas coinciden entre sí.

#### En tres dimensiones

El enfoque anterior se puede extender fácilmente a tres dimensiones. En tres o más dimensiones, incluso dos rectas casi con seguridad no se cruzan; los pares de rectas no paralelas que no se intersecan se llaman rectas que se cruzan. Pero si existe una intersección, se puede encontrar de la siguiente manera.
En tres dimensiones, una recta está representada por la intersección de dos planos, cada uno de los cuales tiene una ecuación de la forma $(a_{i1}\quad a_{i2}\quad a_{i3})(x\quad y\quad z)^{T}=b_{i}$. Así, un conjunto de n rectas se puede representar mediante 2n ecuaciones en el espacio tridimensional, con el vector de coordenadas w = (x, y, z)$^T$:
    $Aw=b$
donde ahora A es 2n× 3 y b es 2n×1. Como antes, existe un punto de intersección único si y solo si A tiene rango de columna completo y la matriz aumentada [A | b] no lo tiene. La intersección única, si existe, viene dada por
    $w=(A^{T}A)^{-1}A^{T}b.$

### Punto más cercano de rectas que no se cortan

En dos o más dimensiones, generalmente se puede encontrar un punto que sea el más cercano a dos o más rectas en términos de sus mínimos cuadrados.

#### En dos dimensiones

En el caso bidimensional, primero, se representa la recta i como un punto $p_{i}$ en la recta y un vector normal unitario, ${\hat {n}}_{i}$, perpendicular a esa recta. Es decir, si $x_{1}$ y $x_{2}$ son puntos en la recta 1, entonces se tiene que $p_{1}=x_{1}$ y que
    ${\hat {n}}_{1}:={\begin{bmatrix}0&-1\\1&0\end{bmatrix}}(x_{2}-x_{1})/\|x_{2}-x_{1}\|$
que es el vector unitario de la recta, girado 90 grados.
Teniendo en cuenta que la distancia desde un punto x a la recta $(p,{\hat {n}})$ viene dada por
    $d(x,(p,n))=\|(x-p)\cdot {\hat {n}}\|=\|(x-p)^{\top }{\hat {n}}\|={\sqrt {(x-p)^{\top }{\hat {n}}{\hat {n}}^{\top }(x-p)}}.$
entonces el cuadrado de la distancia desde un punto x a una recta, es
    $d(x,(p,n))^{2}=(x-p)^{\top }({\hat {n}}{\hat {n}}^{\top })(x-p).$
La suma de los cuadrados de las distancias para muchas rectas es la denominada función de pérdida:
    $E(x)=\sum _{i}(x-p_{i})^{\top }({\hat {n}}_{i}{\hat {n}}_{i}^{\top })(x-p_{i}).$
Esto puede reorganizarse de la forma siguiente:
    ${\begin{aligned}E(x)&=\sum _{i}x^{\top }{\hat {n}}_{i}{\hat {n}}_{i}^{\top }x-x^{\top }{\hat {n}}_{i}{\hat {n}}_{i}^{\top }p_{i}-p_{i}^{\top }{\hat {n}}_{i}{\hat {n}}_{i}^{\top }x+p_{i}^{\top }{\hat {n}}_{i}{\hat {n}}_{i}^{\top }p_{i}\\&=x^{\top }\left(\sum _{i}{\hat {n}}_{i}{\hat {n}}_{i}^{\top }\right)x-2x^{\top }\left(\sum _{i}{\hat {n}}_{i}{\hat {n}}_{i}^{\top }p_{i}\right)+\sum _{i}p_{i}^{\top }{\hat {n}}_{i}{\hat {n}}_{i}^{\top }p_{i}.\end{aligned}}$
Para encontrar el mínimo, se deriva con respecto a x y se establece el resultado igual al vector cero:
    ${\frac {\partial E(x)}{\partial x}}=0=2\left(\sum _{i}{\hat {n}}_{i}{\hat {n}}_{i}^{\top }\right)x-2\left(\sum _{i}{\hat {n}}_{i}{\hat {n}}_{i}^{\top }p_{i}\right)$
así que
    $\left(\sum _{i}{\hat {n}}_{i}{\hat {n}}_{i}^{\top }\right)x=\sum _{i}{\hat {n}}_{i}{\hat {n}}_{i}^{\top }p_{i}$
y entonces
    $x=\left(\sum _{i}{\hat {n}}_{i}{\hat {n}}_{i}^{\top }\right)^{-1}\left(\sum _{i}{\hat {n}}_{i}{\hat {n}}_{i}^{\top }p_{i}\right).$

#### En tres dimensiones

Aunque ${\hat {n}}_{i}$ no está bien definido en más de dos dimensiones, esto se puede generalizar a cualquier cantidad de dimensiones al observar que ${\hat {n}}_{i}{\hat {n}}_{i}^{\top }$ es simplemente la matriz (simétrica) con todos los autovalores unidad, excepto por un valor propio cero en la dirección a lo largo de la recta que proporciona una norma sobre la distancia entre $p_{i}$ y otro punto dando su distancia a la recta. En cualquier cantidad de dimensiones, si ${\hat {v}}_{i}$ es un vector unitario en la recta i, entonces
    ${\hat {n}}_{i}{\hat {n}}_{i}^{\top }$ se convierte en $I-{\hat {v}}_{i}{\hat {v}}_{i}^{\top }$
donde I es la matriz identidad, y así
    $x=\left(\sum _{i}I-{\hat {v}}_{i}{\hat {v}}_{i}^{\top }\right)^{-1}\left(\sum _{i}(I-{\hat {v}}_{i}{\hat {v}}_{i}^{\top })p_{i}\right).$