2011-10-11 116 views
4

我需要計算iOS中兩點之間的距離。我可以保證至少有一臺iPhone 4,因此相機的圖像質量應該很好。這個想法是計算到使用圖片的點的距離。有一個名爲easyMeasure的應用程序,它完全符合我需要做的事情。在iOS中測量/計算距離

我與畢達哥拉斯確定,但這讓我難以置信。我會如何做這樣的事情?

+0

除了easyLevel,還有http://itunes.apple.com/us/app/site-survey/id357934015?mt=8。我理解這項技術,但是我只是在尋找反正弦或者最好是爲手機獲得某種硬件設備? – Echilon

+0

我相信我有一個可行的解決方案,但它可能需要一些視覺演示。我應該在幾個小時內得到答案,一旦我回家,我就可以創作。我在美國東部時間7點左右離開學校,也許8點半到9點我會試着回答問題嗎? – Jumhyn

+0

@Echilon你有沒有做過。你能幫我完成嗎?我必須做類似的事 –

回答

4

好的,所以你是正確的,你需要使用正弦等。首先,您需要找到iPhone相機的鏡頭角度。要做到這一點,將攝像機放在距牆壁已知距離的地方,並測量距離視野邊緣到另一邊的距離,然後除以二。要在下圖中找到θ,使用tanθ= opposite/adjacent,所以反tan(相反/相鄰)=θ。

Picture 2

一旦你知道,你就必須在用戶拍照,並給在屏幕上大的東西怎麼真的是一個測量。然後,只需使用tanθ= opposite/adjacent,並且由於您現在知道θ和相反的距離,相鄰=相對/tanθ。

Picture 1

希望幫助!

+0

我相信會做我需要的。謝謝! – Echilon

+0

我想計算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