Log in to edit a copy.
Download.
Other published documents...
Fianl Project
391 days ago by KylinRee
###Snowflake### #fianl project#
##1st kind## def function (segment): x1=segment[0][0]; x2=segment[1][0] y1=segment[0][1]; y2=segment[1][1] l1=((2/3*x1+x2/3),(2/3*y1+y2/3)) l2=((x1/2+sqrt(3)*y1/6+x2/2-sqrt(3)*y2/6), (-sqrt(3)*x1/6+y1/2+sqrt(3)*x2/6+y2/2)) l3=((x1/3+2*x2/3),(y1/3+2*y2/3)) result=[[segment[0],l1],[l1,l2],[l2,l3],[l3,segment[1]]] return result
def snow(segments,k): while k>0: s=[] for x in segments: s+=function(x) segments=s k-=1 g=Graphics() for cur in segments: g+=line(cur) return g
snow([[(0,0),(1,0)],[(1,0),(1,1)],[(1,1),(0,1)],[(0,1),(0,0)]],4).show(axes=False,aspect_ratio=1)
##2nd kind## def function2 (segment): x1=segment[0][0]; x2=segment[1][0] y1=segment[0][1]; y2=segment[1][1] l1=((2/3*x1+x2/3),(2/3*y1+y2/3)) l2=((x1/2-sqrt(3)*y1/6+x2/2+sqrt(3)*y2/6), (+sqrt(3)*x1/6+y1/2-sqrt(3)*x2/6+y2/2)) l3=((x1/3+2*x2/3),(y1/3+2*y2/3)) result=[[segment[0],l1],[l1,l2],[l2,l3],[l3,segment[1]]] return result
def snow(segments,k): while k>0: s=[] for x in segments: s+=function2(x) segments=s k-=1 g=Graphics() for cur in segments: g+=line(cur) return g
snow([[(0,0),(1,0)],[(1,0),(1,1)],[(1,1),(0,1)],[(0,1),(0,0)]],4).show(axes=False,aspect_ratio=1)