7

私はゆっくりとCoreAnimationについて真剣になりつつあり、CATransform3DIdentityをゆっくりと説明する短い単語(入力された?)で構成される説明と、次のコードがそれを実行する理由(「3D」スペースでレイヤーを反転する)を大いに感謝します

    kFaceUpTransform = kFaceDownTransform = CATransform3DIdentity;
    // Construct a 180-degree rotation matrix:
    kFaceDownTransform.m11 = kFaceDownTransform.m33 = -1;

考え直して、すばやく入力し、心ゆくまで多音節の単語を使用しますが、優しくしてください。

PS。アニメーションをもっと上手くやるなら、線形代数をもっと快適にすべきだという印象を受けます...これは正しいですか?

4

1 に答える 1

14

CATransform3DIdentityは、単位行列です。

http://en.wikipedia.org/wiki/Identity_matrix

基本的に、アニメーション数学の行列は、オブジェクトを変換するために使用されます(スキュー、移動、回転など)。

単位行列は、オブジェクトに適用されると、オブジェクトを最初の地理にリセットするものです。

元。
[1 0 0]
[0 1 0]
[0 0 1]

説明するのは簡単ではありませんが(公平に自分自身を正しく理解していません)、これらの3x3マトリックスは、グリッド位置(m11、m33)を使用して、オブジェクトを変換する方法を決定します。この場合、m11はオブジェクトを180度回転させます。 +1に設定すると、反対方向に回転します。0.5に設定すると、90度回転します(iirc!)。

元。
[m11、m12、m13]
[m21、m22、m23]
[m31、m32、m33]

少し怖いですが、ここの写真はちょっと助けになります:

http://en.wikipedia.org/wiki/Matrix_(mathematics)#Linear_transformations

そしてここ

http://en.wikipedia.org/wiki/Transformation_matrix

最後に、このリストの下部にある表は、マトリックスのさまざまなフィールドがどのように使用されるかを示しています。

AppleCoreAnimationプログラミングガイド-CoreAnimationの基本

最後に、これを少し前に読んだことを思い出します。上記の説明はそれほど便利ではないと思うので、役立つかもしれません。理由ではなく、何を言っているのでしょうか。信じてください。なぜ入るのかを知る必要があります。この種のプログラミングは適切に:

http://chortle.ccsu.edu/vectorlessons/vectorIndex.html

頑張ってください!

于 2011-08-20T01:07:45.503 に答える