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

我慢慢地对核心animation越来越认真,并且会非常欣赏由简短的词语(打字?)组成的解释,慢慢地解释CATransform3DIdentity,以及为什么下面的代码做它做的事情(在“3D”空间中翻转层)

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

在第二个想法,快速打字,并使用多音节的话给你的心中的内容,但请温柔。

PS。 我得到的印象是,如果我要更进一步地使用animation,我应该更加适应线性代数…这是正确的吗?

CATransform3DIdentity是一个标识matrix:

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

基本上,animationmath中的matrix被用来转换对象(歪斜,移动,旋转等)。

一个身份matrix应用于一个对象时,会将其重置为初始地理位置。

恩。
[1 0 0]
[0 1 0]
[0 0 1]

这是不容易解释的(我真的不明白自己是否公平),但这些3x3matrix使用网格位置(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

最后,这个列表底部的表格显示了如何使用matrix的不同字段:

通过“互联网wayback机”提供:http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/CoreAnimation_guide/Articles/Layers.html

最后,我还记得前一段时间读到的,可能有些帮助,因为我认为我上面的解释并不那么方便 – 我告诉你什么,不是为什么 – 相信我,你需要知道为什么要进入这种编程正确:

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

祝你好运!