У меня есть слой с высотой 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;
Это грех (альфа) * длина + cos (альфа) * высота. –
Можете ли вы уточнить? Что такое альфа, высота и длина? Можете ли вы сделать высоту предметом уравнения? Если высота равна 50, без вращения, что такое высота после поворота на 45 градусов? –
Это: new_height = sin (50) * _ transitionLayer.bounds.size.width + cos (50) * _ transitionLayer.bounds.size.height. –