Projet réalisé seul sur mon temps libre

lien vers les projets : python et Java

C'est quoi ce projet ?

Ce projet est un logiciel d'exploration de fractales fait entièrement en Python. Ce logiciel permet d'explorer soit la tracté de Mandelbrot soit une fractale de l'ensemble de Julia en permettant de choisir la valeur de c. Le logiciel permet également de sélectionner la couleur de la fractale parmi tout une palette.

Optimisation

Pour faire mon explorateur, je veux générer une nouvelle fractale à chaque zoom, dézoome et déplacement. Ainsi, il me faut un script qui génère des images assez vite pour que l'exploration soit fluide. Pour accélérer le processus j'ai utilisé 2 bibliothèques, d'abord PIL/Pillow qui me permet de générer des PNG beaucoup plus vite que la librairie Kandinsky que j'utilisais avant, et Numpy une librairie très utilisée pour le calcul matriciel. Ainsi j'obtiens une image de qualité suffisante en quelques dizaines de centièmes de seconde.

Polir le logiciel

Ensuite j'ai tenté de rendre le logiciel plus "user friendly". Pour cela j'ai utilisé la bibliothèque Tkinter pour générer la fenêtre de mon logiciel, j'ai ajouté les touches pour le déplacement et le zoom/dézoom, la possibilité de choisir la fractale, c, et les couleurs. J'ai également ajouté une manière de prévisualiser la fractale dans le menu et une touche pour prendre des "captures d'écran" qui en réalité génèrent une nouvelle image avec les mêmes valeurs mais de meilleure qualité. Et finalement j'ai ajouté une page de tutoriel des touches.

Conclusion

Durant ce projet j’ai pu utiliser l'ensemble de mes compétences en Python pour faire mon premier gros projet. J'ai ensuite refait ce même programme en Java pour tester mes capacités en utilisant JavaFX pour les interfaces. La version Java est un peu moins fournie en fonctionnalités mais permet d'explorer les mêmes fractales de manière bien plus fluide.