Comment

Comment by hackyhacky

These programs rely on Logo's turtle interface, which is a convenient and intuitive way to describe graphics imperatively. It's great for kids. These days, Python also has a turtle library (edit: built-in! part of the standard library, for some reason), heavily inspired by Logo, which means that the code on this page can be easily translated into Python. Here are some example that you can run at home (since I assume more people have access to Python these days than likely have a Logo interpreter installed). Edit: these are Python translations (by me) of the top three entries on the linked page.

    import turtle
    import math
    turtle.tracer(0,0) # remove this line to watch the drawing

    def spirals():
        # repeat 1800 [fd 10 rt repcount + .1]
        for repcount in range(1800):
             turtle.fd(10)
             turtle.rt(repcount+.1)
        turtle.update()

    def snowflakes(variant=6):
        # repeat 8 [rt 45 repeat 6 [repeat 90 [fd 2 rt 2] rt 90]]
        for _ in range(8):
            turtle.right(45)
            for _ in range(variant):
                for _ in range(90):
                    turtle.forward(2)
                    turtle.right(2)
                turtle.right(90)
        turtle.update()

    def orb():
        # for [i 0 420] [seth :i repeat :i [fd 2 rt 1] pu home pd]
        for i in range(0,420):
            turtle.seth(i)
            for _ in range(i):
                turtle.forward(2)
                turtle.right(1)
            turtle.penup()
            turtle.home()
            turtle.pendown()
        turtle.update()
parent hackyhacky 7 years ago

Discussion

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton