¿Por qué es 4×4 matrices utilizadas para transformar las cosas en 3D?

Pregunta
De hecho 4×4 matrices viene en muy útil para transformar las cosas en 3D! Puede agregar un vector en el caso de la traducción.

Razón detrás del uso de 4×4 matrices para transformar las cosas en 3D

La razón para usar una matriz se reduce a tener una forma uniforme para manejar diferentes transformaciones combinadas.

Por ejemplo, la rotación se realiza generalmente utilizando una matriz, por lo que con el fin de hacer frente a múltiples transformaciones (la rotación / traducción / escalado / proyección…etc.) de manera uniforme, que necesita para codificarlos en una matriz.

Bien, más técnicamente hablando; una transformación es el mapeo de un punto / vector a otro punto / vector.

p` = T(p); 

donde p 'es el punto y T transformó(pags) es la función de transformación.

Teniendo en cuenta que no utilizamos una matriz que tenemos que hacer esto para combinar múltiples transformaciones:

p1 = T(pags);

pagsfinal = M(p1);

No sólo puede una matriz de combinar varios tipos de transformaciones en una sola matriz (por ejemplo. afín, lineal, descriptivo).

El uso de una matriz nos da la oportunidad de combinar las cadenas de transformaciones y luego se multiplican por lotes ellas. Esto nos ahorra un montón de ciclos por lo general por la GPU (gracias a @ChristianRau para señalarlo).

Tfinal = T * R * PAG; // traducirgirarproyecto

pagsfinal = Tfinal*pags;

También es bueno señalar que las GPU y CPU incluso algunos están optimizados para operaciones vectoriales; CPUs utilizando SIMD y las GPU siendo impulsados ​​datos procesadores paralelos de diseño, por lo que el uso de matrices encaja perfectamente con la aceleración de hardware (actualmente, GPU fueron diseñados para las operaciones de ajuste de la matriz / vector).


CRÉDITO:

https://gamedev.stackexchange.com/questions/72044/why-do-we-use-4×4-matrices-a-Transform-cosas-en-3d?answertab = # activa pestaña superior

Deja una respuesta