RE:problema con triangulo
Hola:
El algoritmo es sencillo si sabes algo de matemáticas (supongo que sí).
El triángulo son tres segmentos que tienes perfectamente delimitados con los puntos del triángulo. Son los segmentos PQ, QR y RP.
Si trazas una semirecta vertical hacia arriba desde el punto S, debes calcular a cuantos segmentos corta. Si corta a un número impar de segmentos, el punto está dentro del triángulo. Si no corta a ninguno o corta a un número par, entonces está fuera.
Para ver los cortes, en primer lugar descarta aquellos segmentos que claramente no cortan a esa recta que hemos trazado. Es decir, descarta los segmentos cuyas dos x sean menores que la x de S, los que las dos x sean mayores que la de S y los que las dos y sean menores que la y de S (es decir, los segmentos que están claramente a la izquierda, a la derecha o debajo de la semirecta).
Si hay una x a cada lado y las dos y están encima de S, entonces la semirecta corta seguro al segmento.
Para los segmentos que te queden sin descartar, (una x a cada lado del punto S una y por encima y la otra por debajo), calcula la recta que pasa por los dos puntos del segmento. Supon, por ejemplo, que te sale y = ax + b.
Luego, para esa recta, calculas el valor de y cuando x es la x de S. Es decir, y1 = aSx + b.
Si el valor de y1 en la recta es mayor que la y de S, entonces S está por debajo del segmento. La semirecta que trazamos hacia arriba desde S, cortaría al segmento.
No sé si esto está claro o está demasiado embarullado. Si tienes alguna pega, vuelve a preguntar aquí o a mi correo.
Se bueno.