A A A A Автор Тема: Программирую приложения по астрономии. Есть вопросы.  (Прочитано 4364 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Ph_user

  • *****
  • Сообщений: 3 160
  • Благодарностей: 82
    • Сообщения от Ph_user
переписал на Си ( чистое )Но - не быстрее считало.

Если там в такой весьма простой математике есть заметные отличия скорости от примерно сразу - можно в сях наконец-то использовать симд. Для примерно всех симд интрисиксов вроде достаточно подключить хедер immintrin.h . При проектировании алгоритма лучше подбирать размер рабочего блока ближе к размеру регистрового файла. Или потом ближе к размеру л1 кеша.

Самый простой симд-паралелинг тут дать команду машине считать более 1 вещи по одинаковым формулам за один проход. Сколько влезет в используемую симд архитектуру зависит от ее ширины и требуемой точности (32 или 64бит флоат). Для ускорения работы памяти если там исходники сильно больше размера кеша процесора и хватает точности - можно хранить исходники в фп16 формате. Распаковка фп16 в фп32 уже примерно от уровня авх2 в процесорах в наличии (ф16с фича).

Компилятор лучше использовать силанг-ллвм. Он лучше понимает в процесоры и делает програмы побыстрее. Есть встроеный уже в 2022 вижуал студию.
« Последнее редактирование: 17 Ноя 2025 [15:01:59] от Ph_user »

Оффлайн Павел ВасильевАвтор темы

  • *****
  • Сообщений: 1 119
  • Благодарностей: 34
  • БПЦ 20х60, HD 75x60
    • Сообщения от Павел Васильев
Может кто сталкивался с отображением границ созвездий на небосводе, не линий и фигур? Отчего возникла разница в числе точек границ в разных файлах?  У NASA все созвездия в одном ConstBounds.csv файле и, например, для AND имеется 207 записей точек c RA/dec. В тоже время на сайте IAU https://iauarchive.eso.org/public/themes/constellations/  для каждого созвездия отдельный файл и для той же Андромеды файл and.txt имеет всего 37 записей точек с RA/dec. Вероятно в последнем случае даны только вершины многоугольника созвездия, а не все точки, включая тройные контакта AND со смежными полигонами созвездий.
В общем, чтобы меньше пересчитывать, необходимы файлы границ созвездий с десятичными значениями прямого восхождения и склонения только для вершин полигонов. Например, как для Ant.csv. Если у кого-то есть один готовый для всех 88 созвездий, то поделитесь ссылкой.
Кстати, файлы с расширением csv здесь прикрепить нельзя, пришлось дать txt
« Последнее редактирование: 18 Ноя 2025 [23:47:28] от Павел Васильев »
Программирование системы AstrobloQ https://gitverse.ru/astrogeoscenter/astrobloq

Оффлайн Toth

  • *****
  • Сообщений: 2 996
  • Благодарностей: 219
    • Сообщения от Toth
Вот, из and.txt и ant.txt все точки - красные крестики.
« Последнее редактирование: 19 Ноя 2025 [14:07:57] от Toth »
Canon PowerShot SX130 IS

Оффлайн Павел ВасильевАвтор темы

  • *****
  • Сообщений: 1 119
  • Благодарностей: 34
  • БПЦ 20х60, HD 75x60
    • Сообщения от Павел Васильев
Вот, из and.txt и ant.txt все точки - красные крестики.
Хорошо, есть тройные на границе Андромеды, например с  Персеем и Кассиопеей. Но в этом файле 37 крестиков, откуда в другом файле, по моему из nasa.jpl,   ConstBounds.csv у Андромеды 207 записей для границы созвездия? Зачем ещё промежуточные точки, нет описания.
Программирование системы AstrobloQ https://gitverse.ru/astrogeoscenter/astrobloq

Оффлайн Vladimir3621

  • *****
  • Сообщений: 27 267
  • Благодарностей: 1180
    • Сообщения от Vladimir3621
Возможно, им нужны более точные границы созвездий, т.к. то, что в and.txt является прямым отрезком, на самом деле ломаная линия. Т.е. в and.txt - использовано допустимое приближение. Другой вариант - НАСА зачем-то понадобились координаты определенных точек на границах, и они их рассчитали и включили в файл, чтобы потом каждый раз не проводить вычисления.
Это вы одиноки во вселенной. А нас - рать.

Оффлайн Toth

  • *****
  • Сообщений: 2 996
  • Благодарностей: 219
    • Сообщения от Toth
ConstBounds.csv у Андромеды 207 записей для границы созвездия? Зачем ещё промежуточные точки, нет описания.
Вот эти 207 точек, точнее 201 , 6 шт мимо листа. Красные - те что с букафкой I , зеленые - O . О - либо углы, либо стыки 3-х созвездий.
Лишние точки между углами, на прямых участках - наверное для уточнения. Не так просто проложить прямую на всяких картографических проекциях. Почему именно с таким шагом точки по прямым отрезкам - не знаю. Наверное обеспечивают какую-то нужную погрешность при черчении по этим точкам.

т.к. то, что в and.txt является прямым отрезком, на самом деле ломаная линия.
Вроде нет. Границы созвездий - прямоугольные многоугольники, там нет изломов кроме 90 градусов. И линии - в самом деле прямые , точнее геодезические прямые.
Правда линии уже не параллельны RA и Dec из за смены эпох координат со времени принятия границ МАС.
Canon PowerShot SX130 IS

Оффлайн Vladimir3621

  • *****
  • Сообщений: 27 267
  • Благодарностей: 1180
    • Сообщения от Vladimir3621
Тогда скорее всего при вычислении проекции на плоскость сделали кучу промежуточных точек с какой-то целью. Возможно геодезические линии при проецировании разбивались на отрезки с каким-то шагом и проекции строились уже для них.
Это вы одиноки во вселенной. А нас - рать.

Оффлайн Павел ВасильевАвтор темы

  • *****
  • Сообщений: 1 119
  • Благодарностей: 34
  • БПЦ 20х60, HD 75x60
    • Сообщения от Павел Васильев
Тогда скорее всего при вычислении проекции на плоскость сделали кучу промежуточных точек с какой-то целью.
Видимо с целью более точного определения принадлежности звезды при переходе к другой координатной системе. А иак для общих целей видно достаточно более короткого набора вершин и узловых точек.
Программирование системы AstrobloQ https://gitverse.ru/astrogeoscenter/astrobloq

Оффлайн Павел ВасильевАвтор темы

  • *****
  • Сообщений: 1 119
  • Благодарностей: 34
  • БПЦ 20х60, HD 75x60
    • Сообщения от Павел Васильев
Тогда скорее всего при вычислении проекции на плоскость сделали кучу промежуточных точек с какой-то целью.
Видимо с целью более точного определения принадлежности звезды при переходе к другой координатной системе. А так для общих целей видно достаточно более короткого набора вершин и узловых точек.
Программирование системы AstrobloQ https://gitverse.ru/astrogeoscenter/astrobloq

Оффлайн Павел ВасильевАвтор темы

  • *****
  • Сообщений: 1 119
  • Благодарностей: 34
  • БПЦ 20х60, HD 75x60
    • Сообщения от Павел Васильев
Почему именно с таким шагом точки по прямым отрезкам - не знаю.
А в SkyChart обнаруживается ещё больше, аж 210 точек c [ra, dec] для границы созвездия Андромеда AND, в файле  constb.cby. Возможно это самый точный вариант, но в AstrobloQ я включил ConstBounds.csv, в нём 207 записей, но есть метки O и I для вершин и промежуточных точек. Не проверял что там используется в Stellarium, скорее всего тоже самое.
« Последнее редактирование: 20 Ноя 2025 [10:12:19] от Павел Васильев »
Программирование системы AstrobloQ https://gitverse.ru/astrogeoscenter/astrobloq

Оффлайн Павел ВасильевАвтор темы

  • *****
  • Сообщений: 1 119
  • Благодарностей: 34
  • БПЦ 20х60, HD 75x60
    • Сообщения от Павел Васильев
Правда линии уже не параллельны RA и Dec из за смены эпох координат со времени принятия границ МАС.
С границами понятно. А для всех линий созвездий у меня раньше использовался простой файл ConstLines.dat с парой точек звёзд в каждой строке, с координатами ra,dec. В нём нет меток созвездий, но теперь возникла необходимость отобразить астеризмы не всех, а отдельного созвездия или только зодиакальных. Если у вас есть ConstLines.csv файл с астеризмами в виде строк с полями ra1,dec1,ra2,dec2,const_name, то поделитесь или дайте ссылку.
Программирование системы AstrobloQ https://gitverse.ru/astrogeoscenter/astrobloq