Category: Logo
(See also: all categories, all articles)
The Logo programming language is an amazing teaching tool and a lot of fun.
It includes a graphical system called "Turtle Graphics" where you give instructions to a turtle, and the turtle moves around, drawing as she goes.
Logo has been reimplemented many times, for every platform. It was first invented (or discovered?) by Wally Feurzeig, Seymour Papert, and Cynthia Solomon in 1967, the same year as the Beatles released "Sgt Peppers".
The first implementation of Logo, called Ghost, was written in LISP on a PDP-1. The goal was to create a mathematical land where children could play with words and sentences
—wikipedia
The work of Seymour Papert did much to popularize the language and spread the idea, particularly the book Mindstorms, subtitle: "Children, Computers, and Powerful Ideas" which is available online here (thanks to the generosity of Papert's family).
Articles...
Bubble Sort
Bubble sort is the first sorting algorithm that you learn in many algorithm classes. It's not a particularly fast technique, so it's never really used in practice. And generally if you're writing your own sorting algorithm instead of relying on one that your platform provides th…
Dragon Curve
The Dragon Curve or Dragon Fractal is a nifty little shape! Here are the first 12 iterations. You see the dragon shape begin to emerge. I've put a red dot before each one, so you can see how it doesn't always go forward right away. ;export dragon to dragon :count :length :angle…
Fern Fractal
A simple self-similar fractal. Similar to a Tree -- in particular it's very similar to the Pine, but with a tilt before drawing the next segment. to fern :segment :curve :angle1 :angle2 :ratiobranch :ratiostem :limit penwidth :segment/4 ifelse :segment>:limit [ color [60 40 20…
FlowSnake
The flowsnake, also known as the 'Peano-Gosper' curve is a rather dashing space-filling curve. There is also a demonstration of it on the space-filling curves page. The following implementation uses 'mutual recursion' - i.e. two methods that call each other. The flowsnake has the…
Harriss Spiral
Few spirals are as beautiful as the Harriss spiral. to curve :length pu lt 45 fd :length/2 * sqrt(2) rt 90 pd penwidth :length/15 arc :length/2 * sqrt(2) 90 pu fd :length/2 * sqrt(2) lt 90 lt 45 rt 90 pd end to harriss :length :limit if :length > :limit [ color [200…
Hilbert Curve
Perhaps the best known Space Filling Curve is the Hilbert Curve. to hilbert :count :size :angle if :count > 0 [ rt 90*:angle hilbert (:count - 1) :size (:angle * (0-1) ) fd :size rt 90*:angle * (0-1) hilbert (:count - 1) :size :angle fd :size hilbert (:count - 1) :size :…
Koch Curve
A Koch curve is a well-known fractal, first described by a Swedish Mathematician, Helge Von Koch, in his paper "Sur une courbe continue sans tangente, obtenue par une construction géométrique élémentaire". Put three Koch curves together in a triangular configuration and you have…
Koch Snowflake
In the article on Koch Curves we derived the famous koch-curve, by starting with a line, then a bumpy-line, then a self-similar recursive bumpy-line. The final result looked like this: to koch_curve :length :limit ifelse :limit = 0 [ fw :length ] [ koch_curve :length/3 :limit -…
Penrose Tiling
A famous non-repeating tiling pattern, invented (discovered.) by Roger Penrose, a giant in the worlds of mathematics and floor-coverings. The following logo program produces a penrose tiling. I found this at http://logo.twentygototen.org/E3_yJcQ4. I haven't looked through it en…
Penrose Triangle
"Mr Escher's office please" "Up the stairs, keep turning right" —@MooseAllain In Real Life Cartoon —New Yorker Cartoon By Robert Leighton Logo Version to piece :size lt 60 fd :size lt 120 fd (3* :size) lt 120 fd (4 * :size) lt 60 fd (1* :size) lt 120 fd (3* :size)…
Polygon
I remember a maths teacher saying to me, "It's amazing how clear it is, when you use Logo, that a circle is just a polygon with an infinite amount of sides" In that spirit, here's a simple formula for a polygon. Repeat {sides}: Forward {length}, Right Turn 360/{sides}. I tried …
Reuleaux Triangle
Ever wanted to drill a square-hole? Is it possible to build a drillbit that would produce such a shape? It seems impossible, but how impossible is it? Can we drill holes that are any shape other than circular? A circle is a curve of constant width. As you rotate a circle its wi…
Sierpinski Carpet
Sierpinski didn't just mess around with triangles, he also wrote 50 books (all of them flip-books of Sierpinski triangles, I assume), created a curve and finally — the highlight of his storied career — he released this: his Sierpinski Signature Edition Carpet design. A short warn…
Sierpinski Curve
to half_sierpinski :size :level ifelse :level = 0 [ forward :size ] [ half_sierpinski :size :level - 1 left 45 forward :size * sqrt 2 left 45 half_sierpinski :size :level - 1 right 90 forward :size right 90 half_sierpinski :size :level - 1 left 45 forward :size * …
Sierpinski Polygon
A Sierpinski triangle is the result of this line of thinking: To draw a Sierpinski triangle just draw three smaller Sierpinski triangles. (Unless the shape is too small... then just draw a regular triangle). What if we make the number 3 a parameter, :side, so that we create Sie…
Sierpinski Triangle
Anything that's covered here is almost definitely covered in a very well known webpage, The Sierspinski Triangle Page to End Most Sierspinski Triangle Pages but regardless, I must press on. Let's draw a triangle. to triangle :length fd :length lt 120 fd :length lt 120 f…
Space Filling Curves
Space-filling curves! Amazing things. Peano sat around thinking and thinking, What was he thinking? He was thinking: I wonder, I wonder, I wonder! Can I draw a continuous line that touches every single point of the unit square, exactly once? (i.e. it never crosses itself!) No…
Spirals
Swirls and spirals appear in nature in all kinds of places. In the seeds of a sunflower, in the vortex of a hurricane, in the horns of a goat, in the shell of a snail, in the curling fronds of a fern, in this guy's beard. . In this totally naturally occurring jetty: Spirals in…
Tree Fractal
A simple self-similar fractal. Similar to a Fern Here's one that bifurcates at every iteration. By altering the angle of the branches we get completely different shapes. Topologically identical, but visually very different. ;export tree to tree :length :branches :angle :ratio …
Triangle
I wanted to draw a triangle, so I sat down on the ground and thought about it for a while. When it all comes down to it. What it is, you see. How it works. Well a triangle has. It has 3. - 3 points. - 3 corners. - 3 angles. It's 3 lines really. So I want to draw 3 lines. The …
(See also: all categories, all articles)