CATransform3DTranslate如何翻译?
问题描述:
我知道CATransform3D被定义为CATransform3DTranslate如何翻译?
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'?
答
你不需要。 您只需在图层上使用CATransform3dMakeTranslation方法,即可设置输入值和游戏!如CATransform3dMakeTranslation(如CATransform3DMakeRotation)将执行所有的数学运算并具有坐标变换的旋转平移矩阵。如果您只想在3D空间中翻译/旋转/旋转图层,则不必担心矩阵本身。
如果你真的想知道我可以推荐[我在这里涉及所有数学的长篇文章](http://ronnqvi.st/the-math-behind-transforms/)。 – 2013-03-10 16:01:42
打印结果并亲自查看。 – 2013-03-10 18:20:12