相关疑难解决方法(0)

使用Core Motion获取加速度计数据的位移

我正在开发一种增强现实应用程序(目前)想要在表面上显示一个简单的立方体,并且能够在空间中移动(旋转和移位)以在所有不同角度观察立方体.校准相机的问题在这里不适用,因为我要求用户将iPhone放在他想要放置立方体的表面上,然后按下按钮以重置姿势.使用陀螺仪和核心运动来查找相机旋转非常简单.我是这样做的:

if (referenceAttitude != nil) {
    [attitude multiplyByInverseOfAttitude:referenceAttitude];
}

CMRotationMatrix mat = attitude.rotationMatrix;

GLfloat rotMat[] = {
    mat.m11, mat.m21, mat.m31, 0,
    mat.m12, mat.m22, mat.m32, 0,
    mat.m13, mat.m23, mat.m33, 0,
    0, 0, 0, 1
};

glMultMatrixf(rotMat);
Run Code Online (Sandbox Code Playgroud)

这非常有效.当我试图在加速期间找到空间位移时,无论如何都会出现更多问题.带有Core Motion的Apple Teapot示例只是将加速度矢量的x,y和z值添加到位置矢量.这(除了没有多大意义)具有在加速之后将对象返回到原始位置的结果.(因为加速度从正到负,反之亦然).他们这样做了:

translation.x += userAcceleration.x;
translation.y += userAcceleration.y;
translation.z += userAcceleration.z;
Run Code Online (Sandbox Code Playgroud)

我应该怎么做才能找出某些加速度的加速度位移?(已知时差).看一些其他的答案,似乎我必须整合两次以从加速度获得速度,然后从速度获得位置.但是代码中没有任何例子,我认为这不是必要的.此外,还有一个问题是,当iPhone仍在飞机上时,加速度计值不为空(我认为有一些噪音).我应该过滤多少这些值?我应该过滤掉它们吗?

iphone accelerometer augmented-reality ios4 gyroscope

19
推荐指数
3
解决办法
2万
查看次数

iOS Gyroscope API

我正在学习使用iOS中的陀螺仪传感器编写应用程序.对于加速度计,是否存在类似于UIAcceleration/UIAccelerometer/UIAccelerometerDelegate的陀螺仪处理类?

iphone objective-c ipad ios gyroscope

13
推荐指数
2
解决办法
2万
查看次数

相机覆盖层随轴承和高程变化

伙计们,

我正在尝试获得如下图所示的实用程序.基本上,相机显示窗口覆盖设备屏幕的一部分,并且通过曲线或直线连接的点列表在相机视图上呈现为叠加.我知道这可以用石英绘制,但这不到我问题的一半.

真正的问题是,当轴承和高度发生变化时,叠加应该呈现不同的点.

例如:

  • 如果轴承必须改变+5度和高度+2度,则PT1将位于摄像机视图的右边缘旁边,PT2也将向右移动,PT3将可见.
  • 另一个改变轴承+10度的运动将使PT1不可见,PT2在右侧,PT3中间和PT4在摄像机视图的左边缘.

我的问题在图片后面:

图片描述了我想要完成的事情

  1. 是否有可能有一个远大于摄像机视图大小的视图(如下所示)并使用一些方法(我需要研究这些)来在轴承/高程变化时移动视图?是否建议表现明智?
  2. 石英是去这里的方式吗?我还需要什么(其他当然AVFoundation用于相机和相位/动作)?由于我的应用程序只是iOS 7,我可以使用iOS 7独有的任何新方法/ API.
  3. 除了raywendelrich关于增强现实游戏的教程之外,你知道的任何教程是否可以帮助我完成这项工作?

camera overlay augmented-reality ios

8
推荐指数
1
解决办法
1054
查看次数

CMAttitude和CATransform3D是否与旋转矩阵相关?

我正在研究核心运动类CMAttitude,它可以将设备的方向表示为3x3旋转矩阵.与此同时,我看了一下CATransform3D,其中包含了视图的态度以及缩放.这CATransform3D是一个4x4矩阵.

我已经看到OpenGL旋转矩阵是4x4,只是在第4行和第4列填充了0001.

如果CMAttitude的旋转矩阵与CATransform的矩阵相关,我就会徘徊?

我可以使用通过旋转矩阵获得的空间中的设备旋转来转换UIView CATransform3D吗?我的目的是让用户移动手机并将相同的变换应用到屏幕上的UIView.

额外问题:如果它们相关,我如何将CMAttitude的旋转矩阵转换为CATransform3D?

iphone matrix catransform3d ios core-motion

6
推荐指数
1
解决办法
853
查看次数