为什么是4×4 矩阵用于三维变换的东西?

确实 4×4 矩阵对于在 3D 中转换事物非常有用! 您可以在翻译的情况下添加向量.

使用 4 背后的原因×4 在 3D 中转换事物的矩阵

使用矩阵的原因归结为有一种统一的方式来处理不同的组合变换.

例如, 旋转通常使用矩阵完成, 所以为了处理多重变换 (旋转/平移/缩放/投影…等等) 以统一的方式, 您需要将它们编码为矩阵.

好, 从技术上讲; 转换正在将一个点/向量映射到另一个点/向量.

p` = T(p); 

其中 p` 是变换点,T(p) 是变换函数.

鉴于我们不使用矩阵,我们需要这样做来组合多个转换:

p1 = T(p);

p最终的 = 米(p1);

一个矩阵不仅可以将多种类型的变换组合成一个矩阵 (e.g. 仿射, 线性, 投射的).

使用矩阵让我们有机会组合转换链,然后批量乘以它们. 这通常通过 GPU 为我们节省了大量周期 (感谢@ChristianRau 指出).

Ť最终的 = T * [R * P; // 翻译旋转项目

p最终的 = T最终的*p;

值得指出的是,GPU 甚至一些 CPU 都针对向量运算进行了优化; 使用 SIMD 的 CPU 和 GPU 是数据驱动的并行处理器设计, 所以使用矩阵非常适合硬件加速 (实际上, GPU 旨在适应矩阵/向量运算).


信用:

HTTPS://gamedev.stackexchange.com/questions/72044/why-do-we-use-4×4-矩阵对变换的东西,在-3D?answertab =活性#制表顶

离开一个答案