[Image of Pelican]
Cool Stuff
The Personal Web Pages of Chris X. Edwards


[Image of Headless Basic]

Happy Halloween!

Well, at long last, here it is. Of course, it didn't take but about a week to complete this, but for me there have been huge blocks of time spent on it. But this is more than artwork; this was an odyssey of geometry and computer science.

It started with my notion that it might be fun to try a tessellation on a 3-dimensional surface. I've been kicking that idea around for a while. Before I knew it, Halloween was approaching and I thought it might be cool to carve a tessellation on a pumpkin. So even though I had another ambitious tessellation already underway, I postponed it to think about the tessellated pumpkin idea. The amazing part of this story is that I came up with the idea by just sketching it - on paper!

My friends know to come to me if they have a question about geodesic domes, but for this project I thought I'd try a different type of sphere division. I wanted something more "longitudinal" like the Earth's meridians... or a pumpkin's grooves. So I figured out a nice shape that would work with meridians - a trapezoid. To start with, I simplified things by making just a flat 2d arrangement where the meridians met (like the north pole of the Earth). In Antarctica, for example, all of the meridian lines basically form a relatively 2d pizza slice system. So I started out like I was going to use a 2d pizza slice system, knowing that just as Antarctica's meridians do something more exciting farther north, so could mine.

So I basically had what amounted to slices of pizza to work with. What I decided to do was to create a standard ratio trapezoid and fill my pizza slices with an infinite number of them. To visualize: take a slice of pizza and measure from the crust to the point; cut the piece into 2 pieces, a pointy bit and a trapezoid. The pointy bit is actually much like the original piece - you can divide it in half too. And keep going forever.

After establishing my layout, it only took a couple of hours to set up the forms and crank out a decent image based on my paper-sketched concept. I'll say right here that I don't exactly have access to horses and I really am not good at depicting them, so cut me some slack in the equine rendering department.

And that was that. For several days, I had a nice circular (pizza-like) tessellation of this image. It was frustrating because I had originally envisioned it as being ideal for a 3d work and I didn't want to "release" it as a simple 2d piece.

Perl to the rescue...

I was quite anxious to get this image into 3 dimensions before Halloween. I was kicking the idea around in my head and playing with the model a bit and I realized that it was going to be HARD. Yes, hard, very hard. I also had none of my AutoCAD books so AutoLisp was out - I'm good with it, but I haven't memorized hundreds of numeric codes. Hmmm, hard problem, lots of data, mucho complexity. Say, sounds like a good excuse to write a Perl program.

Basically, I wrote a program that took one panel of my image and performed the necessary CAD-type functions to it. Furthermore, there was another reason that I couldn't use AutoCAD beyond sheer volume (and that did need automating) - a new transformation. Yes, in the 2d version, this tessellation uses scaling, rotating, and moving. My program basically duplicated the fundamental abilities of a CAD system by implementing these three things. I also had a circle to circle intersection routine, but the coolest thing is the extra transformation that this tessellation has - it is what I call a progressive scaling or, technically, a "shear".

Anyone who's ever tried to giftwrap a basketball or such will know that if you take a 2d thing (giftwrap) and cover a curved surface, you will have wrinkles. What the progressive scaling allows for is trapezoids with slightly different (but perfect and sequential) angles. So if the base of your trapezoid is 1 and the top is .9, but to make it fit on your globe, you need a .95 on top, you need to scale the base by a factor of 1 (nothing) and you need to scale to top by a factor of 1.05555 which will make the .9 into a .95. Everything in between needs to be scaled proportionally. Cool, eh?

So that's most definitely a pretty serious Perl program. I even managed to keep it kind of modular so that I can reuse most of the important bits for future projects. If you're interested, you can check out my program.

And one last note about the format you're looking at here. It's not that great, I know. Basically, I just didn't feel like fiddling with thousands of fill regions in the Gimp. Look at the one I did color in above and use your imagination. The important things here are the ideas that work and the ability to pull them into reality. If you've got lots of $ for me, I'll be happy to embellish the hell out of this (or any) image.

[Image of Headless]

[Image of Headless]

Return to Tessellation Page
This page was created with only free, open-source, publicly licensed software.
This page was designed to be viewed with any browser on any system.
Chris X. Edwards ~ 99.10.31!!!
Chris X Edwards solely maintains whatever feeble legal rights he has to reproduce, publish, and/or sell the matter and form of all his artistic works unless otherwise explicitly stated. ~ The previous copyright messages are copyrighted. ~ The previous copyright messages are copyrighted. ~ The previous copyright messages....