在我见过的大多数图形库中,都有一些函数可以从3x3和4x4矩阵返回行列式,但是我不知道何时需要在3D计算机图形中实际使用行列式。
在3D图形编程中使用行列式的例子有哪些?
答案 0 :(得分:5)
在我的头顶上……
如果行列式为0,则矩阵无法求逆,这很有用。
如果行列式为负,则矩阵变换的对象将像在镜子中一样反转(左手性变为右手性,反之亦然)
对于3x3矩阵,将对象的体积乘以矩阵变换后的行列式。知道这一点对于确定例如渲染对象时要使用的详细程度/多边形数量很有帮助。
答案 1 :(得分:2)
在3D矢量图形中
使用了4x4 homogenuous transform matrices,我们需要可以由(子)行列式计算的展位正矩阵和逆矩阵。但是对于正交矩阵,有更快更准确的方法,例如
许多交集测试都使用行列式(或可以转换为使用行列式),例如,对于二次方程式(椭圆体,...):
如Matt Timmermans所建议的那样,您可以决定矩阵是可逆的还是左旋的或右旋的,这对于检测矩阵中的错误(精度降低)或在格式或引擎之间移植骨骼很有用。
我确信向量数学中还有很多其他用途(IIRC IGES将其用于旋转曲面,叉积是行列式,...)
答案 2 :(得分:1)