Datei:Mandelbrot numpy set 2.png
aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen
Zur Suche springen
![Datei:Mandelbrot numpy set 2.png](http://upload.wikimedia.org/wikipedia/commons/thumb/8/84/Mandelbrot_numpy_set_2.png/800px-Mandelbrot_numpy_set_2.png)
Größe dieser Vorschau: 800 × 300 Pixel. Weitere Auflösungen: 320 × 120 Pixel | 640 × 240 Pixel | 1.024 × 384 Pixel | 2.560 × 960 Pixel
Originaldatei (2.560 × 960 Pixel, Dateigröße: 927 KB, MIME-Typ: image/png)
Diese Datei und die Informationen unter dem roten Trennstrich werden aus dem zentralen Medienarchiv Wikimedia Commons eingebunden.
Beschreibung
BeschreibungMandelbrot numpy set 2.png |
Deutsch: Die Mandelbrot-Menge wird mit NumPy unter Verwendung komplexer Matrizen berechnet. Die verwendeten Färbungen werden von Arnaud Chéritat und Jussi Härkönen beschrieben: Normal Map Effect und Stripe Average Coloring. English: The Mandelbrot set is calculated with NumPy using complex matrices. The colorings used are described by Arnaud Chéritat and Jussi Härkönen: Normal Map Effect and Stripe Average Coloring. |
Datum | |
Quelle | Eigenes Werk |
Urheber | Majow |
Andere Versionen |
|
PNG‑Erstellung InfoField | ![]() Dieser Plot wurde mit Matplotlib11 erstellt. |
Quelltext InfoField | Python codeimport numpy as np
import matplotlib.pyplot as plt
d, h = 800, 600 # pixel density (= image width) and image height
n, r = 200, 500 # number of iterations and escape radius (r > 2)
direction, height = 45.0, 1.5 # direction and height of the light
density, intensity = 4.0, 0.5 # density and intensity of the stripes
x = np.linspace(0, 2, num=d+1)
y = np.linspace(0, 2 * h / d, num=h+1)
A, B = np.meshgrid(x - 1, y - h / d)
C = (1.5 + 1.0j) * (A + B * 1j) - 0.5
Z, dZ, ddZ = np.zeros_like(C), np.zeros_like(C), np.zeros_like(C)
D, S, T = np.zeros(C.shape), np.zeros(C.shape), np.zeros(C.shape)
for k in range(n):
M = abs(Z) < r
S[M], T[M] = S[M] + np.sin(density * np.angle(Z[M])), T[M] + 1
Z[M], dZ[M], ddZ[M] = Z[M] ** 2 + C[M], 2 * Z[M] * dZ[M] + 1, 2 * (dZ[M] ** 2 + Z[M] * ddZ[M])
fig = plt.figure(figsize=(12.8, 4.8))
fig.subplots_adjust(left=0.05, right=0.95, bottom=0.05, top=0.95)
N = abs(Z) >= r # basic normal map effect and stripe average coloring (potential function)
P, Q = S[N] / T[N], (S[N] + np.sin(density * np.angle(Z[N]))) / (T[N] + 1)
U, V = Z[N] / dZ[N], 1 + (np.log2(np.log(abs(Z[N])) / np.log(r)) * (P - Q) + Q) * intensity
U, v = U / abs(U), np.exp(direction / 180 * np.pi * 1j) # unit normal vectors and light vector
D[N] = np.maximum((U.real * v.real + U.imag * v.imag + V * height) / (1 + height), 0)
ax1 = fig.add_subplot(1, 2, 1)
ax1.imshow(D ** 1.0, cmap=plt.cm.bone, origin="lower")
N = abs(Z) > 2 # advanced normal map effect using higher derivatives (distance estimation)
H, L = abs(Z[N] / dZ[N]) ** 2 / abs(dZ[N] / ddZ[N]) ** 2, np.log(abs(Z[N]))
U = Z[N] / dZ[N] - H * L / (1 + L) * dZ[N] / ddZ[N]
U, v = U / abs(U), np.exp(direction / 180 * np.pi * 1j) # unit normal vectors and light vector
D[N] = np.maximum((U.real * v.real + U.imag * v.imag + height) / (1 + height), 0)
ax2 = fig.add_subplot(1, 2, 2)
ax2.imshow(D ** 1.0, cmap=plt.cm.afmhot, origin="lower")
fig.savefig("Mandelbrot_numpy_set_2.png", dpi=200)
|
Lizenz
Ich, der Urheber dieses Werkes, veröffentliche es unter der folgenden Lizenz:
![]() ![]() |
Diese Datei wird unter der Creative-Commons-Lizenz „CC0 1.0 Verzicht auf das Copyright“ zur Verfügung gestellt. |
Die Person, die das Werk mit diesem Dokument verbunden hat, übergibt dieses weltweit der Gemeinfreiheit, indem sie alle Urheberrechte und damit verbundenen weiteren Rechte – im Rahmen der jeweils geltenden gesetzlichen Bestimmungen – aufgibt. Das Werk kann – selbst für kommerzielle Zwecke – kopiert, modifiziert und weiterverteilt werden, ohne hierfür um Erlaubnis bitten zu müssen.
http://creativecommons.org/publicdomain/zero/1.0/deed.enCC0Creative Commons Zero, Public Domain Dedicationfalsefalse |
Kurzbeschreibungen
Berechnung der Mandelbrot-Menge mit NumPy und komplexen Matrizen (Teil 2)
Computing the Mandelbrot set with NumPy and complex matrices (Part 2)
In dieser Datei abgebildete Objekte
Motiv
Einige Werte ohne einen Wikidata-Eintrag
24. September 2023
image/png
Dateiversionen
Klicke auf einen Zeitpunkt, um diese Version zu laden.
Version vom | Vorschaubild | Maße | Benutzer | Kommentar | |
---|---|---|---|---|---|
aktuell | 00:35, 25. Sep. 2023 | ![]() | 2.560 × 960 (927 KB) | Majow | Uploaded own work with UploadWizard |
Dateiverwendung
Die folgende Seite verwendet diese Datei:
Metadaten
Diese Datei enthält weitere Informationen (beispielsweise Exif-Metadaten), die in der Regel von der Digitalkamera oder dem verwendeten Scanner stammen. Durch nachträgliche Bearbeitung der Originaldatei können einige Details verändert worden sein.
Software |
|
---|---|
Horizontale Auflösung | 78,74 dpc |
Vertikale Auflösung | 78,74 dpc |
Abgerufen von „Datei:Mandelbrot numpy set 2.png11“