A history of computer graphics

To start off this semester, I took my class through a short history of computer graphics, by showing some of my favorite computer animations. Well most of them were computer animations, but there was one exception: The very first piece I showed was from Disney’s 1940 classic film “Fantasia”.

I told the class that I had first watched “Fantasia” when I was sixteen, and that from the moment I saw it, I knew that I wanted to make things like that. I didn’t know yet when I was sixteen that I would end up doing it with computer graphics. But really, that’s just a detail, isn’t it?

I love many things about “Fantasia”. But my favorite part is the brilliant “Night on Bald Mountain” sequence — animated by the great Bill Tytla — and that’s what we started with.


Why did I begin a class in computer graphics by showing something that wasn’t computer graphics? Because I wanted to make sure the class understood that art doesn’t start with any particular technique. It begins with the vision to want to make something transcendent, to create something that makes peoples’ lives richer.

The vision you have is more important than the question of which medium you end up using to achieve that vision. As it happens, I have ended up using computer graphics, but that’s really just an accident of history.

Lying in bed this morning

Lying in bed this morning, still half asleep, I found myself thinking back on a certain beloved TV show. It was one of those situation comedies that centers around little people and their lives, but in particular I was thinking about the sad-sack main character, who comes into work every day to verbally spar with his feisty secretary, never realizing that she is secretly in love with him.

Of course the audience knows the truth, and that’s what makes the show work. I was thinking about how eventually the actress who played the secretary left the show — one of those inevitable casting changes — and the opportunity was lost for these two people to find happiness together. Even though it was just a silly sitcom, the kind of show where you weren’t supposed to take anything too seriously, it still seemed sad to me, that missed connection.

I could see their faces so vividly in my mind, and little details like her dark pixie-cut hair, his badly fitting suit. Lying half awake, trying to remember the name of the show, and where else I had seen that actor and actress, I gradually realized that none of it was real.

There had never been such a show. My half-dreaming mind had made up the entire wistful reality in those brief moments between dream and wakefulness.

Before getting out of bed, I took a moment to mourn this show I would never see, this make-believe missed opportunity for happiness, and those two sad, funny and oddly appealing people who would never meet their true love, even in reruns.

Fun with particles

This evening, in response to a question over email, I started wondering whether Javascript is fast enough to do simulations with many particles. So I wrote a little test program with 500 particles. Since every particle needs to interact with every other, the program needs to do more than a hundred thousand particle/particle comparisons at each animation frame.

I was happily surprised to discover that this performs just fine in my web browser. You can try it by clicking on the image below:


Then, just for fun, I started playing around with how the particles interact. I tried making them “sticky” so that instead of bouncing off each other they would clump together.

I was happy to see that the particles started forming and re-forming weird shapes, which make me think of alien creatures. Some of these creatures look a little scary. It’s a good thing they only exist inside a computer! Click on the image below to see the simulation:

Magnetic levitation

Since discovering the Halbach array I have been thinking a lot about magnetic levitation.

Well actually, I’ve been thinking about magnetic levitation for years. I mean, who in their right mind wouldn’t want to think about magnetic levitation?

But in particular, the Halbach array is a shiny new toy that suggests all sorts of interesting approaches to magnetic levitation. To my surprise, as I have been reading about this stuff on-line, only some of those approaches seem to have been explored.

I may need to write more about this!

Fun with rolling magnets

Yesterday I learned about the Halbach array, a wonderful way of arranging magnets that was first discovered by John Mallinson in 1973, and then rediscovered by Klaus Halbach a decade later. Why it’s not called a Mallinson array is beyond me.

To make a Halbach array you can arrange magnets in a line, rotating each successive magnet’s orientation by 90o, as in the picture below:


When you do this, it turns out that there is very little magnetic field above the array, and a very strong magnetic field below it. It’s not too hard to see why this happens, and I encourage you to read the Wikipedia page, which explains it quite well.

This “magnetic on one side but non-magnetic on the other side” property has many uses. One of those uses is ordinary refrigerator magnets — in case you’ve ever wondered why refrigerator magnets are only magnetic on one side. Another use is as a component in levitated trains, which is extremely cool.

It occurred to me today that rolling a cylindrical magnet on a table — if the magnet is magnetized across its diameter — should produce the same effect as a Halbach array, since the magnetic orientation will rotate in just the right way as the magnet rolls along.

As it happens, I had such a magnet, so I decided to test this hypothesis.

I suspended a steel spring precariously between two Nespresso packets (since they happened to be just the right height): 


As you can see below, if the magnet — which was quite powerful — got anywhere near the spring, the spring would jump off its Nespresso packet supports and snap to the magnet: 


Then I tried rolling the magnet under my delicate little suspension bridge. Sure enough, the spring would stay on the bridge while the powerful magnet rolled right under it:


I suspect that this only works because of hysteresis in the steel. The spring takes a little time to change its magnetic orientation in response to the rolling magnet, and so the reaction of the spring to the magnet is smeared out over time. To the spring, the magnet appears like a continuous Halbach array, which has a reduced magnetic field above it.

If this theory is correct, then when the spring is below the table the opposite would occur: The rolling magnet would very strongly attract the spring. Maybe I should try that next.

Mutable narratives

My post the other day showed a way to use an interactive text narrative as a guide to a visual explanation.

But I’m not yet satisfied with it. The narrative itself should also be able to change, as the visual explanation evolves.

In order to build up to that capability, I’m starting to play with mutable text narratives. A simple (and very fun) kind of mutable text narrative is the MadLib, so I thought I would begin with one of those.

If you click on the image below, you can see my first take on narrative as MadLib. As before, you change things by clicking on the orange words and phrases:

Pinched again!

So now it seems that Apple did not, in 2005, invent the “pinch to zoom” gesture that Myron Krueger had already implemented in 1983.

According to a recent US Patent and Trademark Office ruling, in fact it was Bran Ferren and Danny Hillis who in 2005 invented the pinch to zoom gesture that Mr. Krueger created thirty years ago.

So my apologies to those of you who read my earlier post congratulating Apple on its brilliant invention of Krueger’s technique. It turns out that Ferren and Hillis deserve all of the credit for this bold innovation.

I can imagine that some of you might be confused by this turn of events. You may, for example, be thinking of some sort of bizarre alternate universe in which the first to conceive of an innovation, to reduce that innovation to practice, to publicly demonstrate that achievement, has perhaps some vague claim on said invention.

But no, we do not live in such a world. We live here in the real world, where objective truth, proper credit, and true authorship are determined the old fashioned way: Through the sheer hard work and persistent efforts of a highly paid legal team.

So as you watch this video made in 1988, which documents the system that Krueger had first implemented five years earlier, pay particular attention to what happens at 4:30.

It may look for all the world as though you are seeing a two finger pinch to zoom gesture. But in fact that is impossible, since as any good lawyer will tell you, pinch to zoom was not invented until 2005.

Which means that you must be hallucinating. You really need to stop using those drugs.

Where are the Snowdens of yesteryear?

In Joseph Heller’s seminal novel “Catch 22”, the reluctant WWII bombardier Yossarian is concerned that people are trying to kill him. Given the fact that he is continually being ordered to go up in an airplane to be shot at by the enemy, he has a point.

Yossarian’s alienation truly begins after Snowden, a member of his flight crew, dies in his arms, mortally wounded by antiaircraft fire. From that point on, whenever Yossarian is asked whether he has any questions, he merely replies “Where are the Snowdens of yesteryear?”

Here Heller is paraphrasing “Ballade des dames du temps jadis” by the great fifteenth century french poet François Villon, whose haunting refrain “Où sont les neiges d’antan?” was later translated by Rosetti as “Where are the snows of yesteryear?”

Interestingly, Villon spent much of his short and colorful life speaking out for the rights of the people — the great unwashed citizenry — in defiance of his government.

This theme ties in curiously to another battle of perception being fought today, with the rights of citizens on one side, and the powers of government on the other.

This new battle centers on an outspoken rebel named Snowden. Mere coincidence?

Go and explain

One of my interests is mixing narrative and computer graphics to tell stories that teach. It’s an interest I share with my Ph.D. student Adam Gashlin, and with some other people too.

I thought it might be a good idea to use the go game as an excuse to explore that space a bit — to teach something through a narrative text that interacts with computer graphics.

I’m going to start with something simple: An explanation of how I make the stones look rounded and three dimensional. I would love some feedback!

Click on the image below to try it: