CATransform3DRotate与M34参数需要知道的角度,以适应特定的高度(CATransf

2019-08-04 00:00发布

我有以下变换代码:

//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。 这种方法具有非常丑陋的代码。 我的问题是如何计算这一转变所需要的角度。 式或一段代码将是巨大的。 请帮帮我。

感谢您的关注。

文章来源: CATransform3DRotate with m34 parameter need to know angle to fit specific height