0
我正在开发自己的增强现实引擎。获取轴承位置接近0的位置的point.x
在这种tutorial我已经找到了如何使用它的轴承上来看,iPhone的屏幕尺寸和摄像头字段,以显示在屏幕上的一个点:
+ (CGPoint) calculatePositionFor:(float)deltaOrient screenSize:(CGSize)screenSize fov:(float)fov
{
CGPoint point;
CGFloat x = (screenSize.width/2.0f) + (deltaOrient * (screenSize.width/(fov/2.0f)));
CGFloat y = screenSize.height/2.0f;
point = CGPointMake(x, y);
return point;
}
它的参数是:
deltaOrient:
是位置的轴承减去设备标题。 screenSize:
iPhone的屏幕尺寸。 fov:
摄像头的视野。
它工作正常,直到我想显示北部附近的位置。当设备标题从1度变为359度时不起作用。
我得到这个日志:
2011-11-16 15:10:16.067 AREngineDemo[310:707] Beta: 7.005, Heading: 2.504323, X: 234.424377
2011-11-16 15:10:16.104 AREngineDemo[310:707] Beta: 7.005, Heading: 1.504323, X: 250.961853
2011-11-16 15:10:16.117 AREngineDemo[310:707] Beta: 7.005, Heading: 0.504323, X: 267.499329
2011-11-16 15:10:16.149 AREngineDemo[310:707] Beta: 7.005, Heading: 0.504323, X: 267.499329
2011-11-16 15:10:16.172 AREngineDemo[310:707] Beta: 7.005, Heading: 359.504333, X: -5669.451660
2011-11-16 15:10:16.195 AREngineDemo[310:707] Beta: 7.005, Heading: 358.504333, X: -5652.914551
2011-11-16 15:10:16.217 AREngineDemo[310:707] Beta: 7.005, Heading: 358.504333, X: -5652.914551
2011-11-16 15:10:16.244 AREngineDemo[310:707] Beta: 7.005, Heading: 358.504333, X: -5652.914551
X coodinate去从247
到-5669
。这是一个错误。
我想知道如何解决它,我不知道如何。
任何线索?