简体   繁体   English

如何更改我的python龟窗口的大小?

[英]How can I change the size of my python turtle window?

I am currently trying to draw a Mandelbrot set in python with turtle. 我目前正在尝试使用乌龟在python中绘制一个Mandelbrot。 However, my problem has nothing to do with the Mandelbrot. 但是,我的问题与Mandelbrot无关。 I can't change the size of my turtle window. 我不能改变我的龟窗的大小。 How can I do that? 我怎样才能做到这一点?

I tried to initialize a screen and set the screen size with the screensize method. 我尝试使用screensize方法初始化屏幕并设置屏幕大小。 Nothing changes if I do this. 如果我这样做,没有任何改变。

This is my code for drawing the set. 这是我绘制集合的代码。 I pasted the whole code because I don't know what I did wrong that the screen size doesn't change. 我粘贴了整个代码,因为我不知道我做错了屏幕尺寸没有改变。

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()

Instead of: 代替:

screen.screensize(width, height)

do: 做:

screen.setup(width, height)

The screensize() method sets the amount of area the turtle can roam, but doesn't change the screen size (despite the name), just the scrollable area. screensize()方法设置乌龟可以漫游的区域数量,但不会改变屏幕大小(尽管名称),只是可滚动区域。 Also, to simplify your code, speed it up and produce a more detailed result, I suggest the following rework: 此外,为了简化您的代码,加快速度并产生更详细的结果,我建议进行以下返工:

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()

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM