5.6.3.4 编写投影方程的矩阵

来源:互联网 发布:java培训课 编辑:程序博客网 时间:2024/06/04 17:59

为了一致性,我们希望由矩阵表达投影变换。然而,公式5.1是非线性的,所以它不具有矩阵表示。 “特技”是将其分成两部分:一个线性部分和非线性部分。非线性部分是除以z。如将在下一节中所讨论的,我们将标准化z坐标。因此,我们必须在z坐标转换之前保存其输入;要做到这一点,我们采取齐次坐标,并复制输入z坐标到输出w坐标。就矩阵乘法而言,这是通过设置项[2] [3] =1和项[3] [3] =0(基于零索引)。我们的投影矩阵如下所示:

z0

需要注意的是,我们已经把常数(将在下一节确定)A和B插入矩阵;这些常量将用于转换输入z坐标到标准化范围,乘以一个任意点(x,y,z,1)。通过该矩阵给出:

transform z

通过乘以投影矩阵(线性部分)以后,我们每个坐标通过除以w= z完成转换(非线性部分)

dividing z

顺便说一句,你可能不知道被零除的可能性;然而,近平面应大于零,所以这样的点将被剪切(§5.9)。通过除以w,有时也被称为透视除法或均匀除法。我们看到,投影的x和y坐标满足公式5.1。

本文固定链接:http://www.oxox.work/web/directx11/projection-equation-matrix/ | 虚幻大学

0 0
原创粉丝点击