SEGMENTO DE UN PLANO
Reglas del Foro
BUSCA EN LOS ÍNDICES antes de preguntar (pulsa aquí)
- Escribir los enunciados completos, incluir una imagen y lo que tienes hecho hasta ahora.
El usuario que no conteste o no dé las gracias después de responderle será expulsado
BUSCA EN LOS ÍNDICES antes de preguntar (pulsa aquí)
- Escribir los enunciados completos, incluir una imagen y lo que tienes hecho hasta ahora.
El usuario que no conteste o no dé las gracias después de responderle será expulsado
SEGMENTO DE UN PLANO
Gráficamente se puede ver en la figura 1 que el punto p4 esta fuera del triangulo formado por los puntos p1,p2,p3 y que el punto p5 esta dentro del triangulo. Pero existe alguna propiedad ,identidad o algortimo matemático que me ayude a identificar cuando el punto(p4 o p5) esta fuera o dentro del triangulo. En este problema conocemos las coordenadas de los puntos p1,p2,p3,p4 y p5. Ya tengo una solución pero son muchos los pasos que se tienen que hacer y el algoritmo no es muy ortodoxo. Quisiera saber si alguien ya se ha topado con este problema y cual ha sido su forma de atacarlo.
- fernandore
- MODERADOR++
- Mensajes: 2094
- Registrado: Mar, 03 Jun 2008, 22:27
Si un punto Pj tiene por cordemadas (xj,yj).
La ecuacion de la recta q pasa por P1 y P2 sera
Y=(y1-y2)/(x1-x2)X+y2-x2(y1-y2)/(x1-x2)
La condicion para q un punto P4 este por encima de la recta anterior (la q pasa por p1 y p2) será:
y4>Y=(y1-y2)/(x1-x2)x4+y2-x2(y1-y2)/(x1-x2)
La condicion para q P4 este dentro del triangulo será q este por encima de la recta P1P2 y por debajo de P1P3 y P2P3.
y4<(y1-y3)/(x1-x3)x4+y3-x3(y1-y3)/(x1-x3) condicion para q este por debajo de P1P3
y4<(y3-y2)/(x3-x2)x4+y2-x2(y3-y2)/(x3-x2) condicion para q este por debajo de P2P3
Si y4 cumple las tres condiciones estara dentro del triangulo.
Si cumple 2 condiciones y en la otra condicion se produce una igualdad entonces P4 estara justo en el contorno del triangulo.
Salu2
La ecuacion de la recta q pasa por P1 y P2 sera
Y=(y1-y2)/(x1-x2)X+y2-x2(y1-y2)/(x1-x2)
La condicion para q un punto P4 este por encima de la recta anterior (la q pasa por p1 y p2) será:
y4>Y=(y1-y2)/(x1-x2)x4+y2-x2(y1-y2)/(x1-x2)
La condicion para q P4 este dentro del triangulo será q este por encima de la recta P1P2 y por debajo de P1P3 y P2P3.
y4<(y1-y3)/(x1-x3)x4+y3-x3(y1-y3)/(x1-x3) condicion para q este por debajo de P1P3
y4<(y3-y2)/(x3-x2)x4+y2-x2(y3-y2)/(x3-x2) condicion para q este por debajo de P2P3
Si y4 cumple las tres condiciones estara dentro del triangulo.
Si cumple 2 condiciones y en la otra condicion se produce una igualdad entonces P4 estara justo en el contorno del triangulo.
Salu2
Creo que no es correcta tu respuesta fernandore
Gracias por tu respuesta, pero me parece que esta mal. Sin tomar en cuenta que las ecuaciones para calcular las rectas del triangulo estaban erroneas ( Y=(y1-y2)/(x1-x2)X+y2-x2(y1-y2)/(x1-x2) en todas las ecuaciones tienes el mismo error). Pero bueno, aun con las ecuaciones de las rectas correctas. Evaluemos el punto P5 (4,4)
En la primera condición que propones
y4>Y=(y1-y2)/(x1-x2)x4+y2-x2(y1-y2)/(x1-x2)
tenemos que Y=7
y4 < Y es decir 4 < 7
En ese caso no se cumple tu algoritmo.
Gracias
En la primera condición que propones
y4>Y=(y1-y2)/(x1-x2)x4+y2-x2(y1-y2)/(x1-x2)
tenemos que Y=7
y4 < Y es decir 4 < 7
En ese caso no se cumple tu algoritmo.
Gracias
- fernandore
- MODERADOR++
- Mensajes: 2094
- Registrado: Mar, 03 Jun 2008, 22:27
Es cierto q estaban erroneas,fue un error al transcribirlas del papel,ya las he editado.
Pero el algoritmo si q funciona,lo q ha ocurrido es q he permutado la nomenclatura de los puntos y he llamado P2 a P3 y viceversa,sorry.
Evaluemos el punto (4,4) p1(2,2) ,p2(6,3) y p3(4,7)
Condicion 1 y4>(y1-y2)/(x1-x2)x4+y2-x2(y1-y2)/(x1-x2) sustituyendo 4>(2-3)/(2-6)4+3-6(2-3)/(2-6)=5/2 CUMPLE
Condicion 2 y4<(y1-y3)/(x1-x3)x4+y3-x3(y1-y3)/(x1-x3) sustituyendo 4<(2-7)/(2-4)4+7-4(2-7)/(2-4)=7 CUMPLE
Condicion 3 y4<(y3-y2)/(x3-x2)x4+y2-x2(y3-y2)/(x3-x2) sustituyendo 4<(7-3)/(4-6)4+3-6(7-3)/(4-6)=7 CUMPLE
Salu2
Pero el algoritmo si q funciona,lo q ha ocurrido es q he permutado la nomenclatura de los puntos y he llamado P2 a P3 y viceversa,sorry.
Evaluemos el punto (4,4) p1(2,2) ,p2(6,3) y p3(4,7)
Condicion 1 y4>(y1-y2)/(x1-x2)x4+y2-x2(y1-y2)/(x1-x2) sustituyendo 4>(2-3)/(2-6)4+3-6(2-3)/(2-6)=5/2 CUMPLE
Condicion 2 y4<(y1-y3)/(x1-x3)x4+y3-x3(y1-y3)/(x1-x3) sustituyendo 4<(2-7)/(2-4)4+7-4(2-7)/(2-4)=7 CUMPLE
Condicion 3 y4<(y3-y2)/(x3-x2)x4+y2-x2(y3-y2)/(x3-x2) sustituyendo 4<(7-3)/(4-6)4+3-6(7-3)/(4-6)=7 CUMPLE
Salu2
- fernandore
- MODERADOR++
- Mensajes: 2094
- Registrado: Mar, 03 Jun 2008, 22:27
Sigue con problemas fernandore
Recuerda que lo que intento es no basarme en un gráfico. Tu algoritmo funciona en este ejemplo porque en la primera condición estas evaluando con la recta correcta (P1P2), pero que tal si hubieras tomado la recta P1P3 para evaluar la primera condición. Quien me dice cual recta es la correcta?. Mi principal problema es que este algoritmo es para desarrollar un programa computacional y como tu sabes la PC no puede tomar esas decisiones hay que ser bien claros con ella. Por eso lo mejor es pensar en un algoritmo general (que funcione para todos los casos) que no le cause confución y que no necesite de orden de los puntos o saber en que parte del plano cartesiano se encuentran.
- fernandore
- MODERADOR++
- Mensajes: 2094
- Registrado: Mar, 03 Jun 2008, 22:27
¿Quién está conectado?
Usuarios navegando por este Foro: Google Adsense [Bot] y 2 invitados