Я пытаюсь написать алгоритм, который выполняет следующие действия:
Учитывая текущую позицию (в азимуте и наклоне) и целевую позицию (снова в A, I), в каком направлении мне нужно двигатьсяпутешествовать по кратчайшему пути.Возвращаемое значение может быть чем-то вроде вектора A = -1, I = +0,5, который я затем могу масштабировать для размера шага / времени.
Кратчайший путь можно найти, используя большой круг, это легко визуализировать, но трудно реализовать, как описано выше, потому что моя система координат не является непрерывной.
Моя система координат следующая (представьте, что вы стоите перед сферой)
Азимут 0 ~ пи при движении вдоль экватора вдоль передней стороны, 0 ~ пи при движении вдоль экватора вдоль задней стороны.
Наклон 0 ~ + pi при движении изот верха до низа сферы.
Итак, учитывая эту непостоянную систему координат, как мне создать решающую функцию, которая говорит «увеличить А», чтобы путешествовать по кратчайшему пути?