1 / 4
Reelle Zahlen auf einem Zahlenstrahl.
„Wolken sind keine Kugeln, Berge keine Kegel, Küstenlinien keine Kreise. Die Rinde ist nicht glatt und auch der Blitz bahnt sich seinen Weg nicht gerade.“- Benoît Mandelbrot
* 20. November 1924 in Warschau;
† 14. Oktober 2010 in Cambridge
1 / 5
1<!DOCTYPE html>
2<html lang="de">
3 <head>
4 <meta charset="UTF-8" />
5 <meta name="viewport" content="width=device-width, initial-scale=1" />
6 <meta name="keywords" content="mandelbrot, react, three" />
7 <meta name="author" content="Calvin Hinzer" />
8 <meta name="description" content="this took way too long" />
9 <title>Mandelbrotmenge</title>
10 </head>
11 <body>
12 <canvas id="myCanvas" width="800" height="800"></canvas>
13 <script>
14 var canvas = document.getElementById("myCanvas")
15 var context = canvas.getContext("2d")
16
17 // Durchlaufe alle Zeilen des zu zeichnenden Bildes
18 for (var pixelzeile = 0; pixelzeile < 200; pixelzeile++) {
19 // Durchlaufe alle Spalten der jeweiligen Zeile
20 for (var pixelspalte = 0; pixelspalte < 200; pixelspalte++) {
21
22 // Zähler für Iterationen für aktuelles Pixel
23 var iterationen = 0
24
25 // Berechnung der X-Verschiebung für bessere Darstellung
26 var xverschiebung = -2 + pixelzeile / 50
27
28 // Berechnung der Y-Verschiebung für bessere Darstellung
29 var yverschiebung = -2 + pixelspalte / 50
30
31 // Anlegen/Nullen der Variable für den Realteil des Punktes über den iteriert wird
32 var zx = 0
33
34 // Anlegen/Nullen der Variable für den Imaginärteilteil des Punktes über den iteriert wird
35 var zy = 0
36
37 // While-Schleife in der die tatsächliche Iterierung stattfindet. Bruchbedingungen sind maximal 255 Iterationen (aufgrund von Performance) oder das Überschreiten der Grenze 4 (siehe Beweis) durch Quadrierung des Betrags der jeweiligen Iteration
38 while (iterationen < 255 && zx * zx + zy * zy < 4) {
39
40 // Temporäre Variable in der Produkt aus Imaginär- und Realteil gespeichert wird
41 var xtemp = zx * zy
42
43 // Überschreiben des Realanteils durch Realanteil des Quadrats der komplexen Zahl, ausnutzen von (zx+zy)*(zx+zy)=zx^2-zy^2+2*zx*zy
44 zx = zx * zx - zy * zy + xverschiebung
45
46 // Überschreiben des Imaginäranteils durch Imaginäranteil des Quadrats der komplexen Zahl
47 zy = 2 * xtemp + yverschiebung
48
49 // Erhöhen des Iterationszählers
50 iterationen++
51 }
52
53 // Festlegen eines RGB-Werts für jeweiliges Pixel abhängig von Anzahl durchlaufender Iterationen
54 var color = iterationen.toString(16)
55
56 // Element für Pixel anlegen
57 context.beginPath()
58
59 // Entsprechenden Block füllen
60 context.rect(pixelzeile * 4, pixelspalte * 4, 4, 4)
61
62 // Farbe für Block festlegen
63 context.fillStyle = "#" + color + color + color
64
65 // Block zeichnen
66 context.fill()
67 }
68 }
69 </script>
70 </body>
71</html>
17. Details einer Spirale.
25. Juni 202116. Details einer Insel.
24. Juni 202115. Gemeine Julia-Menge
21. Juni 202114. Teil des „Doppelhakens“
18. Juni 202113. Happy Birthday!
12. Juni 202112.
8. Juni 202111.
1. Juni 202110. „Tal der Seepferdchen“ des Satelliten. Es zeigen sich die gleichen Strukturelemente wie in Ausschnitt 2.
28. Mai 20219. „Antenne“ des Satelliten
21. Mai 20218. Déjà-vu
19. Mai 20217.
13. Mai 20216.
9. April 20215. Der „Seepferdchenschwanz“ endet im sogenannten Misiurewicz-Punkt.
1. Mai 20214.
30. April 20213. Links Doppelspiralen, rechts „Seepferdchen“.
27. April 20212. Spalte zwischen „Kopf“ und „Körper“, „Tal der Seepferdchen“ genannt.
23. April 20211. Mandelbrot-Menge
12. April 2021Key Size | Fractals Keyspace | DH (primes) keyspace |
---|---|---|
8-bit | 256 | 54 |
16-bit | 25536 | 6542 |
32-bit | 4294967296 | 193635250 |
64-bit | 18446744073709551616 | 415828533893661771 |