def run(): clear() wireframe() view('front') linewidth(2) n = 6 # number of generations # We use the lima module to create six generations of the Koch line F = [ Formex(lima("F",{"F":"F*F//F*F"},i, { 'F' : 'fd();', '*' : 'ro(60);', '/' : 'ro(-60);' }),i) for i in range(n) ] # scale each Formex individually to obtain same length sc = [ 3**(-i) for i in range(n) ] sz = sc[0]/3. F = [F[i].scale(sc[i]) for i in range(n)] # display all lines in one (randomly choosen) of three ways mode = random.randint(3) if mode == 0: # all on top of each other draw([F[i].translate([0,sz*(i-1),0]) for i in range(n)]) elif mode == 1: # one above the other draw([F[i].translate([0,sz*n,0]) for i in range(n)]) else: # as radii of an n-pointed star draw([F[i].rotate(360.*i/n) for i in range(n)]) zoomAll()
"""Koch line level = 'beginner' topics = ['geometry'] techniques = ['colors'] """ from plugins.lima import lima wireframe() linewidth(2) n = 6 # number of generations # We use the lima module to create six generations of the Koch line F = [ Formex(lima("F",{"F":"F*F//F*F"},i, { 'F' : 'fd();', '*' : 'ro(60);', '/' : 'ro(-60);' }),i) for i in range(n) ] # and display them in series clear() # scale each Formex individually to obtain same length sc = [ 3**(-i) for i in range(n) ] sz = sc[0]/3. F = [F[i].scale(sc[i]) for i in range(n)] mode = random.randint(3) if mode == 0: # on top of each other draw([F[i].translate([0,sz*(i-1),0]) for i in range(n)])
"""Koch line level = 'beginner' topics = ['geometry'] techniques = ['colors'] """ from plugins.lima import lima wireframe() linewidth(2) n = 6 # number of generations # We use the lima module to create six generations of the Koch line F = [Formex(lima("F", {"F": "F*F//F*F"}, i, {"F": "fd();", "*": "ro(60);", "/": "ro(-60);"}), i) for i in range(n)] # and display them in series clear() # scale each Formex individually to obtain same length sc = [3 ** (-i) for i in range(n)] sz = sc[0] / 3.0 F = [F[i].scale(sc[i]) for i in range(n)] mode = random.randint(3) if mode == 0: # on top of each other draw([F[i].translate([0, sz * (i - 1), 0]) for i in range(n)]) elif mode == 1: