Javascript 在OpenGL中检测矩阵是否镜像对象

Javascript 在OpenGL中检测矩阵是否镜像对象,javascript,matrix,3d,webgl,Javascript,Matrix,3d,Webgl,当镜像对象时(比例向量的每个轴的乘积0,则多维数据集看起来正常: 但如果scaleX

当镜像对象时(比例向量的每个轴的乘积<0),需要反转剔除模式以防止视觉伪影。(只有背面可见)

如果scaleX>0,则多维数据集看起来正常:

但如果scaleX<0,则看起来很奇怪:

我们可以反转剔除模式来解决这个问题

gl.cullFace(gl.FRONT)
然而,我想测试一个矩阵,看剔除是否应该反转。但是,由于旋转,我不确定我如何才能做到这一点

有没有办法检测矩阵是否镜像了对象?

您只需检查变换矩阵的值是否为负数即可。这也可以解释为坐标空间的变化