Пример #1
0
GENS = 5
sidelength = 50 / 2**GENS

t = ExtruderTurtle()

t.name("hilbert.gcode")
t.setup(x=100, y=100)
t.set_density(0.05)
t.rate(800)

for g in range(GENS):
    new_instr = ""
    for r in instr:
        new_instr += sub_rules[r]
    instr = new_instr

for l in range(10):
    for r in instr:
        if r == "F": t.forward(sidelength)
        elif r == "+": t.right(math.pi / 2)
        elif r == "-": t.left(math.pi / 2)
    t.lift(0.3)
    for r in reversed(instr):
        if r == "F": t.backward(sidelength)
        elif r == "+": t.left(math.pi / 2)
        elif r == "-": t.right(math.pi / 2)
    t.lift(0.3)

t.finish()
Пример #2
0
t.rate(1000)

t.set_density(0.05)
## Draw the base
for l in range(3):
    length = (HAIR_ROWS + 1) * HAIR_SPACE
    while length > 0:
        t.left(math.pi / 2)
        t.forward(length)
        t.left(math.pi / 2)
        t.forward(length)
        length += -0.7
    t.lift(0.2)
    while length < (HAIR_ROWS + 1) * HAIR_SPACE:
        length += 0.7
        t.backward(length)
        t.right(math.pi / 2)
        t.backward(length)
        t.right(math.pi / 2)
    t.lift(0.2)

t.lift(LIFT_DIST + 0.2)
t.set_density(0.01)
t.penup()
hairs = HAIR_ROWS
t.forward(-HAIR_SPACE / 2)
t.left(math.pi / 2)
t.forward(HAIR_SPACE / 2)
while hairs > 0:
    for i in range(2):
        for r in range(hairs):