"""
设计:Python程序设计
作者:初学者
日期:2022年 10月 05日
"""
from turtle import *
def drawTriangle(points, color, myTurtle):
myTurtle.fillcolor(color)
myTurtle.up()
myTurtle.goto(points[0])
myTurtle.down()
myTurtle.begin_fill()
myTurtle.goto(points[1])
myTurtle.goto(points[2])
myTurtle.goto(points[0])
myTurtle.end_fill()
def det_mid(p1, p2):
return (p1[0] + p2[0]) / 2, (p1[1] + p2[1]) / 2
def sierpinski(points, degree, myTurtle):
colormap = ["blue", "red", "green", "white", "yellow", "violet", "orange"]
drawTriangle(points, colormap[degree], myTurtle)
if degree > 0:
sierpinski([points[0],
det_mid(points[0], points[1]),
det_mid(points[0], points[2])],
degree - 1, myTurtle)
sierpinski([points[1],
det_mid(points[0], points[1]),
det_mid(points[1], points[2])],
degree - 1, myTurtle)
sierpinski([points[2],
det_mid(points[2], points[1]),
det_mid(points[0], points[2])],
degree - 1, myTurtle)
myTurtle = Turtle()
myWin = myTurtle.getscreen()
my_points = [(-300, -150), (0, 300), (300, -150)]
sierpinski(my_points, 5, myTurtle)
myWin.exitonclick()
绘制谢尔平斯基三角形
最新推荐文章于 2023-04-03 17:49:33 发布