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