1

CATransform3D が次のように定義されていることを知っています

struct CATransform3D
{
CGFloat m11, m12, m13, m14;

CGFloat m21, m22, m23, m24;

CGFloat m31, m32, m33, m34;

CGFloat m41, m42, m43, m44;
};

Appleのドキュメントには、

CATransform3DTranslate
Translate 't' by '(tx, ty, tz)' and return the result: t' = translate(tx, ty, tz) * t.

CATransform3DTranslate メソッドを実装したいのですが、t' の正確な計算方法がわかりません。つまりself.layer.transform、tx = 10、ty=tz=0 のような変換があります。t' を計算するにはどうすればよいですか?

4

1 に答える 1

4

あなたはする必要はありません。レイヤーでCATransform3dMakeTranslationメソッドを使用するだけで、入力値とゲームを設定できます。CATransform3dMakeTranslation(CATransform3DMakeRotationなど)は、座標変更の回転変換行列を持つすべての計算を実行します。3D空間のレイヤーを変換/回転/回転変換するだけであれば、マトリックス自体について心配する必要はありません。

于 2013-03-10T14:58:45.617 に答える