此问题正在跟进我之前的问题:Hide a face of a 3D shape behind another,Android canvas?
我有一个画布,我必须通过graphics.Camera
获得的矩阵旋转它后得到一个面的法线向量。从数学中,我们知道Translation
的转换矩阵,{ {1}}和Rotation
是Scaling
和preserve angles。所以当我通过Camera进行一些旋转并通过Camera.getMatrix(矩阵矩阵)获取矩阵时,我预计矩阵必须是orthogonal
,因为文件说:
public void getMatrix(Matrix matrix)自:API Level 1 单位计算 与当前转换对应的矩阵并复制它 到提供的矩阵对象。
如果它是真正的正交矩阵,我可以通过从Camera获得的矩阵来转换面的法向量(在旋转之前),并且在旋转之后结果将平行于正常的面向量。但是当我多个矩阵时对于它的转置,结果矩阵不是身份。 现在我的问题是:
orthogonal
是否真的返回与当前转换相对应的矩阵?如果是真的,为什么当我将Multiply返回矩阵转移到它的转置时,结果不是Identity?