2011-08-20 14 views
7

私はゆっくりCore Animationについて真剣に考えており、CATransform3DIdentityをゆっくりと説明している短い言葉で構成された説明と、次のコードが何をするのか(3D空間でレイヤーを反転させる理由)を説明すると大変感謝します。CATransform3DIdentityの基本的な説明はありますか?

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

もう一度考えると、素早く入力し、多肢体の言葉をあなたの心の中身に使用しますが、穏やかにしてください。

PS。私はアニメーションでさらに進化を遂げるために線形代数をもっと快適にしなければならないという印象を受けました。これは正しいのですか?

+0

はい、はるかに - 私は私の答えの一番下にあるリンクを貼っています。 –

答えて

14

CATransform3DIdentityは恒等行列である:

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

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

アイデンティティマトリックスは、オブジェクトに適用すると、オブジェクトを初期地理にリセットするものです。

ex。
[1 0 0]
[0 1 0]
[0 0 1]

それは説明するのは簡単ではありません(私は本当に公正で適切に自分自身を理解していない)が、これらの3×3の行列がグリッド位置を使用(m11、m33)を使ってオブジェクトをどのように変換するかを決定します。この場合、m11は180度回転させて+1に設定し、もう一方の方向は回転させます。 0.5に設定すると90度回転します(iirc!)。

ex。
[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

、下部のテーブルこの本のLi STは、行列の異なるフィールドを使用する方法を示します。

Provided via 'internet wayback machine': http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/CoreAnimation_guide/Articles/Layers.html

私は上記の私の説明は、その便利ではないと思います最後に、私はしばらく前にこれを読んで思い出して、それはいくつかの助けになるかもしれない - 私は、

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

運のベスト:あなたは、なぜ適切なプログラミングのこの種に入るために知っておく必要があり、私を信じて - いない理由は、何をあなたに伝えるM」!

+1

あなたは「アイデンティティマトリックスは、オブジェクトに適用すると、それを初期の地理にリセットするマトリックスです。それは間違いです。恒等行列はオブジェクトをまったく変更しません。それは元の状態にリセットすることとは異なります。乗算では、1がアイデンティティ値です。任意の値×1が元の値です。行列演算にも同じことが当てはまります。 –

関連する問題