Расчет искажения долготы при приближении к полюсам?

Я работаю над игрой, в которой игроки пытаются нацеливаться на точки на сфере.

По мере приближения целей к полюсам игра должна становиться более щадящей по долготе, потому что отношение расстояния по долготе к расстоянию по широте увеличивается. На полюсах игра должна быть бесконечно щадящей по долготе.

Какую формулу я ищу, которая говорит мне, сколько продольного расстояния равно 1 единице широтного расстояния для конкретной широты? Предположим, что долгота и широта выражаются как числа с плавающей запятой в диапазоне от 0 до 1, а на экваторе (0,5) долгота равна широте.


person justkevin    schedule 10.01.2017    source источник


Ответы (1)


Формула довольно проста (для обычных сферических координат с диапазоном широт -Pi/2..Pi/2):

Lon_Lat_Ratio = Cos(Latitude)

Но ваша параметризация отличается, поэтому

Lon_Lat_Ratio = Sin(Latitude_01 * Pi)

Соотношение равно 1 на экваторе и 0 на полюсах.

person MBo    schedule 10.01.2017
comment
Почему бы просто не рассчитать расстояние по большому кругу между игроком и целью? - person John Machin; 11.01.2017
comment
@John Machin Эмм .. Я только что пропустил часть об игроке / цели и ответил на конкретный вопрос. - person MBo; 11.01.2017