如何计算c中的3D物体运动?

Swa*_*khe 5 iphone opencv ios

我是3D编程的新手,从Blender创建3D对象并在iOS中传递到我的Project.

现在我能够在屏幕上渲染对象.即使我能够应用像捏一样的手势来放大/缩小.

现在我想实现当我向左滑动一个位置时,对象应该以y轴旋转.我已经实现了Slop Formulate As:

float angle =atan2f((y2 - y1),(x2 - x1));
Run Code Online (Sandbox Code Playgroud)

但它在角度上给出了更多的差异.不久3D物体没有移动实际方向.并且角度应该相对于x,y和z轴以小值旋转(低于45度).

我想将它旋转回来使它与xy平面对齐,但问题是我不知道角度,所以我需要以某种方式计算/估计它们

  1. 如何计算角度?
  2. 当我知道角度时如何旋转它?

Kar*_*gat 1

只需检查 cocos3d 示例项目即可。新项目本身包含旋转操作。或者自己创建一个新项目作为示例。

  1. 创建一个新项目。

  2. 打开左侧导航器窗格中的 Classes 文件夹。

  3. 然后选择类文件夹。

  4. 选择 scene.m 文件。

    您可以在initializeScene() 中看到。它包含创建新 cc3meshnode 的代码和旋转它的操作。