Ich versuche, die Mandelbrot-Sequenz mit Pythons Turtle-Grafiken zu zeichnen. Ich verwende zwei Klassen, eine für die Mandelbrot-Sequenz.Mandelbrot-Sequenz mit Pythons Turtle
class Mandelbrot:
def __init__(self,c,limit=50):
self.__limit = int(limit)
self.__colormap = ['black','white']
self.__cardinality = limit
z = 0
for i in range(limit):
z = z * z + c
if abs(z) > 2:
self.__cardinality = i
return
def getColor(self):
if self.__cardinality == self.__limit:
return self.__colormap[0]
return self.__colormap[1]
Die andere Klasse repräsentiert das Turtle-Display.
import turtle
from mandelbrot import *
class Display:
def __init__(self):
self.t = turtle.Turtle()
self.t.ht();self.t.turtlesize(1)
self.t.speed(0)
turtle.tracer(2000,0)
for x in range(-150,151):
for y in range(-150,151):
self.t.color(Mandelbrot(turtleConvert(x,y)).getColor())
self.t.goto(x,y)
def turtleConvert(x,y): #converts from turtle pixels to the complex plane
return complex((x/300)*4,(y/300)*4)
Wenn ich eine Instanz der Anzeigeklasse machen, druckt das Programm läuft, aber nur die untere Hälfte des Fractal. Könnte jemand eine Lösung anbieten?
Dies ist ein Bild von meinem Ergebnis.
Nizza Fang starten! (+1) Ich habe diesen Fehler mit ähnlichen Grafiken gesehen, [Turtle Grafiken zeichnen über sich selbst] (https://Stackoverflow.com/a/40985057/5771269), verpasste es aber dieses Mal, da mein System ein vollständiges Bild zeigte. – cdlane