9 votos

Reflexión del punto a través de una línea

Supongamos que tenemos tres puntos: $p = (x_p,y_p)$, $q = (x_q,y_q)$ y $a = (x_a,y_a)$. ¿Cómo puedo encontrar el punto de $b$, lo que es reflejo de $a$ a través de una línea trazada a través de $p$$q$? Sé que es simple de calcular, cuando tenemos $p$, $q$ etc. Pero yo quiero hacer esto en mi programa, y no estoy seguro de que, cómo calcular esto.

OK, he encontrado la solución por mí mismo (de respuestas, pero en este tema realmente me ayudó).

Supongamos que tenemos una línea de $Ax+By+C=0$, y $A^2+B^2 \not= 0$. $M (a,b)$ la reflexión a través de la línea es el punto: $M' (\frac{aB^2-aA^2-2bAB-2AC}{A^2+B^2}, \frac{bA^2-bB^2-2aAB-2BC}{A^2+B^2})$

En mi caso, no tenemos la línea, pero sólo 2 puntos. Cómo podemos encontrar la $A,B,C$? Es muy sencillo:

Digamos, que $p=(p_x,p_y)$$q = (q_x,q_y)$. La línea de la ecuación es: $(y-p_y)(q_x-p_x) - (q_y-p_y)(x-p_x) = 0$

Después de algunos cálculos tenemos: $y(q_x-p_x) - x(q_y-p_y) - (p_y(q_x-p_x)+p_x(p_y-q_y)) = 0$

Así: $A = p_y-q_y$, $B = q_x-p_x$ y $C = -p_y(q_x-p_x)-p_x(p_y-q_y)$.

Eso es todo.

6voto

McKenzieG1 Puntos 5294

Es útil pensar acerca de esto mediante el uso de vectores. Supongamos que los puntos se $p,q,a \in \mathbb{R^2}$.

A continuación, $x = p + (q-p)t$ es un punto en la línea de $pq$. Queremos encontrar la proyección de $a$ sobre la línea. Para ello requerimos $\|x - a\|^2 = \|x\|^2 + \|a\|^2 - 2 (x \cdot a)$ a ser mínima. Es que tenemos que minimizar $$\|p + (q-p)t\|^2 + \|a\|^2 - 2 (p + (q-p) t) \cdot a)$$ w.r.t $t$. Para hacer esto podemos escribir esto como $$\|p\|^2 + \|q-p\|^2 t^2 + 2 t p \cdot (q-p) + \|a\|^2 - 2(p \cdot a) - 2 t (q-p) \cdot a.$$ Esta es una ecuación cuadrática en $t$ con un mínimo en el vértice de la parábola: $$t = \frac{-2 p \cdot (q-p) + 2 (q-p) \cdot a}{2\|q-p\|^2} = \frac{(q-p) \cdot (a-p)}{\|q-p\|^2}.$$

Así, la proyección está dada por $$x = p + (q-p) \frac{(q-p) \cdot (a-p)}{\|q-p\|^2}$$ and the reflection is then just $x + (x-a) = 2x -$.

Este método no tiene problemas con infinidad de pistas.

2voto

Shabaz Puntos 403

Encontrar la ecuación de la línea a través p y q, es una versión de que $$\frac{y-y_p}{x-x_p}=\frac{y_q-y_p}{x_q-x_p}$$ The slope is the RHS. So the slope of the line through a and perpendicular to the line through p and q is $$\frac{-(x_q-x_p)}{y_q-y_p}$$ and the line is $% $ $y-y_a=\frac{-(x_q-x_p)}{y_q-y_p}(x-x_a)$calcular la distancia de una a la línea a través p y q y que se extiende lo otra vez. Creo que hay una fórmula para esto, pero no lo saben, por lo que tendría que resolver las dos ecuaciones para x e y para obtener la intersección. Tenga en cuenta que hay una división por cero preocupación.

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