我可以获得CATransform3DIdentity的基本解释吗?

gri*_*eak 7 core-animation calayer catransform3d ios

我正逐渐对核心动画变得更加认真,并且非常欣赏由简短的单词(键入?)组成的解释,慢慢地解释CATransform3DIdentity以及为什么下面的代码执行它所做的事情(在'3D'空间中翻转层)

    kFaceUpTransform = kFaceDownTransform = CATransform3DIdentity;
    // Construct a 180-degree rotation matrix:
    kFaceDownTransform.m11 = kFaceDownTransform.m33 = -1;
Run Code Online (Sandbox Code Playgroud)

第二个想法,快速键入并使用多音节词语,但请保持温柔.

PS.我得到的印象是,如果我要进一步了解动画,我应该对线性代数更加舒服......这是正确的吗?

Rus*_*rke 14

CATransform3DIdentity是一个Identity矩阵:

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

最后,此列表底部的表格显示了如何使用矩阵的不同字段:

通过'internet wayback machine'提供:http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/CoreAnimation_guide/Articles/Layers.html

最后,我记得刚才读到这篇文章,它可能会有所帮助,因为我认为我上面的解释并不那么方便 - 我告诉你什么,不是为什么 - 而且相信我,你需要知道为什么要进入这种编程正确:

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

祝你好运!