我可以得到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
祝你好运!