Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Normalmente, las aplicaciones de gráficos 3D usan dos tipos de sistemas de coordenadas cartesianos: a la izquierda y a la derecha. En ambos sistemas de coordenadas, el eje X positivo apunta a la derecha y el eje Y positivo apunta hacia arriba. Puedes recordar qué dirección apunta el eje Z positivo apuntando los dedos de tu mano izquierda o derecha en la dirección x positiva y curándolas en la dirección Y positiva. La dirección en la que apunta el pulgar, ya sea hacia o hacia fuera de usted, es la dirección que apunta el eje Z positivo para ese sistema de coordenadas. En la ilustración siguiente se muestran estos dos sistemas de coordenadas.
Direct3D usa un sistema de coordenadas izquierda. Si va a migrar una aplicación basada en un sistema de coordenadas a la derecha, debe realizar dos cambios en los datos pasados a Direct3D.
- Voltea el orden de los vértices de triángulo para que el sistema los recorra en el sentido de las agujas del reloj desde el frente. Es decir, si los vértices son v0, v1, v2, páselos a Direct3D como v0, v2, v1.
- Utilice la matriz de vistas para escalar el espacio mundial -1 en la dirección z. Para ello, cambie el signo del miembro _31, _32, _33 y _34 de la estructura de D3DMATRIX que use para la matriz de vista.
Para obtener lo que equivale a un mundo con la derecha, use las funciones D3DXMatrixPerspectiveRH y D3DXMatrixOrthoRH para definir la transformación de proyección. Sin embargo, tenga cuidado de usar la función de D3DXMatrixLookAtRH, invertir el orden de selección de la cara inversa y diseñar los mapas del cubo en consecuencia.
Aunque las coordenadas izquierda y derecha son los sistemas más comunes, hay una variedad de otros sistemas de coordenadas usados en el software 3D. Por ejemplo, no es inusual que las aplicaciones de modelado 3D usen un sistema de coordenadas en el que el eje Y apunta hacia o fuera del visor y el eje Z apunta hacia arriba.
Formalmente, la orientación de un conjunto de vectores de base (es decir, un sistema de coordenadas) se puede encontrar mediante la computación del determinante de la matriz definida por el conjunto determinado de vectores de base. Si el determinante es positivo, se dice que la base está orientada "positivamente" (o a la derecha). Si el determinante es negativo, se dice que la base es "negativa" orientada (o izquierda). Para obtener una explicación de lo que es un determinante, vea cualquier recurso de álgebra lineal.
Informalmente, puede usar la "regla de mano derecha/izquierda" para determinar si un conjunto determinado de vectores de base forman un sistema de coordenadas derecha o izquierda.
Las operaciones esenciales realizadas en los objetos definidos en un sistema de coordenadas 3D son traducción, rotación y escalado. Puede combinar estas transformaciones básicas para crear una matriz de transformación. Para obtener más información, consulte Transformaciones (Direct3D 9).
Al combinar estas operaciones, los resultados no son conmutantes; el orden en el que se multiplican las matrices es importante.
Temas relacionados
-
sistemas de coordenadas y de geometría