Contact
CoCalc Logo Icon
StoreFeaturesDocsShareSupport News Sign UpSign In
| Download

sierpinski triangle

Project: 1
Views: 64
Kernel: SageMath (stable)
def subtri(tri): return [(tri[0]+tri[1])/2,(tri[0]+tri[2])/2,(tri[1]+tri[2])/2] def threesubtri(tri): return [[tri[0],(tri[0]+tri[1])/2,(tri[0]+tri[2])/2], [tri[1],(tri[1]+tri[0])/2,(tri[1]+tri[2])/2], [tri[2],(tri[2]+tri[0])/2,(tri[2]+tri[1])/2]] def Sierpinski(depth=4,tri0=[vector([-0.5,0.0]),vector([0.5,0.0]),vector([0.0,sqrt(3.)/2.0])]): PLOT=[polygon(tri0,axes=False)] tri_up=[tri0] P=PLOT[0] for j in range(depth): temp=[] for k in range(len(tri_up)): P=P+polygon(subtri(tri_up[k]),color='white') temp=temp+threesubtri(tri_up[k]) tri_up=temp PLOT=PLOT+[P] return PLOT
Sier=Sierpinski(9)
Sier[6]
Image in a Jupyter notebook
Sier[9]
Image in a Jupyter notebook
animate(Sier).show(delay=50)
WARNING: Some output was deleted.
triangle1=[vector([0,0]),vector([2,2]),vector([0,2])] Sier1=Sierpinski(5,tri0=triangle1)
Sier1[5]
Image in a Jupyter notebook