簡體   English   中英

如何修改此python代碼?

[英]How do I modify this python code?

此python代碼繪制了一個sierpinski三角形。 首先繪制主三角形,然后繪制一堆較小的字符

import turtle

def drawTriangle(points,color,myTurtle):
    myTurtle.fillcolor(color)
    myTurtle.up()
    myTurtle.goto(points[0][0],points[0][1])
    myTurtle.down()
    myTurtle.begin_fill()
    myTurtle.goto(points[1][0],points[1][1])
    myTurtle.goto(points[2][0],points[2][1])
    myTurtle.goto(points[0][0],points[0][1])
    myTurtle.end_fill()

def getMid(p1,p2):
    return ( (p1[0]+p2[0]) / 2, (p1[1] + p2[1]) / 2)

def sierpinski(points,degree,myTurtle):
    colormap = ['red','turquoise','green','purple','Antique White 4',
                'white','black']
    drawTriangle(points,colormap[degree],myTurtle)
    if degree > 0:
        sierpinski([points[0],
                        getMid(points[0], points[1]),
                        getMid(points[0], points[2])],
                   degree-1, myTurtle)
        sierpinski([points[1],
                        getMid(points[0], points[1]),
                        getMid(points[1], points[2])],
                   degree-1, myTurtle)
        sierpinski([points[2],
                        getMid(points[2], points[1]),
                        getMid(points[0], points[2])],
                   degree-1, myTurtle)

def main():
   myTurtle = turtle.Turtle()
   myWin = turtle.Screen()
   myPoints = [[-100,-50],[0,100],[100,-50]]
   sierpinski(myPoints,3,myTurtle)
   myWin.exitonclick()

main()

我想做的就是修改我的代碼,使整個三角形變大。 我不確定是否要更改尺寸才能更改。

在main()方法中嘗試myPoints變量。 它設置為

myPoints = [[-100,-50],[0,100],[100,-50]]

也許改變為

myPoints = [[-200, -100],[0,200],[200,-100]]

或類似的規定。 我沒有運行它,但我很確定這些值決定了三角形的大小。

在您的main方法中,您想更改myPoints的值。 該列表列表作為第二個參數傳遞給sierpinski() 例如,如下定義myPoints會使三角形變成代碼中三角形的兩倍:

myPoints = [[-200, -50], [0, 200], [200, -50]]
sierpinski(myPoints, 2, myTurtle)

myPoints列表中的三個列表中的每一個都指示三角形的任何給定點到屏幕中心的距離。 對於上述myPoints ,三角形的點繪制如下:

  1. 中心左側(-X)200像素,中心(-Y)下方50像素
  2. 中心上方200像素
  3. 中心右側200像素,中心下方50像素

如果需要,還可以修改它,使三角形不再是等邊的-您可以使用[[-200, -50], [0, 250], [200, -50]]或a創建等邊三角形[[-200, -50], [0, 50], [150, -50]]斜角三角形。 嘗試加載不同的值,看看會發生什么!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM