この質問は、私の前の質問に続くものです。3D形状の面を、別のAndroidキャンバスの後ろに隠しますか?
私はキャンバスを持っていて、によって獲得されたマトリックスを介してそれを回転させた後、顔の法線ベクトルを取得する必要がありgraphics.Camera
ます。数学から、、、およびの変換行列がTranslation
でRotation
あり、角度を保持していることがわかり ます。したがって、カメラで回転を行い、を介してマトリックスを取得する場合、公式ドキュメントには次のように記載されているため、マトリックスが必要であると予想しました。Scaling
orthogonal
Camera.getMatrix(Matrix matrix)
orthogonal
public void getMatrix(行列行列)以降:APIレベル1現在の変換
に対応する行列を計算し、指定された行列オブジェクトにコピーします。
それが本当に直交行列である場合、カメラから取得した行列によって(回転する前に)顔の法線ベクトルを変換でき、結果は回転後の顔の法線ベクトルに平行になります。しかし、その行列をその転置に乗算すると、結果の行列は同一ではありません。今私の質問は:
現在の変換getMatrix (Matrix matrix)
に対応する行列を実際に返しますか?それが本当なら、なぜ私が返された行列をその転置に乗算するとき、結果は同じではないのですか?