web-dev-qa-db-fra.com

Comment puis-je modifier la taille de My python Window?

J'essaie actuellement de dessiner un Mandelbrot Set in python avec la tortue. Cependant, mon problème n'a rien à voir avec le mandelbrot. Je ne peux pas changer la taille de ma fenêtre de tortue. Comment puis-je faire ça?

J'ai essayé d'initialiser un écran et de définir la taille de l'écran avec la méthode de l'écriture. Rien ne change si je fais cela.

Ceci est mon code pour dessiner l'ensemble. J'ai collé tout le code parce que je ne sais pas ce que j'ai mal fait que la taille de l'écran ne change pas.

from turtle import *


height = 360
width = 360
screen = Screen()
screen.screensize(width, height)


tu = Turtle()
tu.hideturtle()
tu.speed(0)
tu.penup()


def decreasePoint(n, start1, stop1, start2, stop2):
    return ((n - start1) / (stop1 - start1)) * (stop2 - start2) + start2


for x in range(width):
    for y in range(height):

        a = decreasePoint(x, 0, width, -2, 2)
        b = decreasePoint(y, 0, height, -2, 2)
        ca = a
        cb = b

        n = 0
        z = 0
        while n < 100:
            aa = a * a - b * b
            bb = 2 * a * b

            a = aa + ca
            b = bb + cb
            n += 1

            if abs(a + b) > 16:
                break
        bright = 'pink'
        if (n == 100):
            bright = 'black'

        tu.goto(x , y)
        tu.pendown()
        tu.dot(4, bright)
        tu.penup()
done()
3
Nils Walker

À la place de:

screen.screensize(width, height)

faire:

screen.setup(width, height)

La méthode screensize() Définit la quantité de surface que la tortue peut errer, mais ne change pas la taille de l'écran (malgré le nom), juste la zone défilée. De plus, pour simplifier votre code, accélérerez-le et produisez un résultat plus détaillé, je suggère le retravail suivant:

from turtle import Screen, Turtle

WIDTH, HEIGHT = 360, 360

screen = Screen()
screen.setup(WIDTH + 4, HEIGHT + 8)  # fudge factors due to window borders & title bar
screen.setworldcoordinates(0, 0, WIDTH, HEIGHT)

turtle = Turtle()
turtle.hideturtle()
turtle.penup()

def scalePoint(n, start1, stop1, start2, stop2):
    return (n - start1) * (stop2 - start2) / (stop1 - start1)  + start2

screen.tracer(False)

for x in range(WIDTH):
    real = scalePoint(x, 0, WIDTH, -2, 2)

    for y in range(HEIGHT):

        imaginary = scalePoint(y, 0, HEIGHT, -2, 2)

        c = complex(real, imaginary)

        z = 0j

        color = 'pink'

        for _ in range(100):
            if abs(z) >= 16.0:
                break

            z = z * z + c
        else:
            color = 'black'

        turtle.goto(x, y)
        turtle.dot(1, color)

    screen.update()

screen.tracer(True)
screen.exitonclick()
6
cdlane