1

我有以下转换代码:

//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 方法。这种方法的代码非常难看。我的问题是如何计算此变换所需的角度。公式或代码段会很棒。请帮帮我。

感谢您的关注。

4

0 回答 0