fractale_de_lyapunov
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
fractale_de_lyapunov [2019/11/16 09:10] – Mushussu | fractale_de_lyapunov [2020/04/07 16:53] (Version actuelle) – Mushussu | ||
---|---|---|---|
Ligne 3: | Ligne 3: | ||
===== C++ ===== | ===== C++ ===== | ||
<code c++> | <code c++> | ||
+ | // Compilation : g++ Lyapunov.cpp -o Lyapunov | ||
+ | // Execution | ||
#include < | #include < | ||
Ligne 13: | Ligne 15: | ||
using namespace std; | using namespace std; | ||
- | const int largeur | + | int largeur, hauteur; |
- | const int iteration | + | int iteration; |
- | const string sequence | + | string sequence; |
+ | float bornes[4]; | ||
+ | float limite; | ||
float proportion(float valeur, float valeurMin, float valeurMax, float valeurOutMin, | float proportion(float valeur, float valeurMin, float valeurMax, float valeurOutMin, | ||
Ligne 23: | Ligne 27: | ||
} | } | ||
- | int main() { | + | int main(int argc, char *argv[]) { |
+ | if (argc != 10) { | ||
+ | cout << " | ||
+ | return 0; | ||
+ | } | ||
+ | // Initialisation des constantes | ||
+ | sequence = argv[1]; | ||
+ | for (int i = 0; i < 4; i++) { | ||
+ | bornes[i] = stof(argv[i + 2]); | ||
+ | } | ||
+ | largeur = stoi(argv[6]); | ||
+ | hauteur = stoi(argv[7]); | ||
+ | iteration = stoi(argv[8]); | ||
+ | limite = stof(argv[9]); | ||
time_t debut, fin; | time_t debut, fin; | ||
time(& | time(& | ||
+ | |||
float tableau[iteration]; | float tableau[iteration]; | ||
tableau[0]= 0.5; | tableau[0]= 0.5; | ||
Ligne 36: | Ligne 55: | ||
float bValeur[hauteur]; | float bValeur[hauteur]; | ||
for (int i = 0; i < largeur; i++) { | for (int i = 0; i < largeur; i++) { | ||
- | aValeur[i] = proportion(i, | + | aValeur[i] = proportion(i, |
} | } | ||
for (int i = 0; i < hauteur; i++) { | for (int i = 0; i < hauteur; i++) { | ||
- | bValeur[i] = proportion(i, | + | bValeur[i] = proportion(i, |
} | } | ||
- | ofstream image("Imago.pgm" | + | |
+ | // Formation du nom du fichier | ||
+ | string nom = " | ||
+ | for (int i = 0; i < 4; i++) { | ||
+ | string s = " | ||
+ | int position = s.find(' | ||
+ | if (position != -1) { | ||
+ | s[position] = ','; | ||
+ | } | ||
+ | nom += s; | ||
+ | } | ||
+ | nom += " | ||
+ | |||
+ | // Création de l' | ||
+ | ofstream image(nom); | ||
image << " | image << " | ||
image << largeur << " " << hauteur << endl; | image << largeur << " " << hauteur << endl; | ||
Ligne 59: | Ligne 92: | ||
int c; | int c; | ||
- | if ((exposant > 0) || (exposant < -1)) { | + | if ((exposant > 0) || (exposant < limite)) { |
c = 0; | c = 0; | ||
} else { | } else { | ||
- | c = floor(proportion(exposant, | + | c = floor(proportion(exposant, |
} | } | ||
image << c << endl;; | image << c << endl;; | ||
} | } | ||
} | } | ||
+ | |||
+ | |||
time(& | time(& | ||
cout << " | cout << " | ||
- | + | | |
- | system("open Imago.pgm"); | + | system(fonction.c_str()); |
return 0; | return 0; | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | ====== Processing ===== | ||
+ | <code java> | ||
+ | |||
+ | int iteration = 20000; | ||
+ | int valMin = 0; | ||
+ | |||
+ | void setup() { | ||
+ | size(200, 200); | ||
+ | } | ||
+ | |||
+ | void draw() { | ||
+ | println(hour() + ":" | ||
+ | loadPixels(); | ||
+ | for (int i = 0; i < width; i++) { | ||
+ | for (int j = 0; j < height; j++) { | ||
+ | float a = map(i, 0, width, 1.8, 2.2); | ||
+ | float b = map(j, 0, height, 3.6,4); | ||
+ | float seq[] = {a, a, a, a, b, b, b, b, b,b ,b , b,b , b, b, b, b, b, b, b}; // AAABBBBBAB | ||
+ | | ||
+ | A[0]= 0.5; | ||
+ | for (int k = 1; k < iteration; k++) { | ||
+ | A[k] = seq[k % seq.length] * A[k - 1] * (1 - A[k - 1]); | ||
+ | } | ||
+ | float exposant = 0; | ||
+ | for (int k = 1; k < iteration; k++) { | ||
+ | | ||
+ | } | ||
+ | | ||
+ | |||
+ | int c; | ||
+ | if ((exposant > 0) || (exposant < -1)) { | ||
+ | c = 0; | ||
+ | } else { | ||
+ | c = floor(map(exposant, | ||
+ | } | ||
+ | | ||
+ | } | ||
+ | } | ||
+ | updatePixels(); | ||
+ | saveFrame(" | ||
+ | println(hour() + ":" | ||
+ | exit(); | ||
} | } | ||
</ | </ | ||
===== Liens ===== | ===== Liens ===== | ||
- | https:// | + | [[https:// |
- | https:// | + | [[https:// |
=== PPM === | === PPM === | ||
- | https:// | + | [[https:// |
- | https:// | + | [[https:// |
+ | {{tag> |
fractale_de_lyapunov.txt · Dernière modification : 2020/04/07 16:53 de Mushussu