赞
踩
今天我们来画一个谢尔宾斯基三角形。
好我们先看原图:
这是一个等边三角形,把每一条边平均分成两份,再把这三个焦点连起来,形成四个等边三角形,中间的一个不看,紧接着再继续按着刚刚的步骤走,就可以画出来这个谢尔宾斯基三角形了。那么得算出中间点怎么求,所以我们就得写一段这样的代码:
- import turtle as p
- p.pensize(3)
- p.speed(10)
- def get_midpoint(a,b):
- ax,ay=a
- bx,by=b
- return(ax+bx)/2,(ay+by)/2
现在我们知道了中点的坐标位置,就可以把他们连在一起形成一个三角形了。
- def draw_triangle(a,b,c):
- ax,ay=a
- bx,by=b
- cx,cy=c
- p.penup()
- p.goto(ax,ay)
- p.pendown()
- p.goto(bx,by)
- p.goto(cx,cy)
- p.goto(ax,ay)
下面就差我们的主程序了,只要把三个坐标点一定,就可以运行了。
- def draw_sierpinski(triangle,depth):
- """
- :param trangle:指定三角形三个顶点坐标,示例:((ax,ay),(bx,by),(cx,cy))
- :param depth:指定层数
- """
- a,b,c=triangle
- draw_triangle(a,b,c)
- if depth
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。