递归三角分形动态演示图

python turtle 递归三角分形动态演示图

python turtle 递归三角分形动态演示图

"""
   递归三角分形动态演示图,总的来说就是画一个三角形后在它周围画三个更小的三角形。
   不断地递归这个过程,直到层数为0。本程序运行结果会保存一些ps图片。
   当然,也可以直接通过ghostscript再次保存为png,然后合成gif图片。
"""
import time
import turtle as t


def main():
    """主要执行函数"""
    
    screen = t.Screen()          # 新建屏幕对象
    screen.setup(1000,800)       # 设置屏幕宽高
    screen.tracer(0,0)           # 关闭动画与延时为0
    t.color("#029F80") 
    screen.title('递归三角分形动态演示图 by 李兴球')
    t.hideturtle()

    for n in range(2,9):        # 从2到8层
        t.clear()
        draw_fractal_triangles(0,0,180,90,n)
        screen.update()
        # 保存为PS图像
        screen.cv.postscript(file=str(n)+'.ps')
        time.sleep(1)


def draw_triangle(x,y,s,angle):
    """
       x,y:起点坐标
       s:边长
       angle:起始角度
       本程序从三角形底边中心点开始画
    """
    t.up()                 # 抬笔
    t.seth(angle)          # 设置角度
    t.goto(x,y)            # 坐标定位
    t.fd(s/3**0.5)         # 前进s除以根号3
    

You must log in to read the rest of this article. Please log in or register as a user.