Thursday, February 24, 2005

Introduction

Have you ever seen any of the many kinetic sculptures that involve balls rolling down tracks? Here is an example. I've loved them since I was a child, when I first saw the one in the Port Authority building in New York.

These sculptures vary tremendously; some have all kinds of different structures which toss the ball around, make noises, or are themselves tossed around by the ball. Others are made of very few components, but take each ball through a quite complex set of paths.

In many of them, there is a deterministic decision-making structure. As each ball goes through it, it is directed to one of two output paths. Specifically, the one that the previous ball didn't take. The structure toggles back and forth, and its outputs alternate output paths. It looks a bit like this:



The ball enters at the top, is guided to one side, flips the trigonal gate to that side, and exits at the bottom. The next ball finds the gate flipped the other way, and so the reverse happens.

Being a computer geek, I can't help looking at that gate as one bit of state, and noting that if one links several of them together, such that the left-hand output of each feeds into the next, one creates what looks suspiciously like a binary counter. Furthermore, if one is allowed to drop balls into any of the gates directly, rather than just sending them in the top one, one can do twos-complement addition and subtraction!



There is a complication, of course, in that we can't read the state out without also writing to it. However, we can alter this "toggle" gate a bit by breaking off its two lower arms, and then we can read the state out [noting which way the output ball went], but not write to it. Also, we can break off only one of the two lower arms, and then we have a gate that a ball can flip one way, but not the other--just like the set or reset functionality of an electronic flip-flop.



OK, now we have gates that we can toggle, query, set, and reset [I call them t, q, s, and r gates]--but not all at the same time. That is, each has only a single function, so you can toggle a bit but not read it, or read a bit but not set it in the first place. We can fix this by connecting several of these gates together, by attaching them all to a common axle, forcing them all to move in sync with each other. Tada! We now have the basic building block of digital logic...and more importantly, a tremendous time-sink for me.

Why is it a time-sink? Because, having figured out how to make these gates, I decided to build a ball sculpture that is simultaneously an entire computer [OK, an 8-bit CPU] out of them.

Next

2 Comments:

Blogger -- Ewano said...

Oh my, this all seems such a big step up from talking about crazy ideas in a park in Luxembourg while eating icecream...

1:45 AM  
Blogger Eric Uhrhane said...

True, true. But just think; this summer we can step up further, and talk about the next set of crazy ideas in a cave in Slovenia while eating ice cream.

11:30 AM  

Post a Comment

<< Home