Расчет местоположения планет в солнечной системе
Создаю НАСАвский аналог 3D карты солнечной системы на THREE.js и Vue. Столкнулся с проблемой определения текущего местоположения планет относительно солнца.
Сначала надеялся на интеграцию открытых API, 2 дня лазил по гуглу и ничего не нашел. Сервисы либо закрыты, либо им уже лет по 12 и особой ценности они не представляют.
Затем конечно же вышел на ресурс HORIZONS, но он предоставляет данные только по запросу через UI в виде html блока (там нужно через телнет клиент запрашивать данные, чтобы в этом разобраться я убью кучу времени, а у меня осталось 2 дня до сдачи проекта).
Затем я нашел несколько библиотек: astronomy.js, которая вцелом очень интересна, но я так и не понял как интегрировать ее с фреймом анимации планет, а также js-horizons, но там у меня ломается конструктор объекта при иницализации запроса (ответа на ишью пока не получил на гите).
Может кто-нибудь знает подходящие API для подгрузки расположения планет в солнечной системе?
Ответы (1 шт):
Спасибо @moxolim за отличную подсказку.
Решение с расчетом на стороне пользователя:
Берем исходник astronomy.js
Или рефактор под es9 (иcключает все ошибки)
Создаем у себя файл astronomy.js и копируем код.
*Обратите внимание, что исходнику нужно будет добавить:
export {
Astronomy
};
Далее импортим куда нужно:
import { Astronomy } from "./astronomy.js";
Получаем объект с XYZ координатами:
console.log(Astronomy.Body[1].EclipticCartesianCoordinates(Astronomy.DayValue(new Date())))
//[1] - это меркурий
Кодировка небесных тел:
[1] //Меркурий
[2] //Венера
[3] //Земля
[4] //Луна
[5] //Марс
[6] //Церера
[7] //Палада
[8] //Юнона
[9] //Веста
[10] //Ида
[11] //Гаспра
[12] //9P/T1
[13] //19P/B
[14] //67P/C-G
[15] //81P/W2
[16] //Юпитер
[17] //Сатурн
[18] //Уран
[19] //Нептун
[20] //Плутон
