具有m34参数的CATransform3DRotate需要知道角度以适合​​特定高度

时间:2012-12-12 13:17:21

标签: iphone objective-c ios calayer catransform3d

我有以下转换代码:

//preparing transform
CATransform3D basicTrans = CATransform3DIdentity;
basicTrans.m34 =1.0/-projection;

//calculating angle
double angle= [[self angleValueForBlockHeight:height] doubleValue];
double rangle;
if (up)
{
    rangle=angle/360*(2.0*M_PI);
}
else
{
    rangle=(360.0-angle)/360*(2.0*M_PI);
};


//NSLog(@"    angle: %g", angle);

//transforming
bView.layer.transform = CATransform3DRotate(basicTrans, rangle, 1.0f, 0.0f, 0.0f);

正如您所看到的,我正在使用特定角度旋转bView以在旋转后具有高度变量值。正如你所看到的那样,我有一个angleValueForBlockHeight方法。这种方法的代码非常难看。 我的问题是如何计算这种变换所需的角度。 公式或代码片段会很棒。 请帮帮我。

感谢您的关注。

0 个答案:

没有答案