在计算机图形学中确定4x4矩阵是否有用?

时间:2018-08-13 23:06:04

标签: matrix graphics 3d determinants

在我见过的大多数图形库中,都有一些函数可以从3x3和4x4矩阵返回行列式,但是我不知道何时需要在3D计算机图形中实际使用行列式。

在3D图形编程中使用行列式的例子有哪些?

3 个答案:

答案 0 :(得分:5)

在我的头顶上……

如果行列式为0,则矩阵无法求逆,这很有用。

如果行列式为负,则矩阵变换的对象将像在镜子中一样反转(左手性变为右手性,反之亦然)

对于3x3矩阵,将对象的体积乘以矩阵变换后的行列式。知道这一点对于确定例如渲染对象时要使用的详细程度/多边形数量很有帮助。

答案 1 :(得分:2)

在3D矢量图形中

使用了4x4 homogenuous transform matrices,我们需要可以由(子)行列式计算的展位正矩阵和逆矩阵。但是对于正交矩阵,有更快更准确的方法,例如

许多交集测试都使用行列式(或可以转换为使用行列式),例如,对于二次方程式(椭圆体,...):

如Matt Timmermans所建议的那样,您可以决定矩阵是可逆的还是左旋的或右旋的,这对于检测矩阵中的错误(精度降低)或在格式或引擎之间移植骨骼很有用。

我确信向量数学中还有很多其他用途(IIRC IGES将其用于旋转曲面,叉积是行列式,...)

答案 2 :(得分:1)

内切测试是计算Voronoi图和Delaunay三角剖分的关键原语。它由4x4行列式的符号给出。

enter image description here

(图片来自https://www.cs.cmu.edu/~quake/robust.html