现在的位置: 首页 > 综合 > 正文

核心动画(3)

2013年11月04日 ⁄ 综合 ⁄ 共 811字 ⁄ 字号 评论关闭

变换函数

CATransform3DMakeTranslation 

官方文档:

Returns a transform that translates by '(tx, ty, tz)'. t' = [1 0 0 0; 0 1 0 0; 0 0 1 0; tx ty tz 1].

CATransform3D CATransform3DMakeTranslation (CGFloat tx, CGFloat ty, CGFloat tz)。

做一个解释,对于初学者来说,可能没有看明白是什么意思。我详细说下

对于CATransform3D来说,它是一个4x4 CGFloat的矩阵。

而上面给的值:[1 0 0 0; 0 1 0 0; 0 0 1 0; tx ty tz 1].

给竖起来后。就发现:

1    0    0    0

0    1    0    0

0    0    1    0

tx  ty   tz   1

竖起来看就很明显了。

CATransform3D 又是一个结构。他有自己的一个公式,可以进行套用。


struct CATransform3D
{
CGFloat     m11(x缩放),    m12(y切变),      m13(旋转),     m14();

CGFloat     m21(x切变),    m22(y缩放),      m23(),             m24();

CGFloat     m31(旋转),      m32( ),               m33(),   
           
m34(透视效果,要操作的这个对象要有旋转的角度,否则没有效果。正直/负值都有意义);

CGFloat     m41(x平移),     m42(y平移),     m43(z平移),     m44();
};


根据这个公式,就一目了然了。

CATransform3D CATransform3DMakeTranslation (CGFloat tx, CGFloat ty, CGFloat tz)

的参数意思就是 

tx::x平移。  ty:y平移。  tz:z平移

抱歉!评论已关闭.