13 votos

Dado un punto, una pendiente y una distancia a lo largo de esa pendiente, encuentra fácilmente (?) un segundo punto.

Tengo un punto [x1,y1] , una pendiente m de una línea que pasa por ese punto. Me gustaría encontrar cualquiera de los dos puntos [x,y] es decir d distancia de ese punto original.

El trabajo hasta ahora:

$$ y = m(x - x_1) + y_1 $$ $$ x = \frac{y + mx_1 - y_1}m $$

Y entonces (si mi álgebra es correcta)

$$ d = \sqrt{ \left(\frac{y + mx_1 - y_1} m\right)^2 +y^2} $$ $$ y^2 = d^2 - \left(\frac{y + mx_1 - y_1}{m}\right)\left(\frac{y + mx_1 - y_1}{m}\right) $$ Y luego, si introduzco algunos números reales y me esfuerzo lo suficiente, supongo que podría resolver y . Y luego resolver para x . Mi primer intento terminó con unas cuantas páginas de matemáticas mal recordadas y una respuesta incorrecta.

Mi pregunta es que esto parece un largo camino. ¿Hay una manera más fácil?

Más detalles: El problema general que intento resolver para un programa de ordenador es dado un segmento de recta encontrar un punto que sea perpendicular y esté a una distancia fija del punto medio.

13voto

Shabaz Puntos 403

Puedes librarte de mucha álgebra con un poco de trigonometría. $m=\tan \theta$ el ángulo entre el $x$ eje y la línea. A continuación, $x-x_1=d \cos \theta = d \cos( \arctan (m))=d\frac 1{\sqrt {1+m^2}}$ Asimismo, $y-y_1=d \sin (\arctan(m))=d\frac m{\sqrt{1+m^2}}$

11voto

John Hughes Puntos 27780

Solución más agradable: se sabe que el vector $(1, m)$ apunta en la dirección de su línea. Divide por $r= \sqrt{1 + m^2}$ para obtener un vector de longitud unitaria $(1/r, m/r)$ que apunta a lo largo de la línea. Ahora añade $d$ veces ese vector a $(x, y)$ : $$ r = \sqrt{1 + m^2}\\ (x_1, y_1) = (x + \frac{d}{r}, y + \frac{d\cdot m}{r}) $$

4voto

Lockie Puntos 636

Aquí podría ser más sencillo trabajar con vectores. Puedes reescribir como una ecuación vectorial $$\langle x,y\rangle = \langle x_1,y_1\rangle +t\langle 1,m\rangle,\tag{$\star$}$$ donde $t$ se permite variar sobre todos los números reales. Entonces la distancia de $\langle x_1,y_1\rangle$ a un punto $\langle x,y\rangle$ en la línea es precisamente la magnitud del vector $$\langle x,y\rangle-\langle x_1,y_1\rangle=t\langle 1,m\rangle=\langle t,mt\rangle.$$ Por lo tanto, necesitamos $$d=\sqrt{t^2+(mt)^2}=\sqrt{t^2(1+m^2)}=|t|\sqrt{1+m^2},$$ y por eso necesitamos $$t=\pm\frac{d}{\sqrt{1+m^2}}.$$ Sustituyendo estos valores de $t$ en $(\star),$ encontramos que las soluciones son $$\left\langle x_1\pm\frac{d}{\sqrt{1+m^2}},y_1\pm\frac{dm}{\sqrt{1+m^2}}\right\rangle.$$

Añadido : Obviamente, esto no funciona con líneas verticales, pero eso es aún más fácil, ya que sólo el $y$ -el valor está cambiando.

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