Київський клуб аматорів астрономії "Астрополіс"

astromagazin.net
* *
Ласкаво просимо, Гість. Будь ласка, увійдіть або зареєструйтеся.
16 Лютого 2026, 06:32:32

Увійти

google


Автор Тема: Астрономічна бібліотека на С++23  (Прочитано 597 раз)

0 Користувачів і 1 Гість дивляться цю тему.

Oleg Astro

  • Offline Offline
  • Повідомлень: 67
  • Подяк: 95
Re: Астрономічна бібліотека на С++23
« Відповідь #20 : 08 Лютого 2026, 14:20:44 »
. - .

Кожен тип даних повинен бути чітко обгрунтованим у стилі" чому саме так, а не інакше???..." стосовно кожної функції.

Код повинен бути максимально оптимізованим, бо то не є добре зловживати можливостями комп'ютерного заліза :(

Саме тому мені дуже важливий зворотній зв'язок.

P.S. До речі кажучи, мій старий комп'ютер, котрому буде 14 років, таки має оперативку 64 Гб і процесор і7-3930к (6/12 ядер/потоків).
« Останнє редагування: 08 Лютого 2026, 14:27:08 від Oleg Astro »
Записаний

ds40a

  • Offline Offline
  • Повідомлень: 2208
  • Подяк: 464
  • Дмитро Сорока. Слава Україні !
Re: Астрономічна бібліотека на С++23
« Відповідь #21 : 08 Лютого 2026, 16:39:58 »
. - .

В добру путь!
Записаний

Polaris

  • Offline Offline
  • Повідомлень: 1720
  • Подяк: 85
Re: Астрономічна бібліотека на С++23
« Відповідь #22 : 09 Лютого 2026, 09:38:18 »
. - .

Зараз виходить цикл статей на ДОУ про точності обчислень https://dou.ua/forums/topic/57695/
Записаний
Подякували

Саша Наумов

  • Клуб Астрополіс
  • Offline Offline
  • Повідомлень: 1503
  • Подяк: 654
  • Refractorman
Re: Астрономічна бібліотека на С++23
« Відповідь #23 : 09 Лютого 2026, 18:17:58 »
. - .

Код повинен бути максимально оптимізованим, бо то не є добре зловживати можливостями комп'ютерного заліза :(

Передчасна оптимізація - це зло, про яке знають досвідчені розробники.

А як це - "зловживати можливостями комп'ютерного заліза" ? Не використовувати SSE і AVX ? Не паралелити обчислення на кількість ядер ? Не використовувати GPU ?
Хоча, все залежить від природи розрахунків... іноді буває, що GPU і SSE не допоможуть, і паралелити нема чого.
Записаний
Agema SD 150 + WS-400 + Apogee Alta F16M

Oleg Astro

  • Offline Offline
  • Повідомлень: 67
  • Подяк: 95
Re: Астрономічна бібліотека на С++23
« Відповідь #24 : 09 Лютого 2026, 22:58:23 »
. - .

Я ж не про передчасну, бо так ніколи нічого взагалі не зробиш  :insane:

А про залізо у тому смислі, щоб не городити незрозуміло що складне, котре виконує так само ті ж функції, що й простіша річ, але з набагато більшими системними ресурсами.
Записаний

Oleg Astro

  • Offline Offline
  • Повідомлень: 67
  • Подяк: 95
Re: Астрономічна бібліотека на С++23
« Відповідь #25 : 11 Лютого 2026, 23:49:49 »
. - .

Перевірка коду функції, котра приймає дату "звичайного" григоріанського календаря yyyy mm dd, а також час hh mm ss.sss, а повертає юліанську дату із двох частин, як то воно прийнято в астрономічних алгоритмах.

Результати тестування функції: нічого не пропустив?...
Функція повинна перевіряти введення часу да дати користувачем.
Записаний

Oleg Astro

  • Offline Offline
  • Повідомлень: 67
  • Подяк: 95
Re: Астрономічна бібліотека на С++23
« Відповідь #26 : 13 Лютого 2026, 17:20:10 »
. - .

Справи просуваються. Зараз взявся за реалізацію функцій обчислення нутації.

Порівняння із результатами від бібліотеки ERFA, котра основана на кодах і таблицях SOFA.

Записаний

ds40a

  • Offline Offline
  • Повідомлень: 2208
  • Подяк: 464
  • Дмитро Сорока. Слава Україні !
Re: Астрономічна бібліотека на С++23
« Відповідь #27 : 13 Лютого 2026, 19:34:34 »
. - .

І що ближче до істини? Чи є "еталон" з яким можна порівняти і визначити який варіант точніше? А так ми визначаємо наскільки відрізняються між собою дві бібліотеки. А от яка точніша невідомо)
Записаний

Oleg Astro

  • Offline Offline
  • Повідомлень: 67
  • Подяк: 95
Re: Астрономічна бібліотека на С++23
« Відповідь #28 : 13 Лютого 2026, 20:35:39 »
. - .

SOFA/ERFA вважаються за еталонні, але ж я їх не перевіряв :)
Записаний

Oleg Astro

  • Offline Offline
  • Повідомлень: 67
  • Подяк: 95
Re: Астрономічна бібліотека на С++23
« Відповідь #29 : 13 Лютого 2026, 21:38:47 »
. - .

З нутацією майже завершено :)
Максимальна різниця між обчисленими та опорними значеннями приблизно 0.000 016".
Записаний

Саша Наумов

  • Клуб Астрополіс
  • Offline Offline
  • Повідомлень: 1503
  • Подяк: 654
  • Refractorman
Re: Астрономічна бібліотека на С++23
« Відповідь #30 : Вчора в 22:18:12 »
. - .

Я у вільний час пишу бібліотеку ray tracing,
де я намагаюсь вирішити задачу перетину проміня із поверхнею другого ступеня (сфера, парабола, гіпербола).
Окрім задоволення від процесу (згадати що таке аналітична геометрія 1 курсу внз),
я надибав, що відстань від знайденої\обчисленої точки перетину проміня і сфери до центру сфери
 :dropjaw:
НЕ дорівнює радійсу сфери.
Якщо обчислювати у float, похибка сягає 1е-2f; у double це 1е-6.

Це є результат накопичення помилок.
Найбільші помилки виникають при діленні.
Записаний
Agema SD 150 + WS-400 + Apogee Alta F16M
Подякували