我有以下转换代码:
//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方法。这种方法的代码非常难看。 我的问题是如何计算这种变换所需的角度。 公式或代码片段会很棒。 请帮帮我。
感谢您的关注。