猫史档案馆


谢尔宾斯基三角

用户:安澜仙帝安澜仙帝查看:0 回复:2 评论:0 创建时间:2023-08-12T21:46:39


import turtle as t
def s_triangle(lst, s):
    if s == 0:
        return
    else:
        a,b,c=lst
        draw_triangle(a,b,c)
        d=mid_pos(a,b)
        e=mid_pos(b,c)
        f=mid_pos(a,c)
        s_triangle([a,d,f],s-1)
        s_triangle([d,b,e],s-1)
        s_triangle([f,e,c],s-1)

def mid_pos(m,n):
    mx,my=m
    nx,ny=n
    return (mx + nx) / 2,(my + ny) / 2

def draw_triangle(a,b,c):
    ax,ay=a
    bx,by=b
    cx,cy=c
    t.up()
    t.goto(ax,ay)
    t.down()
    t.goto(bx,by)
    t.goto(cx,cy)
    t.goto(ax, ay)
    t.up()

s_triangle([(0,400),(-300,-100),(300,-100)],7)
t.done()


回复

上一页1 页 / 共 1下一页
野生面壁者章北海野生面壁者章北海

你函数名写的好长....我都直接abc

点赞0


评论


小麦做的面包小麦做的面包

我头像

点赞0


评论