Intersección de recta y punto

Iniciado por kaostias, 21 Noviembre 2013, 17:30 PM

0 Miembros y 1 Visitante están viendo este tema.

kaostias

Buenas, estoy trabajando en informática gráfica, concretamente usando OpenGL aunque eso da igual. Tengo un vector bidimensional (i,j) y puntos bidimensionales(x,y). con ellos genero un triángulo de tres puntos (ABC), que también indican cuál es la cara externa (El vector perpendicular hacia fuera de los puntos AB, BC y CA), aparte tengo un punto que avanza por la escena con una velocidad que marca un tercer vector (vec).

Necesito calcular:

a) Si vec interseca con alguna de las aristas del triángulo ABC

b) Si interseca, en qué punto se produce la intersección.

Muchas gracias
- ¡Éste código sin documentar es un galimatías!
- Es tuyo, de hace 3 semanas
- ¡Es una obra maestra aunque esté sin documentar! ¿Qué decías que hace?

kaostias

Acabo de darme cuenta de que con un punto y un vector puedo calcular un segundo punto, entonces el problema quedaría en la intersección de dos segmentos dados los puntos a y b, aunque de todas formas no sé hacerlo, pero al menos he encontrado una nueva perspectiva.
- ¡Éste código sin documentar es un galimatías!
- Es tuyo, de hace 3 semanas
- ¡Es una obra maestra aunque esté sin documentar! ¿Qué decías que hace?

NikNitro!

#2
Dos segmentos no siempre se cortan, pero si se cortan, lo harán también las rectas que lo forman.

Es tan simple como obtener las dos ecuaciones (una por cada recta) y resolverlas como un sistema de dos ecuaciones con dos incógnitas. Las dos incógnitas que consigas serán las coordenadas del punto de intersección...

La verdad es que no se que pretendes hacer ni quiero opinar, pero esas matemáticas las di en 3º de la ESO... :-/

Saludos ;)

PD: Para ver si un punto corta a una recta (o lo que es lo mismo, si pertenece a él) es más fácil aún. Consigue la ecuación de esa recta y las incógnitas las sustituyes por las coordenadas del punto. Si da una igualdad cierta(0=0), pertenece, en otro caso daría algo tipo (3=-0, por ejemplo).

lapras

Que un punto interseccione con una arista de un triangulo es muy difícil.
Otra cosa, dices que si intersecciona quieres saber en que punto intersecciona. Evidentemente, si un punto intersecciona con algo es en ese mismo punto.
A lo mejor en vez de un punto te refires a un segmento...

kaostias

Sin embargo es un punto avanzando a lo largo de un vector. No se mantiene fijo, sino que avanza de forma contínua hasta toparse con un segmento (O no), lo que quería saber era la intersección. De todos modos he conseguido resolverlo. Muchas gracias.
- ¡Éste código sin documentar es un galimatías!
- Es tuyo, de hace 3 semanas
- ¡Es una obra maestra aunque esté sin documentar! ¿Qué decías que hace?