Definiciones y conceptos

Un vector es una línea direccional que es definido 2 coordenadas.

Multiplicar un vector por un número k es cambiar su longitud por k veces. Cuando \(k < 0\) el vector se expandirá.

La longitud de un vector se calcula mediante la fórmula \(\sqrt {x^2 + y^2} \)

Vector normalizado - un vector de longitud unitaria, obtenido al dividir un vector por su longitud.

La suma de vectores se obtiene construyendo un segundo vector a partir del final del primero, y colocando el vector en el punto resultante.< /p>

Si x1, y1, x 2, y2 - coordenadas del primer y segundo vector, respectivamente, luego su suma es un vector con coordenadas \((x_1 + x_2) \)y \((y_1 + y_2) \).

Diferencia de vectores: la suma donde se invierte el segundo vector (multiplicado por -1).

Producto escalar de vectores - número, proyección de un vector sobre otro multiplicado por su longitud. En el caso más simple del espacio euclidiano ordinario, a veces se usa el espacio "geométrico". definición del producto escalar de vectores distintos de cero a y b como el producto de las longitudes de estos vectores y el coseno del ángulo entre ellos:  
\(a \cdot b = |a| \cdot |b| \cdot cos \alpha\).

Para el producto escalar por un vector, la siguiente fórmula es válida:
\(a \cdot b = x_1 \cdot x_2 + y_1 \cdot y_2\)
donde x1, y1, x2, y2: las coordenadas del primer y segundo vector, respectivamente, le permiten determinar si el segundo vector se encuentra en el mismo semiplano que el primero.< /p>

Producto cruzado de vectores - un vector en el espacio tridimensional perpendicular a ambos vectores, igual en longitud al área orientada del paralelogramo construido sobre estos vectores. El producto de las longitudes de los vectores por el seno del ángulo entre ellos, y el signo de este seno depende del orden de los operandos:  alfa\) 

Si se calcula usando coordenadas:
\(a\ x\ b = x_1 \cdot y_2 + x_2 \cdot y_1\),
donde x1, y1, x2, y2: las coordenadas del primer y segundo vector, respectivamente, le permiten determinar en qué lado de la línea se encuentra el primer vector, se encuentra el segundo vector . También te permite encontrar el área orientada de triángulos y paralelogramos.

La rotación de un vector se realiza utilizando la magia negra de los adeptos secretos de la geometría de Lobachevsky.
Para rotar un vector \(\alpha\) en sentido antihorario (\(\alpha <= 2 \cdot \pi\ ), acostúmbrate a los ángulos en radianes), necesitas multiplicar el vector por esta matriz:
\(\begin{bmatrix} \cos \alpha & -sin \alpha \\ \sin \alpha & cos \alpha \end{bmatrix}\)< /p>

¿Qué significa multiplicar un vector por una matriz? Digamos que las coordenadas de nuestro vector son x y y, entonces el producto de este vector y nuestra matriz será igual al vector con las coordenadas x' ; y y':
\(x' = x \cdot cos \alpha - y \cdot sin \alpha \\ y' = x \cdot sin \alpha + y \cdot cos\alpha\)

Entonces obtenemos un nuevo vector de exactamente la misma longitud, pero ya girado un ángulo A en sentido antihorario.

La línea se puede definir de 5 maneras diferentes:
1) ecuación \( y = kx + b\); la primera ecuación de una línea recta que se enseña en la escuela es conveniente para construir y calcular manualmente, pero su uso en un programa es muy inconveniente;
2) por 2 puntos que se encuentran sobre él: en realidad es bastante conveniente, pero tiene una aplicación bastante limitada;
3) por el vector normal de una línea recta y un punto - el vector normal a una línea recta es un vector perpendicular a ella, más sobre esto a continuación;
4) a lo largo del vector director de la línea recta y el punto: el vector director es un vector que se encuentra en la línea recta y perpendicular al vector normal (bueno, lógico), sobre esto a continuación;
5) ecuación de una línea recta \(ax + by + c = 0\); la ecuación clásica de una línea recta, en la mayoría de los casos la más universal. Ahora sobre él.

Coordenadas del vector normal de tal línea: \((a; b)\) o \( (-a; -b)\).

Coordenadas del vector de dirección de dicha línea: \((-b; a)\) o \ ((b; -a)\).

Las rectas son paralelas si:
\({a1 \sobre b1} = {a2 \sobre b2}\).

Distancia de un punto a una recta (cuidado: la distancia puede ser negativa, todo depende de en qué lado de la recta se encuentre el punto):
\({(a \cdot x_1 + b \cdot y_1 + c) \over \sqrt{a^2 + b^2}}\),
donde x1, y1 son las coordenadas del punto.

Construir una línea a partir de un vector normal y un punto, o un vector de dirección y un punto, se reduce a construir una línea a partir de 2 puntos, así que veámoslo (también es el método más utilizado ).< /p>

Si x1, y1, x 2, y2 - coordenadas del primer y segundo punto respectivamente, luego

\(a = y_1 - y_2\)

\(b = x_2 - x_1\)

\(c = x_1 \cdot y_2 - x_2 \cdot y_1\)

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.