代码之家  ›  专栏  ›  技术社区  ›  Márkó Mihálovics

通过新位置和变形计算矩形角度的旋转?

  •  0
  • Márkó Mihálovics  · 技术社区  · 9 年前

    我有一个基于增强现实的游戏项目,但我不想使用任何这些库和插件,因为它们不能做我想做的事情……等等。。

    所以我的问题是可以计算 二维矩形在三维世界中的旋转? 如果是,如何?如果没有,我该怎么办?

    我想到的插图图像:

    The 0 rotation on every axis (x,y,z axis in 2 dimension??)

    The 0 rotation in the 3D world

    2D世界中的一些旋转(在3D中-->x70、y10、z30)

    2D旋转70,10,30

    The rotated rect in 2D

    三维旋转70,10,30

    enter image description here

    1 回复  |  直到 9 年前
        1
  •  1
  •   meowgoesthedog    9 年前

    作为一个重要的先决条件,你必须知道 哪一个 未旋转矩形上的边对应于旋转矩形上的边。

    1. 四元数 需要从A旋转到B=> Q

    2. 计算以下各项:

      • 未旋转矩形上边缘的中点=> C
      • D
      • E
    3. 旋转矢量 通过 Q 获取向量 。四元数旋转是大多数三维数学库中可用的另一种常见操作。

    4. 计算要从中旋转的四元数 F D-E =>

    5. 计算 最终的 = P*Q ,并根据需要转换为轴角度: Wikipedia