Как рассчитать высоту нижнего края при вращении плоскости по оси X в 3d пространстве?

В моем приложении iOS у меня есть представление, что я переводю по оси X в 3D-пространстве. Якорная точка для представления находится в верхней центральной части. Если я поверную вид M_PI градусов, он будет казаться плоским. Мне нужно X пикселей между нижней частью экрана и нижним краем повернутого вида (по существу, высота нижнего края от земли должна быть X px). Как рассчитать этот процент от M_PI?

Вот пример. В этом случае представление имеет высоту 100px, и мне нужно повернуть его на некоторый процент от M_PI, так что есть 40px от нижнего края экрана.

изображение

Это довольно простая тригонометрия. Если вы хотите 40 пикселей между нижней частью фигуры и нижней частью экрана, то у вас есть 60 пикселей между верхним и нижним краями вашей фигуры. Вы знаете, что перед поворотом ваша форма была высотой 100 пикселей, поэтому, чтобы найти угол, просто возьмите arccos (60/100) = 53.13º = .295167 * M_PI.

  • Как конвертировать CGRect из портрета в альбом?
  • Как я могу предотвратить рождение ребенка из SKSpriteNode со своим родителем?
  • Как повернуть основной текст с помощью Swift?
  • UISplitViewController сжимает левую сторону при вращении с помощью видимого меню
  • Заблокируйте ориентацию только для основного UIViewController - iOS
  • Преобразование и поворот в Scenekit
  • Вращение камеры в SceneKit
  • Сдвиг контроллера iOS после поворота
  • Принудительная автоматизация Маска для применения к UIView
  • Перетаскивание + поворот с помощью UIPanGestureRecognizer.
  • UILabel уродливая анимация вращения с автозапуском
  • Interesting Posts

    DetailView исчезает после выбора навигации внутри UISplitView

    Почему вращение этой призмы в iOS Metal не выполняется правильно?

    Динамическое изменение ячейки с помощью UITextView в UITableViewCell вызывает предупреждение?

    Почему статический анализатор XCode не обнаруживает незапущенные сохраненные свойства?

    iOS – как создать элемент навигационной панели в контроллере?

    мне нужно вручную добавить каждый * .m-файл к моей целевой тестовой единице, когда это необходимо?

    Как передать значения из контроллера Pop Up View в контроллер предыдущего просмотра?

    Cache-Control: max-age не делает кеширование AFNetworking ответом

    Непризнанный селектор Facebook и Parse

    Загружать изображения, сохраненные в каталоге документов приложений iOS на странице cordova html (cordova)?

    UISearchBar Минимальный стиль делает оттенок черного при наборе текста

    Как использовать getData () для построения LineChart с библиотекой ObjC PNChart в Swift?

    Добавить ассоциацию файлов с tiff-файлами на iOS

    Как изменить размер шрифта кнопки UIAlertAction

    Вызов быстрого закрытия в закрытом помещении

    Давайте будем гением компьютера.