Saturday, April 20, 2013

The Hilbert Space-filing One-dimensional Curve

   I just uploaded my Scratch Hilbert- space-filing curve project to my Scratch page. Here’s a screenshot of the fourth iteration of the curve and the link to the project.
   The curve is a one-dimensional line that fills a space! If you want to know the mathematics underlying that astonishing fact I recommend you click on this link and download and read the article, Crinkly Curves, by Brain Hayes. I never miss reading his column as I subscribe to the American Scientist.
   His blog also contains a post with even more information about the Hilbert curve.
   Dr. Hayes has also posted a wonderful Hilbert curve 'extra' that has an interactive section that maps the points on the unit line interval to the points of the unit square.
   I first learned about “pathological curves” like the Hilbert curve when I read the following column. It’s an old article but mathematics is timeless. Try to find Martin Gardner’s Mathematical Games column that appeared in the December 1976 issue of Scientific American magazine. The column is titled In which “monster’ curves force the redefinition of the word “curve”.
   Here’s is an update to that column.
   When home computers first appeared—soon after the column was published—I enjoyed programming such curves in Logo.
   I have also written a PDF file, The Hilbert Curve in Scratch, that describes the programming side. A simple email request is all I need.

Thursday, April 18, 2013

Tur-mites and the XOR Gate

   I have just returned from a long vacation where I did not have Internet access for two weeks. Thanks for checking this blog in the interim.
    The type of programming Scratchers do reflects their personal interests. That’s why the Scratch community, as an educational community, is so large. I get excited about certain math topics and I tend to focus on those topics until I’m enticed away by a new interest.  Brian Hayes calls this inquisitive programming.
   Lately, I’ve been exploring cellular automatons. My Langton’s Ant Scratch project is an example of a cellular automaton. Langton’s ant moves on a square grid according to a simple rule and is a two-dimensional, two-color, cellular automaton (CA).
    A. K. Dewdney is a computer science professor that wrote the Computer Recreations column in Scientific American magazine and has authored several books about the joys of computer programming.
In his column, Two-dimensional Turing machines and tur-mites make tracks on a plane, found in the September 1989 issue of Scientific American, he discusses a multi-colored tur-mite I call Dewdney’s tur-mite.
   To view my scratch project that codes Dewdney’s tur-mite, click on this link.

   I am also working on a Scratch project that implements Wolfram’s (of Mathematica fame) rule L90, one-dimensional cellular automaton. When the one-dimensional iterations of rule L90 are successively stacked, the Sierpinski triangle pattern is produced. The single operator in the code is an XOR logic gate. Scratch has AND, OR, and NOT logic operators but not an XOR operator. The XOR operator eXcludes the case when the two inputs to the OR operator are 1 (true). In other words, XOR (1,1) = 0.

   I’ve gotten as far on this project as creating the XOR operator in Scratch. To view the XOR gate, click on this link.

   I will soon have a PDF file that describes the math and programming techniques for both Langton’s Ant and Dewdney’s Tur-mite ready for distribution upon request.
   I will post the complete rule L90 project when it has been completed.