Tag: 线性代数

增强现实应用程序在景观模式

我正在尝试使用CoreMotion框架构build增强现实应用程序。 我试图从苹果的pARk示例代码项目,但它只能在肖像模式下工作。 我需要它在景观工作。 当切换到横向模式时,叠加视图中的子视图以相反的方向移动并以错误的速率移动(它们在屏幕上移动得太快或太慢) 我已阅读其他post ,提供了两个解决scheme: 如CoreMotion茶壶示例中所build议的那样,创build参考姿态并将该姿态的反转应用于当前姿态。 旋转姿态90度的四元数表示 我不认为第一个会工作,因为我的增强现实应用程序要求它被引用到真正的北方。 我也不明白做第二个练习所需的math。 如何完成这个复杂的问题,我欢迎任何build议。

用核心运动计算倾斜angular

我的应用程序有一个logging会话。 当用户启动logging会话时,我开始从设备的CMMotionManager对象收集数据,并将它们存储在CoreData上,以便稍后进行处理和呈现。 我收集的数据包括GPS数据,加速计数据和陀螺仪数据。 数据的频率是10Hz。 目前我正在努力计算运动数据中设备的倾斜angular度。 可以使用重力数据计算设备的哪一侧是土地,但是我想要计算用户和地面之间的左右angular度,而不pipe行进方向如何。 这个问题需要一些线性代数知识来解决。 例如,对于某点的计算,我必须计算一个计算平面上的3D线的方程。 我正在为这一天工作一天,情况越来越复杂。 我一点都不擅长math。 一些与这个问题有关的math例子也是值得赞赏的。

返回CATransform3D以将四边形映射到四边形

我试图派生一个CATransform3D,它将一个带有4个angular点的四边形映射到另外一个带有4个新angular点的四边形。 我花了一点时间研究这个问题,看起来步骤包括将原来的Quad转换为Square,然后将Square转换为新的Quad。 我的方法是这样的(从这里借用的代码): – (CATransform3D)quadFromSquare_x0:(float)x0 y0:(float)y0 x1:(float)x1 y1:(float)y1 x2:(float)x2 y2:(float)y2 x3:(float)x3 y3:(float)y3 { float dx1 = x1 – x2, dy1 = y1 – y2; float dx2 = x3 – x2, dy2 = y3 – y2; float sx = x0 – x1 + x2 – x3; float sy = y0 – y1 + y2 – y3; […]