Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Desde cuando una normal es un plano??

Iniciado por _Grey, 01 de Enero de 1970, 01:00:00 AM

« anterior - próximo »

_Grey

                                El post sobre poryectar un punto sobre un plano es el causante de que me decida a poner este tema, veamos..... hasta hoy para hacer calculos con planos yo utilizaba los "coeficientes planares" de este que obtenia con esto:

a= y*(z1-z2)+y1*(z2-z)+y2*(z-z1);
b= z*(x1-x2)+z1*(x2-x)+z2*(x-x1);
c= x*(y1-y2)+x1*(y2-y)+x2*(y-y1);
d=-x*(y1*z2-y2*z1)-x1*(y2*z-y*z2)-x2*(y*z1-y1*z);

puedo calcular perfectamente en que lado del plano estan , la distancia el punto de interseccion, y lo que haga falta.

Pero desde hace algun tiempo vengo viendo codigo y tutoriales que para obtener el plano utilizan una normal ( !? ) y siendo eso asi, no tengo ganas de ir al reves de los demas, mas que nada por que no puede sacar nada de tutoriales y codigo que trabaje con "normales planares", asi que quisiera que alguien me pudiera ilustrar en el por que de estos dos metodos y la manera de trabajar con estas "normales del plano", pero especialmente quisiera, si es posible, enterarme de como e de tratar esa "normal" para poder seguir usando las formulas que usaba con los coeficientes planares, o si se han de usar otras.

Gracias.
                               

BeRSeRKeR

                                No sé exactamente a qué te refieres pero vamos...un plano está definido por la ecuación

Ax + By + Cz + D = 0

donde (A, B, C) son las coordenadas de la normal del plano y (x, y, z) son las coordenadas de un punto perteneciente al plano. Con esos datos ya puedes averiguar si un punto está detrás o delante de un plano, etc...

Saludos
                               
¡Si te buscan en nombre de la ley, huye en nombre de la libertad!!

Lord Trancos

                                Una normal SOLA no sirve para expresar un plano; necesitas ademas un punto de origen.

Respecto a lo que preguntas; ni idea. Las mates y yo nos odiamos a muerte :riendo:
                               
i>SaludoteZ de Lord Trancos!
http://www.dxlab.tk - http://dxlab.host.sk - programación de DirectX con Delphi.

NeLo

                                Ese punto que dice Lord Trancos está definido por D.
                               
Drowning deep in my sea of loathing

_Grey

                                okey, ahora ya tengo una referencia para entender los tut's y los codigos de ejemplo que rulan hoy en dia.

Gracias.                                

Lord Trancos

                                No, D es la distancia del plano respecto del origen.
                               
i>SaludoteZ de Lord Trancos!
http://www.dxlab.tk - http://dxlab.host.sk - programación de DirectX con Delphi.

samsaga2

                                Concretamente D es
D = -N·P
Donde N es la normal del plano, P representa cualquier punto en el plano y · es el dot product (como se dice en castellano).
                               

Lord Trancos

                                En castellano se llama producto escalar.
                               
i>SaludoteZ de Lord Trancos!
http://www.dxlab.tk - http://dxlab.host.sk - programación de DirectX con Delphi.

Sante05

                                Hola, creo que a lo que te refieres es algun metodo para obtener la formula "general" de un plano (A, B, C y D) a partir de la normal y un punto, espero que esto te sirva de ayuda:

Como han dicho, A, B y C son los valores X, Y y Z de la normal, por lo que lo unico que tenemos que hallar es D. Sabiendo un punto que pertenece al plano, podemos sustituir en la formula general:

Ax + By + Cz + D = 0

Si A, B, y C son la normal, y x, y, z las coordenadas del punto, datos que conocemos, la ecuacion queda asi:

Nx*Px + Ny*Py + Nz*Pz + D = 0

(N se refiere a la normal, y P al punto)

Ahora solo tenemos que despejar D de la ecuacion, y puedes usar los 4 coeficientes que usabas en tus calculos.

Espero haberte ayudado. Un saludo.                                

_Grey

                                Pues gracias a todos, ahora ya puedo "MODERNIZAR" XD mis metodos y entender mejor los documentos actuales.

mercy.                                

Lord Trancos

                                Hechale un vistazo a esta web:

http://www.cfxweb.net/~cfxamir/tutorials.html

explica cosas básicas de forma muy sencilla.
                               
i>SaludoteZ de Lord Trancos!
http://www.dxlab.tk - http://dxlab.host.sk - programación de DirectX con Delphi.






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.