Ver la versión completa : Un problema geometrico
anibarro
10/07/2006, 05:20
Hola buenas, tengo un problemilla geometrico y no doy con la solucion, a ver si alguien me echa un cable:
Tengo una recta (de la que conozco su ecuacion,pendiente, varios puntos...).
Ahora necesito una ecuacion que me de los puntos "A" y "B" que estan a una distancia "d", de un punto "P" de la recta y que ademas pertenezcan a la recta.
Algo asi:
------·A----·P----·B------
Busco unas formulas que me den las componentes de esos dos puntos del estilo:
Ax=
Ay=
...
¿Alguien se acuerda de estas cosas? XD
'P' es un punto equidistante a 'A' y 'B'?
En realidad lo que estás buscando son los puntos de corte de la recta con una circunferencia de radio d y centro en P.
La ecuación de dicha circunferencia tendría la forma
d² = (x - Px)² + (y - Py)²
Resolviendo el sistema con la ecuación de la recta encontrarás los dos puntos buscados
anibarro
10/07/2006, 06:01
Si Daxter, yo conozco P y los datos de la recta.
De todas formas pongo el problema entero por si sabeis una solucion mejor que la que intento darle. Tengo la situacion que se ve en la figura, conozco los puntos P1 y P2, y quiero crear una funcion a la que le pase la "d" y me calcule "A", "B", "C" y "D". Se que esta ya pensado porque lo he visto en muchos sitios como en el Autocad, pero no encuentro ningun codigo :S
WinterN, si sobre el papel lo tengo planteado como un sistema de ecuaciones, lo que queria es hacerlo en forma de formula para poder implementarlo de forma muy rapida, sin tener que resolver sistemas de ecuaciones, ya que se usaria mucho esta funcion :S
Ahora sí que me he perdido :rolleyes:
Entonces, según el último dibujo que has puesto, ¿tú conoces P1 y P2 y quieres hayar A,B,C y D? Esos puntos no están en la propia recta, sino en su perpendicular...
Aunque si es así el problema se reduce a lo mismo. Juega con la ecuación de la circunferencia, que es tu amiga ;)
Uhm, esto creo que lo sé hacer. Dame un rato que me miro los apuntes y te lo pongo.
anibarro
10/07/2006, 06:17
Ahora sí que me he perdido :rolleyes:
Entonces, según el último dibujo que has puesto, ¿tú conoces P1 y P2 y quieres hayar A,B,C y D? Esos puntos no están en la propia recta, sino en su perpendicular...
Aunque si es así el problema se reduce a lo mismo. Juega con la ecuación de la circunferencia, que es tu amiga ;)
WinterN habia reducido el problema a lo primero que he puesto, ya que la recta perpendicular la conozco (su pendiente es -1/m siendo m la pendiente de la recta P1P2 y pasa por P1 o por P2)
Intentare darle vueltas a ver si puedo despejar las componentes, pero veo imposible conseguirlas con pocos calculos :S
Daxter a ver si tienes mas suerte que yo [wei5]
Creo que es esto:
Ax=Px-d*cos(arctg(-1/m))/2
Ay=Py-d*sen(arctg(-1/m))/2
Bx=Px+d*cos(arctg(-1/m))/2
By=Py+d*sen(arctg(-1/m))/2
saludos
anibarro
10/07/2006, 06:35
Patxi muchas gracias, es eso mismo, a la vez que tu me lo ha dicho Archer por el IRC jeje Da gusto preguntar, lo sabeis todo ^^
Vaya, se me han adelantado -___-
Licantropo
10/07/2006, 21:13
Cuidado con pendientes en las que m=0.
Yo lo haria como A=P+d*normalP, B=P-d*normalP
A,B y P son puntos (x,y) y normalP son vectores (x,y). Se usan operaciones de suma de vectores y de producto de un vector por un escalar.
La normalP es la direccion de la recta perpendicular a la recta P1-P2. La normal de la recta (normalR) es P2-P1/sqrt((P2x-P1x)^2+(P2y-P1y)^2). Faltaria calcular normalP que se saca de normalR*normalP=0 (producto escalar entre dos vectores. normalRx*normalPx+normalRy*normalPy=0) Ahora no se de memoria como sacar normalP, pero de esta forma te quitas el problema del caso de m=0. Ta luego. Si te interesa hacerlo asi dimelo y busco como sacar normalP y si no has entendido algo intento explicarlo mejor. Ta luego.
anibarro
10/07/2006, 23:21
Gracias Licantropo pero ya lo tengo funcionando y el caso de m=0 no es problema, ya que existe la arcotangente de 0, el unico problema es cuando el denominador de la expresion que calcula m es 0, pero con tratar ese caso a parte esta arreglado ;)
Powered by vBulletin® Version 4.2.5 Copyright © 2026 vBulletin Solutions Inc. All rights reserved.