FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Geometría: posición relativa de un punto respecto a una línea.
Hola:
El problema que trato de resolver es el siguiente: Cita:
Muchas gracias de antemano.
__________________
Sonríe. Mañana puede ser peor. Última edición por jplj fecha: 02-12-2009 a las 00:32:25. |
#2
|
||||
|
||||
Si no entindo mal, dado tu punto P(Px, Py), lo que deberías saber es cual es el punto que corresponde a la recta que tiene la misma coordenada Y que el tuyo (pare eso sería perfecto saber la función que define la recta).
Si no tienes la función supongo que debes hacerlo por interpolación de los puntos existentes en la recta. Una vez que sepas el punto A(Ax, Ay) que corresponde a la recta y que su coordenada Y (Ay) es igual a la de tu punto (Py), basta con que compares las otras dos, Ax y Px para saber si queda a izquierda o derecha.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#3
|
||||
|
||||
No me queda claro el problema. Una recta se determina por sólo dos puntos, de manera que hablar de n puntos que determinen una recta suena raro.
Por otra parte, la derecha e izquierda de una recta son conceptos relativos a la dirección en la que recorres la recta, así que primero hay que establecer un vector de dirección de la recta. Si tienes dos puntos P0 y P1 de la recta, el vector P1 - P0 es el vector que va de P0 a P1. Necesitas un vector ortogonal a la recta que apunte hacia la izquierda de ésta, y este sería, si no me equivoco, Q=(-(y1-y0), x1-x0), suponiendo que P0=(x0,y0) y P1=(x1,y1). Ya con esto, y nuevamente si no me equivoco porque la geometría analítica la tengo totalmente oxidada, dado un punto P=(x,y), para determinar si está a la izquierda o derecha de la recta dirigida, debes tomar su producto escalar (trasladando al origen) con el vector ortogonal: (P-P0)*Q El valor de este producto es 0 si el punto está sobre la recta >0 si el punto está a la izquierda de la recta <0 si el punto está a la derecha de la recta // Saludos |
#4
|
|||
|
|||
Creo que no he expresado bien el problema.
__________________
Sonríe. Mañana puede ser peor. |
#5
|
|||
|
|||
Por si pudiera interesar, la solucion que he implementado es la siguiente:
Siendo: .- True -> Dentro / Detrás / Derecha .- False -> Fuera / Delante / Izquiera
Por último para usarlas:
__________________
Sonríe. Mañana puede ser peor. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Guardar Posición De La Forma Con Respecto A La Pantalla | gulder | Varios | 4 | 12-03-2009 16:32:57 |
Geometria computacional en Builder c++ | BC++ | C++ Builder | 11 | 23-09-2008 18:03:10 |
Cambiar posicion de rectangulo o Linea en RAVE | Alexander | Impresión | 0 | 15-06-2007 15:52:51 |
¿Es posible obtener por código la línea o posición en donde se ha detectado un error? | Delphius | Varios | 7 | 25-06-2006 19:41:41 |
Posición del primer caracter de linea en un RichEdit | SCH | Varios | 0 | 22-09-2003 20:51:32 |
|