CATransform3DROTATE与m34参数需要知道angular度以适应特定的高度

我有以下转换代码:

//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使用特定的angular度来获得旋转后的高度值。 正如你所看到的,我有一个angleValueForBlockHeight方法。 这个方法有非常难看的代码。 我的问题是如何计算这个变换所需的angular度。 公式或代码将是伟大的。 请帮帮我。

感谢您的关注。