Intersección
Punto de intersección de líneas
a1, b1, c1 - coeficientes de la primera línea,
a2, b2, c2 - coeficientes de la segunda línea,
x
, y
- punto de intersección.
\(x = {-(c1 \cdot b2 - c2 \cdot b1) \over (a1 \cdot b2 - a2 \cdot b1)} \\ y = {-(a1 \ cdot c2 - a2 \cdot c1) \over (a1 \cdot b2 - a2 \cdot b1)} \)
Ya sabemos cómo verificar la intersección de las líneas (no son paralelas) y encontrar su punto de intersección.
Ahora, aprendamos a hacer esto con segmentos.
Primero, aprendamos cómo simplemente verificar si hay intersección.
Los segmentos se intersecan si los extremos de uno están en lados opuestos del otro y viceversa (esto se comprueba fácilmente mediante el producto vectorial). El único caso en el que esto no funcionará: los segmentos se encuentran en una línea recta. Para ello, debe verificar la intersección de los llamados. cuadro delimitador (cuadro delimitador del segmento): compruebe la intersección de la proyección de los segmentos en X
e Y
.
ejes.
Ahora que sabemos cómo verificar la intersección de los segmentos, aprendamos cómo encontrar el punto (o segmento) de su intersección:
- si no se cruzan, entonces está claro que tal punto no existe;
- de lo contrario, construiremos líneas rectas en las que se encuentran estos segmentos.
Si son paralelos, entonces los segmentos se encuentran en la misma línea y necesitamos encontrar el segmento de intersección, desde el máximo de los bordes izquierdos de los segmentos hasta el mínimo de los bordes derechos (el el punto es menor que el otro punto, si está a la izquierda, en caso de igualdad X
-coordenadas - si es más bajo).
Si las líneas no son paralelas, encuentre el punto de su intersección y devuélvalo.