1

我知道 CATransform3D 被定义为

struct CATransform3D
{
CGFloat m11, m12, m13, m14;

CGFloat m21, m22, m23, m24;

CGFloat m31, m32, m33, m34;

CGFloat m41, m42, m43, m44;
};

苹果文件说

CATransform3DTranslate
Translate 't' by '(tx, ty, tz)' and return the result: t' = translate(tx, ty, tz) * t.

我想实现我的 CATransform3DTranslate 方法,但我不确切知道如何计算 t',即我有类似的变换self.layer.transform,并且 tx = 10,ty=tz=0,如何计算得到 t'?

4

1 回答 1

4

你不必。您只需在图层上使用 CATransform3dMakeTranslation 方法,设置输入值和游戏!CATransform3dMakeTranslation(如 CATransform3DMakeRotation)将完成所有数学运算,但具有坐标变化的旋转平移矩阵。如果您只想平移/旋转/旋转 3d 空间中的图层,则不必担心矩阵本身。

于 2013-03-10T14:58:45.617 回答