1 ------------------------------------------------------------------------------------------------
2 -- Nom : Power_Calculator / fait partie du programme Power Fractal --
4 -- Auteurs : Gregory Burri & Adrien Crivelli --
5 ------------------------------------------------------------------------------------------------
6 -- But : Outils de calculs des fractals ainsi que de l'antialiasing --
7 ------------------------------------------------------------------------------------------------
8 with Power_Types
; use Power_Types
; --Pour les types, les constantes et les variables globales
10 package Power_Calculator
is
12 ------------------------------------------------------------------------------------------------
13 -- Nom : Calcul_Antialiasing --
14 -- But : Contracter une matrice en une autre 4 fois plus petite --
16 -- Parametres ----------------------------------------------------------------------------------
17 -- In : La matrice a antialiasinger --
19 -- return : La matrice traitee --
20 ------------------------------------------------------------------------------------------------
21 function Calcul_Antialiasing(Matrice_Antialiasing
: T_Matrice_Tampon
) return T_Matrice_Tampon
;
23 ------------------------------------------------------------------------------------------------
24 -- Nom : Change_Angle --
25 -- But : Changer l'angle d'un nombre complexe par rapport au centre de l'ecran --
27 -- Parametres ----------------------------------------------------------------------------------
28 -- In : * La fractal, --
30 -- In out : * Partie reel du nb complexe : A --
31 -- * Partie imaginaire du nb complexe : B --
32 ------------------------------------------------------------------------------------------------
33 procedure Change_Angle (A
, B
: in out Long_Float; Fractal
: Cara_Fractal
);
35 ------------------------------------------------------------------------------------------------
36 -- Nom : Mandel_Gen --
37 -- But : Genere une matrice d'iteration selon l' ensemble de Mandelbrot --
38 -- Z(n+1) = Z(n)^2 + Z(o) --
39 -- Parametres ----------------------------------------------------------------------------------
40 -- In : * Largeur_zone et Hauteur_Zone : Dimension de la zone de calcul --
41 -- * Fractal : L'ensemble des caracteristiques de la fractal --
43 -- return : * Une matrice contenant la fractal sous forme de nombre d'iteration pour chaque --
45 ------------------------------------------------------------------------------------------------
46 function Mandel_Gen (Largeur_Zone
, Hauteur_Zone
: Natural; Fractal
: Cara_Fractal
)
47 return T_Matrice_Iteration
;
49 ------------------------------------------------------------------------------------------------
51 -- But : Genere une matrice d'iteration selon l' ensemble de Julia --
52 -- Z(n+1) = Z(n)^2 + c 'c' etant une constante arbitraire --
53 -- Parametres ----------------------------------------------------------------------------------
54 -- In : * Largeur_zone et Hauteur_Zone : Dimension de la zone de calcul --
55 -- * Fractal : L'ensemble des caracteristiques de la fractal --
57 -- return : * Une matrice contenant la fractal sous forme de nombre d'iteration pour chaque --
59 ------------------------------------------------------------------------------------------------
60 function Julia_Gen (Largeur_Zone
, Hauteur_Zone
: Natural; Fractal
: Cara_Fractal
)
61 return T_Matrice_Iteration
;