.comment-link {margin-left:.6em;}

PROYECTO UTOPIA

miércoles, septiembre 21, 2005

[BSP/PVS] Capitulo 1. Vectores

Imagino que los que estáis leyendo esto ya conoceréis bastante bien como funcionan los vectores. Lo que realmente me interesa es que tengáis claro al 100% el Dot product y el Cross product que serán una de nuestras herramientas básicas a la hora de construir el árbol BSP. No me pondré a explicar las otras operaciones. Los que estén interesados en una explicación mas detallada de los vectores pueden visitar la página web Vector Math for 3D Computer Graphics.


Dot product

El Dot product entre dos vectores u y v es:

u · v = |u| |v| cos θ

O dicho de otra forma:

cos θ = u.x * v.x + u.y * v.y + u.z * v.z estando u y v normalizados.

Donde |u| y |v| se refiere a los vectores normalizados (su longuitud es 1) y θ a el ángulo entre los vectores u y v. Si tenemos los dos vectores normalizados podemos extraer el ángulo más fácilmente, es por esta razón que normalmente en los motores gráficos siempre trabajan de esta forma.

Nos será enormemente útil sobretodo en los cálculos con planos.

Cross product

El cross product o producto cruzado es un vector w perpendicular a los otros dos vectores u y v (u x v):

w.x = u.y * v.z - u.z * v.y
w.y = u.z * v.x - u.x * v.z
w.z = u.x * v.y - u.y * v.x

El nuevo vector forma un ángulo recto (de 90º) con los vectores u y v. Seguramente habreis oido hablar sobre la regla de los dedos; si formais un angulo recto con el dedo gordo (el vector u) y el indice (el vector v) formando una L y estirais el corazón hacia adelante (el vector w) tendreis una idea de como funciona esta fórmula.

Una de sus utilidades es la de calcular la normal de un polígono. Imaginad que tenéis un triangulo con tres vértices P1, P2 y P3. A partir de los vértices del triangulo podemos obtener dos vectores uno que va desde P2 a P1 y otro desde P3 a P1:

u = P2 - P1
v = P3 - P1

Ahora con los vectores u y v nos es fácil encontrar la normal haciendo:

normal = u x v




Proximamente...

Con estas dos formulas nos será mucho mas fácil comprender como extraer los planos de los polígonos y en otro futuro capítulo como cortar polígonos.

3 Comments:

  • Esto es el producto vectorial ese que enseñaban en el cole, ¿no? Jo, qué recuerdos me ha evocado verlo... Momentos vectoriales, qué época.

    Esas flechitas encimas de las letras...

    Por cierto, no sé dibujar :)

    By Blogger Fujur, at 22 septiembre, 2005 21:12  

  • Vaya. Mala suerte... Ya no puedes formar del ladito oscurito...

    By Blogger Aristóteles, at 23 septiembre, 2005 10:48  

  • Yo sé dibujar y no tengo ni puta idea de vectores.

    Hala. Entre los dos ya somos algo.

    Un entero de pringao.

    By Blogger Nepomuk, at 28 septiembre, 2005 20:41  

Publicar un comentario

<< Home