Matrix 4x4矩阵的行列式在计算机图形学中有什么用途吗?

Matrix 4x4矩阵的行列式在计算机图形学中有什么用途吗?,matrix,graphics,3d,determinants,Matrix,Graphics,3d,Determinants,在我见过的大多数图形库中,有一些函数可以从3x3和4x4矩阵返回行列式,但我不知道在3D计算机图形中何时实际需要使用行列式 在3D图形编程中使用行列式的一些例子是什么?在我的脑海中 如果行列式是0,那么矩阵就不能倒转,这可能有助于了解 如果行列式为负,则矩阵变换的对象将像在镜子中一样反转(左手变成右手,反之亦然) 对于3x3矩阵,当物体被矩阵变换时,物体的体积将乘以行列式。了解这一点有助于确定渲染对象时要使用的细节级别/多边形数。在三维矢量图形中 有使用,我们需要布斯直接和逆矩阵,可以计算(子)

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


在3D图形编程中使用行列式的一些例子是什么?

在我的脑海中

如果行列式是0,那么矩阵就不能倒转,这可能有助于了解

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


对于3x3矩阵,当物体被矩阵变换时,物体的体积将乘以行列式。了解这一点有助于确定渲染对象时要使用的细节级别/多边形数。

在三维矢量图形中

有使用,我们需要布斯直接和逆矩阵,可以计算(子)行列式。但是对于正交矩阵,有更快更精确的方法,比如

许多相交测试使用行列式(或可以转换为使用行列式),特别是对于二次方程(椭球,…),例如:

正如Matt Timmermans所建议的,您可以决定矩阵是可逆的还是左手/右手的,这有助于检测矩阵中的错误(精度降低)或在格式或引擎之间移植骨架等


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

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


(图片来源)

矩阵求逆隐含地要求计算行列式。这可能是碎片着色器计算所需的。是的。库通常也提供反函数,所以我仍然不确定为什么会使用行列式函数本身;将3x3矩阵的每一行设置为基向量,并计算其行列式,得到三重积
a。(b x c)
,这在解决非正交性方面是一个有用的量。因此,如果矩阵无法反转,“世界到屏幕”坐标转换将中断,这在3d游戏中非常重要。