Logo

¡Bienvenido a Stratos!

Acceder

Foros



Matematicas y planos

Iniciado por 1cacalvo, 13 de Marzo de 2008, 12:06:37 PM

« anterior - próximo »

1cacalvo

Una preguntilla sobre matematicas..

Cual es la forma mas optima de realizar un cambio de coordenadas de un plano...

Es decir yo tengo

Ax + By + Cz + D = 0

y quisiera aplicarle un cambio de coordenadas para ello dispongo de la matriz ModelView.

Pd: Estoy hablando de OpenGl

Pd2: Estoy codificando FrustumCulling y tengo los planos sacados mediante la ProyectionMatrix pero necesito aplicarle tambien la ModelView.

Zaelsius

¿Por qué no multiplicas la ProjectionMatrix por la ModelView antes de calcular los planos?

Explicación: http://www.lighthouse3d.com/opengl/viewfrustum/index.php?clipspace

1cacalvo

Si ya habia visto esa solución, pero es que debido a la manera de que esta estructurado el motorcillo, me era mas fácil calcular primero los planos y luego realizarle un cambio de coordenadas dependiendo de cada objeto...

Gracias de todos modos!!!

Igual debiera replantearme el <donde y el como>

Elvis Enmanuel

A ver si te vale esto...


   //! Transforms a 3d plane
   TPlane3d<type> transform(const TPlane3d<type> &p,const TMat4 &m) const {
       TPlane3d<type> result;
       result.normal.x = (p.normal.x*m.M00 + p.normal.y*m.M10 + p.normal.z*m.M20 + p.d*m.M30);
       result.normal.y = (p.normal.x*m.M01 + p.normal.y*m.M11 + p.normal.z*m.M21 + p.d*m.M31);
       result.normal.z = (p.normal.x*m.M02 + p.normal.y*m.M12 + p.normal.z*m.M22 + p.d*m.M32);
       result.d        = (p.normal.x*m.M03 + p.normal.y*m.M13 + p.normal.z*m.M23 + p.d*m.M33);
       return result;
   }






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.
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.