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