0

在 3D 空间中,我至少在概念上理解如何使用矩阵变换来移动一个点。

但是,如果我有一个带有多个点(顶点)的形状(比如说一个立方体),我是否需要通过矩阵变换运行每个点,或者是否有更快的方法一次完成所有这些?

4

1 回答 1

0

对于单个顶点,您有

b=Aa

其中a=(x,y,z)是点坐标的列,b包含变换点的坐标。A是你的3x3变换矩阵。

如果您使用具有快速矩阵乘法的编程语言,则可以编写

XP=A X

其中 的每一列X包含(x,y,z)立方体每个顶点的坐标,而 的列XP包含每个顶点的变换坐标。

这需要您在矩阵中堆叠X顶点,但通常比遍历每个顶点更快。

编辑:

如果您有多个转换要一个接一个地连续应用,例如其中 3 个,请选择您要应用的第一个、A=A3 A2 A1第二个和第三个。A1A2A3

于 2013-11-16T00:42:21.433 回答