Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.
La shoutbox n'est pas chargée par défaut pour des raisons de performances. Cliquez pour charger.

Forum Casio - Projets de programmation


Index du Forum » Projets de programmation » Exemple de programme fonctionnant avec Azur
Slyvtt Hors ligne Maître du Puzzle Points: 2389 Défis: 17 Message

Exemple de programme fonctionnant avec Azur

Posté le 21/01/2023 22:33

Hello,

Juste un petit post pour montrer à la communauté un petit exemple d'utilisation de Azur (pouvant servir de base pour de vrais bons gros projets).

Ce petit programme passe par les shaders pour tracer les fractales dites de Mandelbrot et de Julia.

Ces deux fractales vérifient pour chacun des points du plan des complexes (l'axe x de l'écran étant assimilé à l'axe des réels et l'axe y de l'écran à l'axe des imaginaires) la convergence (ou non) d'une suite quadratique complexe donnée par Z_(n+1) = Z_(n)^2 + C.

Dans le cas de la fractale de Mandelbrot, nommée d'après le mathématicien français Benoît MANDELBROT (1924-2010), on choisit Z_(n+1) = Z_(n)^2 + C avec Z_(0)=0+0*i et C=A+B*i qui couvre le plan des complexes.


Dans le cas de la fractale de Julia, nommée d'après le mathématicien français Gaston JULIA (1893-1978), on choisit Z_(n+1) = Z_(n)^2 + C avec C=A+B*i donnée au départ (il y a donc une multitudes de fractales de Julia) et Z_(0) qui couvre le plan des complexes.


Le module de calcul de la suite quadratique a été codé par Lephé en ASM, et ça dépote un max !!!

Le dépôt est ici : MandAzur

Je joins la version compilée en g3a à ce post.


Touches du programme :

[EXIT] quitte vers l'OS
[F1] à [F4] pour afficher/effacer les infos à l'écran
[F5] et [F6] : switche entre mode Mandelbrot (F5) et Julia (F6)
[OPTN] : mets la résolution de Azur en scale 1 (396x224)
[VARS] : mets la résolution de Azur en scale 2 (198x112) (moins beau mais beaucoup plus rapide)

Pour la fractale de Julia seulement :

[SHIFT]+[Croix directionnelle] : change la valeur de C (C = A + B*i)
[SHIFT+LEFT] : A = A - 0.002
[SHIFT+RIGHT] : A = A + 0.002
[SHIFT+DOWN] : B = B - 0.002
[SHIFT+UP] : B = B + 0.002
A et B sont limitées sur le domaine [-2.000 .. 2.000]

Si la calculatrice est connectée en USB avec fxlink en mode surveillance
[7] : prend un screenshot
[8] : start video
[9] : stop video

Voili voilou

et @RDP

Fichier joint



LienAjouter une imageAjouter une vidéoAjouter un lien vers un profilAjouter du codeCiterAjouter un spoiler(texte affichable/masquable par un clic)Ajouter une barre de progressionItaliqueGrasSoulignéAfficher du texte barréCentréJustifiéPlus petitPlus grandPlus de smileys !
Cliquez pour épingler Cliquez pour détacher Cliquez pour fermer
Alignement de l'image: Redimensionnement de l'image (en pixel):
Afficher la liste des membres
:bow: :cool: :good: :love: ^^
:omg: :fusil: :aie: :argh: :mdr:
:boulet2: :thx: :champ: :whistle: :bounce:
valider
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :'(  :here:  ^^  >:)

Σ π θ ± α β γ δ Δ σ λ
Veuillez donner la réponse en chiffre
Vous devez activer le Javascript dans votre navigateur pour pouvoir valider ce formulaire.

Si vous n'avez pas volontairement désactivé cette fonctionnalité de votre navigateur, il s'agit probablement d'un bug : contactez l'équipe de Planète Casio.

Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 167 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd