1
6
3x 3矩阵可以编码诸如旋转和反射之类的转换,但不能编码转换。为此,需要添加第四个元素,并用 homogenous coordinates . 为了某些目的,可以使用非方形矩阵,但是如果您想以任何顺序组合它们,它们应该是方形的(因为如果第一个矩阵中的列数等于第二个矩阵中的行数,则只能将两个矩阵相乘)。 因此,为了您的目的,您应该使用4x4矩阵和4元素同质向量,添加第四个 W 与值1协调。 将一个变换应用到一组向量上只是一个乘法问题。 传统上,向量表示为 columns 矩阵在左边。你在上面把它们表示为 rows 在右边乘。两者都是有效的,但是转换矩阵需要在两种情况之间进行转置。您显示的矩阵底部有翻译值,这与您的乘法顺序是正确的。 向量转换后,需要除以 W 坐标与比例 x,y 和 Z 回到传统的3空间。 在C-ISH伪代码中,使用行向量约定:
转换序列可以通过将每个矩阵依次相乘而组成。注意,矩阵乘法是 非交换的 ,所以乘法的顺序很重要。反过来,这意味着无论您是在左边乘以行向量还是在右边乘以列向量都很重要。如果你乘法 一 X 乙 X C ,然后使用与执行转换相同的列向量 C 首先,然后 乙 然后最后 一 . 对于行向量,它是 一 首先,然后 乙 然后 C . 因此,在构造、组成和应用转换时,保持所有内容的一致性是很重要的。
同样,在伪代码中应该与
|
Karpov · 巨大的广播变量,没有parfor优化代码? 6 年前 |
Shika93 · Matlab元素位置 6 年前 |
nymuffin · 在R中创建非对称对角线为0s的1s非对称矩阵 6 年前 |
Jakub Wagner · 厄米矩阵的特征向量[闭] 6 年前 |
yankeefan11 · 网格每个点处的矩阵 6 年前 |
Patrick · 将字母向量拆分为大小相等的向量[重复] 6 年前 |