【问题标题】:How do I calculate the height of the bottom edge when rotating a plane on the x-axis in 3d space?在 3d 空间中沿 x 轴旋转平面时,如何计算底边的高度?
【发布时间】:2012-08-06 20:03:16
【问题描述】:

在我的 iOS 应用程序中,我有一个视图,我正在 3D 空间中的 X 轴上平移。视图的锚点位于顶部中心。如果我旋转视图 M_PI 度数,它看起来会变平。我需要屏幕底部和旋转视图的底部边缘之间的 X 像素(基本上,底部边缘离地的高度需要为 X 像素)。如何计算 M_PI 的这个百分比?

这是一个例子。在这种情况下,视图的高度为 100 像素,我需要将其旋转一定百分比的 M_PI,以便距离屏幕底部边缘有 40 像素。

【问题讨论】:

  • 两件事,我认为你应该使用 M_PI_2 的旋转,因为 M_PI 会将视图旋转 180 度。根据您的绘图,您似乎将 m34 值设置为变换以获得正确的视角。你为此使用了什么价值?

标签: ios rotation core-animation trigonometry


【解决方案1】:

这是相当简单的三角函数。如果您希望形状底部和屏幕底部之间有 40 像素,那么形状的顶部边缘和底部边缘之间就有 60 像素。你知道在旋转之前你的形状是 100 像素高,所以要找到角度,只需使用 arccos(60/100) = 53.13º = .295167 * M_PI。

【讨论】:

    猜你喜欢
    • 2020-01-01
    • 2011-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多