Это называется "Обратная геодезическая задача".
Вот тут есть подробная теория и готовые скрипты на питоне для сферы: Задачи на сфере: обратная геодезическая задача. И есть ещё хорошая либа geographiclib которая решает эти задачи на эллипсоиде.
Когда вам нужно создать "плоский" итератор, из которого поочерёдно вылетают аргументы/результат некоторой функции.
# coding=utf-8
def f(x):
return u',\n {}.\n'.format(x.lower())
print(u''.join(f((yield i) or i) for i in [
u'Ветер с моря дул',
u'Нагонял беду',
u'И сказал ты мне',
u'Больше не приду'
]))