8 votos

¿Cómo determinar si dos líneas son paralelas / casi paralelas?

Tengo esta forma línea $2$ $1$ líneas: $(x_1,y_1)$ % línea de $(x_2,y_2)$$2$:$(x_3,y_3)$ $(x_4,y_4)$

Quiero detectar si las dos líneas son paralelas o casi paralelas.

Mi idea es if el ángulo entre las dos líneas es $\leq$ un ángulo umbral (como $10$ grados o asi), entonces son casi paralelas.

Pero no sé cómo calcular el ángulo entre dos líneas.

Por favor ayuda me con las ecuaciones o si hay alguna idea para detectar líneas casi paralelas.

Gracias.

13voto

tariqsheikh Puntos 58

Una línea de pendiente $m$ hace firmado ángulo con el $x$-eje igual a $\theta = \arctan(m)$ (expresado en radianes), y este ángulo tiene un valor entre el$-\pi/2$$+\pi/2$.

Para dos líneas de pistas $m_1$, $m_2$, que hacer firmado ángulos igual a$\theta_1 = \arctan(m_1)$$\theta_2 = \arctan(m_2)$, la "distancia angular" entre las dos líneas será de $|\theta_1 - \theta_2|$ o $\pi - |\theta_1 - \theta_2|$, el que sea menor. La alternativa $|\theta_1 - \theta_2]$ se utiliza cuando ese número es $\le \pi/2$, y si ese número es$> \pi/2$, luego la otra alternativa $\pi - |\theta_1 - \theta_2]$$\le \pi/2$.

Una vez que se ha calculado la distancia angular entre las dos líneas, configurarlo para que sea menos que lo que sea de umbral que usted desea.

11voto

user141708 Puntos 1

Supongamos que tienes vectores $u = (u_1,u_2)$ y $v = (v_1,v_2),$ donde $u_1$ es el componente x y $u_2$ es el componente y de $u.$ recordar que $\cos{\theta} = \frac{u \cdot v}{||u|| \,||v||},$ donde $u \cdot v = u_1v_1 + u_2v_2$ y $||u|| = \sqrt{u \cdot u}$.

O, uno podría calcular las pendientes de cada línea y decir eso si | 1 - la cuesta cuesta 2 | $

6voto

aduh Puntos 66

La pendiente de la primera línea es $m{1}=\frac{y{2}-y{1}}{x{2}-x{1}}$ y la pendiente de la segunda es $m{2}=\frac{y{4}-y{3}}{x{4}-x{3}}$. Las líneas son paralela si y sólo si $m{1}=m{2}$.

6voto

mcw0933 Puntos 113

Que $u = (a_1, b_1) = (x_2 - x_1, y_2 - y_1)$ y $v = (a_2, b_2) = (x_4 - x_3, y_4 - y_3)$ estar los vectores correspondientes.

Para la detección de ángulos cerca de 0, lo mejor es utilizar el producto cruzado: $$ \sin \theta = \frac{u \times v}{|u||v|},$ $ donde $u \times v = \det(u, v) = a_1 b_2 - a_2 b_1$.

Así, por ejemplo, si quieres prueba $|\theta|

Observe que este fórmula implica sólo suma/resta y multiplicación.

2voto

Deje que

$$\mathrm v_1 := \mathrm x_2 - \mathrm x_1 \qquad \qquad \qquad \mathrm v_2 := \mathrm x_4 - \mathrm x_3$$

ser los vectores de dirección de cada una de las dos líneas. Calcular el rango de la siguiente matriz

$$\begin{bmatrix} | & |\ \mathrm v_1 & \mathrm v_2\ | & |\end{bmatrix}$$

Si la matriz tiene rango de columna completa, entonces las dos líneas dadas son no paralelo. Si la matriz es de la fila-$1$, las dos líneas dadas son paralelas.

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