我正在尝试开发自己的增强现实引擎.
在互联网上搜索,我发现了这个有用的教程.阅读它我发现重要的是在用户位置,点位置和北方之间.
以下图片来自该教程.

接下来,我写了一个Objective-C方法来获得beta:
+ (float) calculateBetaFrom:(CLLocationCoordinate2D)user to:(CLLocationCoordinate2D)destination
{
double beta = 0;
double a, b = 0;
a = destination.latitude - user.latitude;
b = destination.longitude - user.longitude;
beta = atan2(a, b) * 180.0 / M_PI;
if (beta < 0.0)
beta += 360.0;
else if (beta > 360.0)
beta -= 360;
return beta;
}
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试它时,它不能很好地工作.
所以,我检查了iPhone AR Toolkit,看它是如何工作的(我一直在使用这个工具包,但它对我来说太大了).
而且,在ARGeoCoordinate.m中,还有另一种如何获得beta的实现:
- (float)angleFromCoordinate:(CLLocationCoordinate2D)first toCoordinate:(CLLocationCoordinate2D)second {
float longitudinalDifference = second.longitude - first.longitude;
float latitudinalDifference = second.latitude - first.latitude;
float …Run Code Online (Sandbox Code Playgroud) 有没有办法找出或计算iPhone相机通过调用API的视野(FOV)?或者你需要亲身体验一下吗?
如果无法使用API获取或计算它,而是必须将其硬编码到应用程序中,那么找出应用程序运行的设备类型的最佳方法是什么?不同的设备具有不同的FOV(iPhone 4具有比以前版本更大的FOV.)另外,每个设备的FOV究竟有多大?
我问,因为我正在考虑制作一个增强现实应用程序,并且知道FOV是必不可少的.