PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Mandelbrot-/Juliamenge


Da_Hui
2005-01-24, 17:51:23
hier sind zwei codefragmente zur graphischen umsetzung einer julia und mandelbrotmenge und dazu hätte ich eine frage:
ich würde gerne ein bild davon entwickeln lassen (als foto) doch dazu ist die auflößung zu "mießerabel" gibt es eine möglichkeit so eine menge zu rendern lassen (direkt in ein bild) oder in einer guten auflößung am bildschirm das ich mit einem screenshot auskommen kann...

ich hoffe das mir da wer helfen kann (so dass ichs verstehe^^ oder zumindest verwenden kann)

sry das es ein lahmer vb code ist

Mandelbrotmenge
k = eingabe
For ykoor = -200 To 200
For xkoor = -300 To 200
xnew = 0
ynew = 0
lauf = 0
flag = -1
Do
x = xnew
y = ynew
lauf = lauf + 1
xnew = x * x - y * y + xkoor / k
ynew = 2 * x * y + ykoor / k
f = xnew * xnew + ynew * ynew
If f > 4 Then
flag = lauf Mod 255
End If
If lauf > 255 Then
flag = 0
End If

Loop Until flag >= 0
x1 = 300 + xkoor
y1 = 200 + ykoor
If flag = 0 Then
Bild.PSet (x1, y1), RGB(0, 0, 0)
Else
r = flag * 15 Mod 255
g = flag + 50 Mod 255
b = flag + 100 Mod 255
Bild.PSet (x1, y1), RGB(r, g, b)
End If
Next xkoor
Next ykoor

Juliamenge
k = Val(eingabe)
For ykoor = -100 To 100
For xkoor = -200 To 100
xnew = xkoor / k
ynew = ykoor / k
lauf = 0
flag = -1
Do
x = xnew
y = ynew
lauf = lauf + 1
xnew = x * x - y * y + 50 / k
ynew = 2 * x * y + 50 / k
f = xnew * xnew + ynew * ynew
If f > 4 Then
flag = lauf Mod 255
End If
If lauf > 255 Then
flag = 0
End If

Loop Until flag >= 0
x1 = 200 + xkoor
y1 = 100 + ykoor
If flag = 0 Then
Picture1.PSet (x1, y1), RGB(0, 0, 0)
Else
r = flag * rot Mod 255
g = flag * grün Mod 255
b = flag * blau Mod 255
Picture1.PSet (x1, y1), RGB(r, g, b)
End If
Next xkoor
Next ykoor


mfg Da_Hui

mrdigital
2005-01-24, 23:16:37
wenn es dir um das Fraktal, also nur das Bild, geht, dann such mal im Forum, Zeckensack hat eine Superpräzisen Mandelbrot-Renderer geschrieben.
An sonsten gibts das Programm fractint, das kann sehr viele (verschiedene) Fraktale berechnen.

zeckensack
2005-01-25, 15:26:39
http://www.zeckensack.de/mandel/

Für schöne Screenshots mindestens 3x3 Supersampling benutzen: "3" drücken. Andere Palette auswählen: "P" drücken. Bild als TGA speichern: "S" drücken. Ansonsten einfach wild rumklicken (links zoomt rein, rechts zoomt raus).

Die Juliamenge darstellen kann das Ding nicht ;(