Présentation du projet
Ce site résulte du fractionnement du site https://astronomie.baillet.org et il a vocation à traiter des nouveaux développements liés au logiciel d'astronomie Héclium , un simulateur d'éclipses totales du Soleil.
Ce site permettra donc de traiter en profondeur de la vie d'un logiciel en cours de développement.
Développements en cours et à venir
Le logiciel Héclium, un simulateur d'éclipses de Soleil, a été réalisé en peu de temps à l'occasion de la dernière éclipse totale de Soleil du deuxième millénaire (le 11 août 1999). Ce programme qui visait avant tout la précision en calculant de manière rigoureuse les intersections entre les cônes d'ombre et de pénombre de la Lune avec la surface terrestre était limité. Tout d'abord, une vitesse d'exécution insuffisante puisqu'il fallait généralement plusieurs secondes pour afficher le résultat avec une carte de la Terre en résolution moyenne. Autre défaut notable, la difficulté d'installation : les fichiers de données étaient dispersés sur Internet et devaient être retransformés ensuite avec plus ou moins de bonheur.
Conscient de ces problèmes dès la sortie de la première version, j'imaginais déjà un début de solution. Concernant les problèmes de performance, je savais que le temps jouait en ma faveur : l'augmentation régulière des performances des processeurs et des capacités des mémoires allait dans le bon sens. Conjointement avec l'utilisation de nouveaux algorithmes à inventer, la capacité à afficher plusieurs images par secondes est enfin à portée. Ainsi, Héclium pourrait être utilisé pour produire une simulation temps réel ou en accéléré d'une éclipse de Soleil en dessinant la Terre vue d'un point fixe ou même animé. Tous les autres problèmes sont insignifiants en comparaison de celui-ci.
La version 2.0 du logiciel a véritablement débuté en mai 2006. La première étape a été de bénéficier des travaux de remplacement du très vieillissant GDI par GDI+ que j'avais déjà utilisé dans la version 2.0 du logiciel Tracium . Ensuite, repenser totalement l'algorithme de dessin de la Terre. Plusieurs idées : utiliser la stratégie du « diviser pour régner » en découpant la Terre en zones et ne dessiner que les zones visibles ; reléguer le fenêtrage de polygones, fort chronophage, au découpage des zones et non à l'affichage ; charger le maximum de données pré-calculées en mémoire ; utiliser le microprocesseur le plus efficacement possible ; etc.
Techniquement, la Terre est représentée en utilisant la célèbre projection orthographique (cf. Wikipedia ou MathWorld ) qui a l'avantage de produire des cartes esthétiques. Les équations gouvernant cette projection ainsi que les équations de transformation inverse restent simples. En revanche, de nombreuses équations supplémentaires sont nécessaires pour déterminer avec efficacité les zones à dessiner.
D'un point de vue données, Héclium 2.0 continuera d'utiliser le GSHHS (Global Self-consistant Hierarchical High-resolution Shorelines) du National Centers For Environmental Information pour la partie cartographie terrestre, en utilisant au minimum la version 1.6 qui permet le tracé à haute résolution des frontières politiques et des fleuves. Concernant le positionnement précis de la Lune, de la Terre et du Soleil, les théories ELP 2000 et VSOP87 seront probablement conservées à moins que l'usage de théories plus précises soit possible (éphéméride planétaire numérique INPOP de l'IMCCE ?).
Les outils de développement sont Visual Studio avec l'utilisation principale du langage C++. La première version du logiciel Héclium utilisaint massivement le langage assembleur pour accélérer certains calculs. De nos jours, ce n'est plus utile.
Autres améliorations souhaitées
Parmi une liste importante, voici quelques améliorations demandées :
- Fournir un logiciel d'installation
- Tracer la ligne de centralité ainsi que les limites boréales et australe de la pénombre
- Tracer les lignes de commencement et de la fin de l'éclipse au lever et au coucher du Soleil
- Lister les dates des éclipses possibles dans un intervalle de temps donné et pouvoir en choisir une
- Pouvoir passer facilement à l'éclipse suivante ou précédente
- Détailler les éléments de Bessel, et fournir les circonstances de l'éclipse courante pour un lieu donné
- Améliorer la navigation en pouvant translater la carte, zoomer, faire une rotation de la carte directement avec la souris (utilisation des 2 boutons ainsi que de la molette centrale) sans devoir passer par les menus. Ou avec les touches du clavier.
- Ajouter une aide en ligne