IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)


Pourquoi une spirale ?
Les spirales sont un art mathématique autant que les fractales. Mais je dirais que les fractales sont plus intéressants et plus prometteurs... Une spirale peut être utilisée pour plusieurs choses, telqu'un chemin suivi par un objet quelconque ce qui deviendrait alors un sorte d'animation. Une spirale donne un très bel effet graphique un fois dessiner alors on peut en dessiner dans le but de faire de l'art, elles ont surement d'autres utilités mais je ne les connais pas vraiment.
Explication :
Je vais tenter de vous expliquer le fonctionnement d'une spirale, prenons par exemple la spirale hyperbolique.
Voici la formule permettant de dessiner celle-ci :
Rayon = A / Theta
  1. Le Rayon est le résultat (X, Y).
  2. A est un facteur réel non nul donc A <> 0.
  3. Theta est l'angle en radian.
Var
   I :Single;
   X, Y :Single;
   Rayon :Single;
   A :Single;

Begin
     A := 190;
     I := 0.001;

     While (I <= 10 * PI) Do
     Begin
          Rayon :=  A / I;
          X := Rayon * Cos(I);
          Y := Rayon * Sin(I);
		  
          FrmSpiral.Canvas.Pixels[ Round(X), Round(Y) ] := clRed;
          I := I + 0.05;
     End;
End;
I :Single;
Variable controle qui sera incrémentée lors de la boucle While et qui servira en même temps de degré pour dessiner la spirale.
X, Y :Single
Coordonnée X et Y prenant comme valeur chaque point de la spirale.
Rayon :Single;
Variable qui récupère le calcule de la fonction A / Theta.
A :Single;
Paramètre A, un réel non nul.
While (I <= 10 * PI) Do
On démarre le degré à 0.01 (Pour ne pas avoir d'erreur de division par 0) pour se rendre jusqu'a 10 cycle de PI, donc 5 cercle ou tours.
Rayon := A / I;
À chaque incrémentation du degré, la fonction est calculée pour retouner le résultat dans la variable Rayon.
X := Rayon * Cos(I);/ Y := Rayon * Sin(I);
On multiplie le résultat du Rayon par le radian qu'a retourné le degré.
I := I + 0.05;
Chaque fois que le While s'exécute, on incrémente le degré de 0.05 jusqu'a tant qu'il soit égale ou supérieur à 10 cycle de PI.

N'oubliez pas que cette spirale aura comme centre 0, et que le système d'affichage d'une écran est avec (0,0) à la supérieur gauche donc vous devrez additionner à la hauteur, la moitié de la hauteur de l'écran et pour la largeur, lui additionner la moitié de la largeur de l'écran.
Capture d'écran :
Une image captée pendant l'exécution du programme démonstrateur.

Programme relié
Un programme qui montre comment dessiner des spirales.   Source