def kCurve(turtle, distance, kinkiness): '''moves turtle forward the distance, perhaps with some kinks''' if kinkiness==0: turtle.forward(distance) else: segment = distance/3 kCurve(turtle, segment, kinkiness-1) # start a kink turtle.left(60) kCurve(turtle, segment, kinkiness-1) turtle.right(120) kCurve(turtle, segment, kinkiness-1) turtle.left(60) # ok we are done with the kink and facing our original direction kCurve(turtle, segment, kinkiness-1) def boundingBox(turtle, distance): '''leaves the turtle in the starting position and heading''' segment = distance/3 turtle.left(60) turtle.forward(segment) turtle.right(60) turtle.forward(2*segment) turtle.right(60) turtle.forward(segment) turtle.left(60) turtle.backward(distance) def gCurve(turtle, distance, kinkiness): '''moves turtle forward the distance, perhaps with some kinks''' if kinkiness==0: turtle.forward(distance) else: segment = distance/5 gCurve(turtle, segment, kinkiness-1) # start a kink turtle.left(60) gCurve(turtle, segment, kinkiness-1) turtle.right(120) gCurve(turtle, segment, kinkiness-1) turtle.left(60) # ok we are done with the kink and facing our original direction gCurve(turtle, segment, kinkiness-1) # start a kink turtle.left(60) gCurve(turtle, segment, kinkiness-1) turtle.right(120) gCurve(turtle, segment, kinkiness-1) turtle.left(60) # ok we are done with the kink and facing our original direction gCurve(turtle, segment, kinkiness-1) from cTurtle import Turtle t = Turtle()