python 运用turtle绘制图形(turtle画好玩有趣的分形图)
python 运用turtle绘制图形(turtle画好玩有趣的分形图)有兴趣想深入玩玩,用turtle画点什么的,可以研究下。2. 分形图形走起import turtle turtle.bgcolor('black') def main(): t = turtle.Turtle() t.hideturtle() t.speed(0) t.color('red') level = 10 fract(t -80 60 80 60 level) def fract(t x1 y1 x2 y2 level): newX = 0 newY = 0 if level == 0: drawLine(t x1 y1 x2 y2) else: newX = (x1 x2)/2 (y2-y1)/2
用python的turtle库画画,好玩之余,也接触到了其他有趣的领域。有段时间对分形图很着迷,计划将所有分形图都用turtle给画出来。当然自己一来编程水平还在逐步提升中,二来画分形图形,涉及很多几何及数学的知识。勾股定理及一些sin,cos之类的,自己大学毕业后就没再接触过的,又得捡起来琢磨琢磨。
当然自己不是大佬,能搞出一些出来,也是借鉴了一些大佬的编程理念,思路或者借鉴了代码的。自己也是整理分享出来,有兴趣的朋友也可以画一画。
1. Turtle 官方文档地址
https://docs.python.org/zh-cn/3.8/library/turtle.html#methods-of-turtlescreen-screen
有兴趣想深入玩玩,用turtle画点什么的,可以研究下。
2. 分形图形走起
import turtle
turtle.bgcolor('black')
def main():
t = turtle.Turtle()
t.hideturtle()
t.speed(0)
t.color('red')
level = 10
fract(t -80 60 80 60 level)
def fract(t x1 y1 x2 y2 level):
newX = 0
newY = 0
if level == 0:
drawLine(t x1 y1 x2 y2)
else:
newX = (x1 x2)/2 (y2-y1)/2
newY = (y1 y2)/2 - (x2-x1)/2
fract(t x1 y1 newX newY level-1)
fract(t newX newY x2 y2 level-1)
def drawLine(t x1 y1 x2 y2):
t.up()
t.goto(x1 y1)
t.down()
t.goto(x2 y2)
main()
数学和几何,确实烧脑,烧脑之余,是不是也挺好玩?好玩之余,大家是不是也觉得它非常有魅力呢?