8 окт. 2026 г. · @knz75

Зачем это всё
Это рассказ о том, как после больницы у меня появился фитнес-браслет и куда это дальше завело.
Можно сказать, я труженик ручного труда, не астроном и не программист. Люблю технику, электронику и всё новенькое. Всегда смотрел в сторону фитнес-браслетов, но так как не особо радует что-то на руке, то ничего никогда и не приживалось: ни часы, ни браслеты, ни фенечки. Ну а в определённом возрасте я попал в больницу. К счастью, всё более-менее обошлось, но за здоровьем теперь нужно следить. Вот тут и сошлись звёзды: под надёжным предлогом был куплен фитнес-браслет.
Как оказалось, существует не только зоопарк моделей, но и такая же неразбериха с получением, хранением и обработкой данных. Были опробованы разные программы на телефоне - от гигантов индустрии до вариантов попроще. Более-менее адекватно вышло разобраться с помощью ИИ (ну куда же теперь без него...). Делал скриншот данных, закидывал в модель и получал «разбор полётов». Наигравшись таким образом, я оставил браслет в покое, а данные тихо ложились где-то в таблице в недрах телефона.
Но наличие девайса на руке, который что-то делает и записывает сам по себе, не успокаивало. А просто смотреть на циферки каждый день скучно, поэтому я начал что-то придумывать.
Шаги это расстояние, а расстояния бывают разные. Почему бы не пересчитать шаги, пройденные за день, в какую-то другую величину? А так как я люблю космическую тематику (игры, фантастику и прочее), то отличным вариантом показались световые годы, парсеки и всё в таком духе. Так и появилась (тут барабанная дробь) «Одиссея: Космос».
Оказывается, это очередной шагомер (их много и разных), но я их просто не искал и сразу полез делать. Естественно, смысл простой: записываем шаги за день, а умный калькулятор пересчитывает их в парсеки. В принципе, на этом и всё, но с учётом того, что это статья, добавлю ещё немного интересного.
Помним: я не программист, поэтому код написан с помощью ИИ-ассистента. Без него у меня бы ничего не вышло (а о стоимости заказа у программиста даже думать не хочу). Фокус «Я хочу крутой сайт, где шаги это парсеки» с моделью не прокатил: пришлось всё самому придумывать, проверять, исправлять и переделывать. Так что отношение к пометке «Сделано ИИ» у меня своеобразное и далеко не отрицательное.
Ну и что же пришлось узнать, проверить и соединить:
как перевести расстояние до звезды в шаги, чтобы этот путь реально было пройти;
какие каталоги звёзд бывают и какие подключили мы;
как устроены поиск звёзд и их регистрация в базе;
что на самом деле происходит, когда «продают имя звезды».
Почему расстояния в шагах «в лоб» не работают
Если перевести расстояние до звезды в шаги честно, получатся числа, которые не пройти за всю историю Вселенной.
Возьмём шаг 0,75 м и темп около 8 000 шагов в день (примерно как у меня):
Объект |
Расстояние |
Шагов |
Сколько ходить |
|---|---|---|---|
Луна |
384 400 км |
5,1 × 10⁸ |
около 175 лет |
Солнце |
149,6 млн км |
2,0 × 10¹¹ |
около 68 тысяч лет |
Проксима Центавра |
4,24 светового года |
5,4 × 10¹⁶ |
около 18 миллиардов лет |
Даже до Луны выходит 175 лет. До ближайшей звезды получается 18 миллиардов лет, а Вселенной всего 13,8 миллиарда.
Масштаб - только первая проблема. Есть ещё две.
Расстояние до звезды - не измерение, а оценка. Звёзды измеряют по параллаксу: насколько звезда смещается на небе, пока Земля обходит Солнце. Само слово «парсек» - это «параллакс в одну угловую секунду». Gaia выдаёт параллакс в миллисекундах дуги, и расстояние в парсеках получается как 1000, делённое на параллакс. Но у далёких и тусклых звёзд ошибка параллакса сравнима с самим значением, и простое деление даёт только грубую оценку. Поэтому для таких звёзд расстояние - всегда оценка, и выдавать его за точное нельзя.
Небо - это проекция. На небе у звезды две координаты, а расстояние - третья, и у звёзд одного созвездия оно отличается в десятки раз. В Близнецах Поллукс лежит в 10 парсеках от нас, а Мекбуда - в 422. Нарисованная между ними линия - не дорога в пространстве. Поэтому созвездие у нас - не прямая трасса, а цепочка отдельных маршрутов, и каждый считается от Солнца до очередной звезды.
Как мы сжали космос
Формула получилась простой: 20 000 шагов плюс 800 за каждый парсек, но не больше 150 000.
N = min(150000, 20000 + 800*d)
Здесь d - расстояние до звезды в парсеках, N - сколько шагов нужно пройти. У каждой части свой смысл:
20 000 - чтобы даже ближайшая звезда не была прогулкой на вечер: до Проксимы выходит около 2,6 дня;
800 шагов на парсек (около 600 м ходьбы) - чтобы звезда подальше стоила дороже ближней, пусть и ненамного;
потолок 150 000 - чтобы ни один маршрут не тянулся месяцами: при 8 000 шагов в день это около 19 дней.
Отдельно действует суточный лимит: за один день засчитывается не больше 40 000 шагов.
Звезда |
Расстояние |
Шагов в игре |
Дней при 8 000 шагов в день |
|---|---|---|---|
Проксима Центавра |
1,30 пк |
21 040 |
2,6 |
Сириус |
2,64 пк |
22 112 |
2,8 |
Альдебаран |
20,4 пк |
около 36 300 |
4,5 |
Любая дальше 162,5 пк |
больше 162,5 пк |
150 000 |
18,8 |
До Проксимы вместо 5,4 × 10¹⁶ шагов мы просим 21 тысячу, то есть сжимаем путь примерно в 2,5 триллиона раз.
У формулы есть цена. Потолок наступает на 162,5 парсека, и все звёзды дальше стоят одинаково. В нашем каталоге таких 55 672 из 91 796 звёзд с известным расстоянием, то есть 61%. Это осознанный компромисс, а не физика: различие между далёкими звёздами теряется.
Какие каталоги звёзд бывают и какие подключили мы
Ни один каталог не годится на все случаи, поэтому у нас их два: HYG для видимого неба и Gaia DR3 для всего остального.
Каталог |
Что внутри |
Объём |
Для чего у нас |
|---|---|---|---|
HYG (Hipparcos, Yale Bright Star, Gliese) |
яркие и близкие звёзды: положения, блеск, спектральные классы, имена |
около 120 тысяч звёзд |
карта неба в браузере: мы берём 99 050 звёзд ярче примерно 9,5 звёздной величины, у 91 796 известно расстояние (до 990 пк) |
Gaia DR3 (ESA) |
положения, параллаксы, блеск, температуры |
1 811 709 771 источник, параллакс у 1 467 744 818 |
глубокое сканирование: звёзды, которых нет на нашей карте |
Почему не один Gaia. Спутник не рассчитан на самые яркие звёзды: его рабочий диапазон начинается примерно с третьей звёздной величины, а Сириус или Вега ярче. Их положения и расстояния дают Hipparcos и Gliese, которые вошли в HYG.
Почему не один HYG. В нём около 120 тысяч звёзд, а Gaia знает 1,8 миллиарда. Тусклых звёзд в HYG почти нет.
Почему не всё из Gaia сразу. Полтора миллиарда записей в браузер не отправишь. Поэтому видимая карта - это HYG, который скачивается один раз (файл около 5,5 МБ), а Gaia мы спрашиваем по требованию через публичный сервис VizieR (CDS, Страсбург), таблица I/355/gaiadr3.
Изначальная простая идея была такая. Есть 12 созвездий зодиака, они рисуются всем знакомыми контурами, вот по ним и сделать маршруты. Пройди знак зодиака, получи приз в подарок. Оказалось знак зодиака это не до конца одно и тоже что созвездия.
Знаки зодиака - это 12 равных секторов по 30° на небесной эклиптике, которые используют в астрологии. Созвездия - это реальные группы звезд на небе, через которые проходит Солнце. Знаки зодиака - это условная календарная сетка, а созвездия - это реальные группы звезд.
Дальше тоже из открытых источников:
линии созвездий - открытые данные Доминика Форда под лицензией GPL, мы сверяли их со Stellarium; границы созвездий тоже открытые, в кодах IAU;
картинка дня NASA (APOD) служит фоном дней в дневнике шагов.
Как работает поиск звёзд
Поиск работает прямо в браузере: каталог на 99 тысяч звёзд скачивается один раз, и дальше сервер для поиска не нужен.
Вы вводите имя звезды, номер в каталоге (HD - каталог Генри Дрейпера, HIP - Hipparcos) или название созвездия на русском, английском или польском. Браузер просто перебирает записи и показывает первые совпадения. Ищется по трём источникам сразу: по звёздам, которые уже есть в нашей базе, по русским именам ярких звёзд и по всему каталогу.
Самое неожиданное - имена. У подавляющего большинства звёзд имён нет вообще, только номера. Русские имена есть только у 46 ярких звёзд, польских у звёзд пока нет совсем. Для остальных поиск идёт по номерам.
Вторая задача - чтобы одна звезда давала один результат. Одна и та же физическая звезда встречалась в данных под несколькими кодами: у Сириуса их было три. Поэтому результаты с совпадающими координатами (допуск 0,02°, то есть чуть больше минуты дуги) склеиваются, и остаётся запись, которая уже есть в базе.
Как звезда попадает в базу и как работает глубокое сканирование
Звезда появляется в нашей базе в тот момент, когда кто-то впервые отправляется к ней: до этого она просто строка в каталоге.
Когда пользовател жмёт «Начать маршрут» у звезды с карты, браузер присылает запись из каталога: координаты, номер HIP, расстояние. Сервер сначала ищет в базе звезду в той же точке неба (допуск 0,01°) и только потом заводит новую.
Класс звезды. Спектральный класс записывают строкой вроде K2III. Буква - температурный класс (O, B, A, F, G, K, M от горячих к холодным), римская цифра - класс светимости, от I (сверхгигант) до V (карлик вроде Солнца). Так получается 49 сочетаний. У звёзд HYG строку разбираем как есть. У звёзд Gaia готовой классификации нет, и мы оцениваем её сами: букву по температуре, класс по абсолютной величине.
M = m - 5 \lg d + 5
Здесь m - видимый блеск, d - расстояние в парсеках, M - блеск, каким звезда выглядела бы с расстояния 10 парсеков. Чем ярче звезда при той же температуре, тем она крупнее: ниже -5 считаем сверхгигантом, ниже 0 - гигантом, выше 2 - карликом. Это приближение по диаграмме Герцшпрунга-Рассела, а не спектроскопия.
Глубокое сканирование. Пользователь выбирает точку на небе, и туда уходит «зонд». Сервер спрашивает VizieR о звёздах Gaia в круге радиусом 0,05° (три угловые минуты) вокруг этой точки и берёт до 15 самых ярких. Это настоящие звёзды, которых нет в нашем видимом каталоге. Пользователь выбирает одну, и она регистрируется под кодом gaia плюс номер источника. Доступ к Gaia ограничен: зонд - расходуемый ресурс, у пользователя есть счётчик.
Честно о том, что здесь приближённо:
первый настоящий запрос к Gaia ушёл уже с боевого сервера: в среде, где писался код, не было сети.
колонка расстояния в VizieR заполнена не у всех звёзд, поэтому запасной вариант - 1000, делённое на параллакс. Одна из найденных нами звёзд имеет блеск 19,3 (видна только в большой телескоп), и её расстояние около 1 600 парсеков - оценка, а не измерение;
созвездие для такой звезды мы определяем голосованием: берём 7 ближайших звёзд каталога в пределах 4° и смотрим, чьи они. У границы созвездий это может ошибкой.
Продажа имён звёзд: что на самом деле записывается
Купленное «имя звезды» существует только в базе компании, которая его продала.
Названия небесным телам дают не компании, а Международный астрономический союз (IAU): его названиями пользуются учёные и космические агентства. На своей странице союз пишет прямо: имена, которые продают коммерческие компании, не имеют формальной или официальной силы, и союз полностью отмежёвывается от такой практики. Владельцем звёзд он себя тоже не считает.
Любопытно, как звёзды называются на самом деле. У подавляющего большинства есть только буквенно-цифровое обозначение: сокращение каталога и номер или положение, например HR 7001 или 2MASS J18365633+3847012. Собственные имена есть у нескольких сотен звёзд, которые формально признала рабочая группа IAU по именам звёзд: Сириус, Проксима Центавра, Вега. Давать имена 1,8 миллиарда источников из Gaia никто не собирается. У каждого есть номер, он и служит обозначением.
Что делаем мы. Когда пользователь открывает звезду глубоким сканированием, в игре она называется «ник (Gaia DR3 номер)». Это строка в нашей базе, ровно такая же по природе, как запись в реестре компании, продающей имена. Разница в том, что мы эту строку не продаём, настоящее обозначение из Gaia всегда стоит рядом, а ник - лишь отметка того, кто дошёл первым. Это игровая метка, а не имя звезды в смысле IAU.
Итоги и размышления
Интересно было покопаться во всем. Красиво на картинке, а внутри иначе. Шаги, вроде простая елементарная вещь, а каждое устройство считает иначе, телефоны, браслеты, датчики у всех свои методы и протоколы. Разброс настолько огромный что всего не осилиш. Как результат и самое простое это ручной ввод количиства шагов. Чем и как считать дело каждого как и то что записывается в дневник. Как вариант по высланому фото трекера определяем количество шагов и записуем. Сделал мини приложение на телефон но тоже как то считает по своему, не так как трекер. Так что основной ввод это запись в строку.
Ну а дальше в ходе развития появился дневник шагов, картинки Наса, карточки звезд и созвездий. Все было интересно, увлекательно. Нашол много чего нового про космос. Есть еще много идеи для развития, так что делаю понемногу хотя и отвлекаюся на другие вещи которые гдето связаны с изначальными "шагами".
А пока в остатке

Попробовать и посмотреть можно тут: step-fit.click или бот @PPGalaxy_bot в Telegram.
Источники
IAU: Buying Stars and Star Names - позиция союза о продаже имён и о том, как называются звёзды;
ESA: Gaia's Early Data Release 3 in numbers - число источников и параллаксов в Gaia;
ESA: Gaia Data Release 3 - состав DR3 и рабочий диапазон яркости;
HYG Database - каталог Hipparcos, Yale Bright Star и Gliese.