在iOS中测量/计算距离

4

我需要在iOS中计算两点之间的距离。我可以保证至少有一个iPhone 4,所以相机的画质应该很好。我的想法是使用图片来计算到某一点的距离。有一个叫做easyMeasure的应用程序可以实现我需要做的事情。

我知道勾股定理,但这让我感到困惑。我该如何做到这一点?


除了 easyLevel 之外,还有 http://itunes.apple.com/us/app/site-survey/id357934015?mt=8。我了解这项技术,但是我只是在寻找反正弦,还是最好为手机获取某种硬件设备呢? - Echilon
我相信我有一个可行的解决方案,但可能需要一些视觉演示。一旦回到家,我应该在几个小时内就能得出答案。我大约在东部时间晚上7点放学,所以也许8:30-9左右我会尝试提供答案? - Jumhyn
@Echilon,你做完了吗?你能帮我怎么做吗?我也要做类似的事情。 - Amit Battan
@Echilon,你能否请发布一下你所使用的解决方案? - Mrunal
2个回答

4
好的,你是正确的,你需要使用正弦和其他函数。然而,首先你需要找到iPhone相机的镜头角度。为了这样做,将相机与墙面保持一定距离,测量从视野边缘到另一侧的距离,并将其除以2。为了在下面的图片中找到θ,请使用tanθ = opposite/adjacent,因此反正切(opposite/adjacent) = θ。
一旦你知道了这个,你只需要让用户拍照并给出屏幕上某物体的实际大小测量值。然后就可以使用tanθ = opposite/adjacent,既然你现在知道了θ和对立距离,邻边 = opposite/tanθ。
希望有所帮助!

我相信这会满足我的需求。谢谢! - Echilon
我想要计算从iPhone相机拍摄的两个点之间的距离。我来解释一下我的需求。假设我站在距离物体10英尺的地方,手持iPhone(带有相机)。因此,我的两个物体距离我(相机)为10英尺。 现在,我想要计算这两个距离相机10英尺远的物体之间的距离。这两个物体在同一直线上。那么,我该如何计算两点之间的距离呢? - Hitarth

0

iOS7的新更新
@import CoreLocation; @import MapKit;

CLLocation *sanFrancisco = [[CLLocation alloc] initWithLatitude:37.775 longitude:-122.4183333];
CLLocation *portland = [[CLLocation alloc] initWithLatitude:45.5236111 longitude:-122.675];
CLLocationDistance distance = [portland distanceFromLocation:sanFrancisco];

MKDistanceFormatter *formatter = [[MKDistanceFormatter alloc] init];
formatter.units = MKDistanceFormatterUnitsImperial;
NSLog(@"%@", [formatter stringFromDistance:distance]); // 535 miles

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接