Измерение / Расчет расстояния в iOS - PullRequest
4 голосов
/ 11 октября 2011

Мне нужно рассчитать расстояние между двумя точками в iOS. Я могу гарантировать как минимум iPhone 4, поэтому качество изображения на камере должно быть хорошим. Идея состоит в том, чтобы рассчитать расстояние до точки, используя картинку. Есть приложение под названием easyMeasure, которое делает именно то, что мне нужно.

Я в порядке с Пифагором, но это поражает меня. Как бы я сделал что-то подобное?

Ответы [ 2 ]

4 голосов
/ 12 октября 2011

Хорошо, значит, вы были правы в том, что вам нужно использовать синус и тому подобное. Во-первых, вам нужно найти угол объектива камеры iPhone. Сделайте это, поместите камеру на известном расстоянии от стены и измерьте расстояние от края поля зрения до другой стороны и разделите на два. Чтобы найти θ на рисунке ниже, используйте tanθ = противоположный / соседний, поэтому обратный tan (противоположный / соседний) = θ.

Picture 2

Как только вы это знаете, пользователь просто делает снимок и измеряет, насколько велико что-то на экране. Тогда просто используйте tanθ = противоположный / соседний, и поскольку теперь вы знаете θ и противоположное расстояние, соседний = противоположный / tanθ.

Picture 1

Надеюсь, это поможет!

0 голосов
/ 09 октября 2013

Новое обновление в 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...