RE:ayuda!!!!!!!!!!!!!!!!!
Publicado por
El mogur (1 intervención) el 10/05/2002 18:53:17
Bueno, eso que preguntas no tiene nada que ver ni con OpenGL ni con Visual Basic, sino con geometría.
Un plano se puede definir con tres puntos, y matemáticamente con una ecuación del tipo Ax + By + Cz + D = 0, donde A, B, C, y D son los números que definen el plano. Todo punto (x, y, z) que cumpla esa ecuación pertenece al plano. Si quiero saber si el punto (x1, y1, z1) está en el plano, miro si A*x1 + B*y1 + C*z1 + D es igual a 0 o no. Si es igual a 0, el punto está en el plano. Si no, pues está fuera.
Por otro lado, una recta puede definirse con un punto por el que pasa, y un vector director. En realidad, matemáticamente, una recta se puede definir igual que un plano, pero en vez de usar una ecuación se necesitan dos. Los puntos de la recta serán los que cumplen las dos ecuaciones.
Para saber en qué punto una recta cruza con un plano, se resuelve el sistema de ecuaciones: dos ecuaciones de la recta, y una del plano. Da un sistema de tres ecuaciones con tres incógnitas.
Hay otras formas de hacerlo, aprovechando la normal del plano, y el vector director de la recta, pero son un poco lio de explicar sin un dibujo.