5
我有一个高度为50的图层,并且我将它围绕x轴旋转。 。 。如何在旋转过程中计算高度?CATransform3D:透视变换后计算高度
CATransform3D subLayerTransform = CATransform3DMakeTranslation(0, 0, 0);
subLayerTransform.m34 = -1/1800; //How does height relate to perspective and angle?
subLayerTransform = CATransform3DTranslate(subLayerTransform, 0, 0, 0);
subLayerTransform = CATransform3DRotate(subLayerTransform, 45 * (M_PI/180), 1, 0, 0);
_transitionLayer.sublayerTransform = subLayerTransform;
它是sin(alpha)* length + cos(alpha)* height。 –
你能详细说一下吗?什么是阿尔法,高度和长度?你能把身高作为方程的主题吗?如果高度为50,没有旋转,旋转45度后的高度是多少? –
它是:new_height = sin(50)* _ transitionLayer.bounds.size.width + cos(50)* _ transitionLayer.bounds.size.height。 –