def spec(turtle, level, n):

     if level == 0:

           return

          

     height = math.sqrt(n**2 - (n/2)**2)

    

     for i in range(120):

           turtle.forward(n)

           turtle.left(55)

           turtle.forward(n)

           turtle.left(55)

           turtle.forward(n)

           turtle.left(55)

          

     turtle.penup()

     turtle.back(n / 2)

     turtle.right(90)

     turtle.forward(height * 3)

     turtle.left(90)

     turtle.back(n * 2)

     turtle.pendown()

     spec(turtle, level - 1, n * 2)

    

def spec2(turtle, level, n):

     if level == 0:

           return

          

     height = math.sqrt(n**2 - (n/2)**2)

    

     for i in range(120):

           turtle.forward(n)

           turtle.left(55)

           turtle.forward(n)

           turtle.left(55)

           turtle.forward(n)

           turtle.left(55)

          

     turtle.penup()

     turtle.forward(n / 2)

     turtle.right(90)

     turtle.forward(height * 2)

     turtle.left(90)

     turtle.back(n)

     turtle.pendown()

     spec2(turtle, level - 1, n * 2)

    

def spec3(turtle, n, r, alpha):

    

     angle = float(360) / r

     length = n

    

     while length > 0:

           i = 0

           while i < r and length > 0:

                turtle.forward(length)

                length = length - 1

                turtle.left(alpha)

                i += 1

 

from turtle import Turtle

from mydraw import *

import math

 

turtle = Turtle()

spec(turtle, 5, 5);

lines = turtle.lines

drawLinesToFile(lines, "spec")

 

turtle = Turtle()

spec2(turtle, 5, 5);

lines = turtle.lines

drawLinesToFile(lines, "spec2")

 

turtle = Turtle()

spec3(turtle, 300, 11, 88);

lines = turtle.lines

drawLinesToFile(lines, "spec3_a")

 

turtle = Turtle()

spec3(turtle, 300, 11, 72);

lines = turtle.lines

drawLinesToFile(lines, "spec3_b")