Sorti en 1991, le logiciel était distribué en France par Nathan Logiciels, éditeur qui s'était popularisé la décennie précédente sous le nom de Cédic Nathan dans le contexte du plan IPT (Informatique Pour Tous) avec les microordinateurs Thomson MO5 et TO7.
Il s'agissait en fait d'une francisation du logiciel américain Orbits : Voyage Through the Solar System par WinterTech.
Jil Saint-Martin et Emmy Vadon débutent l'enseignement de spécialité spécialité NSI (Numérique et Sciences Informatiques) en Première au lycée Louis Pasteur d'Avignon.
Leurs enseignants exigeants leur ont déjà demandé de concevoir et rendre pour les congés de Toussaint un premier projet Python complet sur calculatrice NumWorks.
Grâce à Jil et Emmy, voici donc dès maintenant la nouvelle référence à installer sur toutes les calculatrices NumWorks : Solar : une brève navigation dans l'espace sur Python !
Elle bénéficie toutefois d'une bien meilleure intuitivité et interactivité. Pas d'horrible menu de haut d'écran à dérouler et lire ici, tout se contrôle avec les touches fléchées du clavier, avec un retour visuel immédiat.
Flèches gauche et droite pour choisir son étoile ou planète alors mise en surbrillance, et flèches haut et bas pour en faire défiler les différentes propriétés.
Près de 30 ans après Solar a également le gros avantage de bénéficier de données à jour, c'est-à-dire que Gil et Emmy se sont donné la peine de supprimer tout ce qui concernait Pluton.
Non plus sérieusement aux âmes bien nées la valeur n'attend point le nombre des années, toutes nos félicitations à Jil et Emmy qui ont su relever des défis ambitieux et développer de belles capacités et compétences. On peut retenir entre autres :
- déjà de base des qualités artistiques et graphiques indéniables
- une belle maîtrise du codage des couleurs RVB, superbement exploitée ici dans le contexte des dégradés
- un beau travail de recherche sur le tracé de cercles dans le contexte de la géométrie et du théorème de Pythagore (aucune fonction en ce sens n'étant actuellement fournie par la bibliothèque de tracé par pixels kandinsky de la NumWorks), basé sur le travail de Philippe Moutou, avec des fonctions soigneusement calibrées pour ne pas laisser de trous dus aux arrondis lors du remplissage d'un disque en dégradé
- et toute la logique algorithmique permettant d'afficher tout ça, notamment en terme de boucles
Le chef-d'œuvre de Jil et Emmy est dès maintenant disponible sur TI-Nspire CX II !
Ce fut l'adaptation la plus facile, nous avons juste eu à effectuer les connexions à notre bibliothèque et ça marche tout seul.
AC/ON, en interceptant et détournant l'exception d'interruption qu'elle génère.
Nous avons donc ici dû adapter le fonctionnement ; il faut taper
AC/ONpour passer à la planète ou étoile suivante, et les différentes propriétés défilent automatiquement.
Ce ne fut pas facile, mais heureusement le code de Jil et Emmy était encore grandement optimisable. Données dupliquées, fonctions de tracé remplacées par les appels natifs lorsque disponibles, variables globales effacées une fois utilisées... Après plusieurs heures de casse-tête eurêka ça marche !
Nous faisons d'ailleurs profiter rétroactivement de nos adaptations précédentes de ce code optimisé.
- 4s - TI-Nspire CX II : avec un affichage en double buffering et nombre de fonctions de tracé natives
- 12s - NumWorks : pas de double buffering, et les fonctions de tracé natives sont extrêmement réduites, juste de quoi remplir un rectangle ce qui ne nous aide pas ici, les cercles et disques sont donc dessinés dans le code pixel par pixel
- 1min49s - Casio Graph 90+E / fx-CG50 : affichage en double buffering, mais pas de fonctions de tracé natives en dehors de l'allumage de pixels isolés
- 2min36s - TI-83 Premium CE Edition Python / TI-84 Plus CE-T Python Edition : pas de double buffering, riche bibliothèque de fonctions de tracé natives, mais la communication à chaque appel de fonction graphique entre le coprocesseur Python Atmel et le processeur principal historique eZ80 s'occupant de l'écran fait office de goulot d'étranglement
Téléchargements :
- Solar (pour NumWorks - original)
- Solar (pour NumWorks et KhiCAS)
- Solar (pour TI-Nspire CX II)
- Solar (pour TI-Nspire avec Ndless + KhiCAS)
- Solar (pour Casio Graph 90+E / fx-CG50)
- Solar (pour TI-83 Premium CE Edition Python / TI-84 Plus CE-T Python Edition)