Truncate, Expand, Snubify

Truncate, Expand, Snubify

Here’s the first-draft version of my applets that show you what happens when you truncate, expand, and snubify the Platonic solids. The interactive applets really help you see what’s going on — for instance, the icosahedron is a snub tetrahedron, but it’s very hard to visualize that. The goal is to see how these operations are related to the Archimedean solids.

Each applet has a line segment with a black dot which you can slide back and forth to see what happens.

Skip to future plans or to a cautionary tale about proprietary mathematics software.

—Dan Drake (ddr@member.ams.org)

Directions for Using these Mathlets

In some web browsers, the mathlets will become active once you move the mouse pointer over the picture; in others, you might need to click on the picture first. Once active, you can use the following controls:

There are 15 applets on this page, and often some of them don’t load properly. If you see errors below, reload the page; that should fix everything.

Truncation

Expansion

Snubification

Future plans

These applets are not very polished, but the underlying math is correct and they basically work. In addition to actually saying something about the Archimedean solids — if I remember correctly (the applets above were developed in early 2007, and I’m writing this in late 2010), the above operations only give you 11 or 12 of the 13 solids, and there are of course some repeats. So there are a bunch of interesting geometry questions that need to be addressed. Beyond that, here are some ideas for future work to really finish this.

One problem is that the clipping algorithm used by LiveGraphics3D is pretty primitive, and since the software isn’t being developed any more (see the cautionary tale below), I need to use something else. Here are some ideas:

Go back to the top or back to home.

A cautionary tale

This page is, in some sense, a museum piece — an artifact that perhaps ought to be preserved so that it can teach future generations about the past.

“Whoa!” you may be thinking. “I thought this just had some cool applets!” Well, there’s more going on here.

In 2003 or so, my friend Jon Rogness discovered LiveGraphics3D, which is a Java class that makes it very easy to take Mathematica code that displays 3D graphics and put it into a web page. At the time, we were in grad school at the University of Minnesota, which has a site license for Mathematica. Jon started making all sorts of fantastically cool things with LiveGraphics3D and putting them on his webpage. Being able to export plain Java applets was great, since very nearly every computer accessing the web had Java installed already, which made it super easy for students and others to see your “mathlets”. (That was before the advent of the iPhone, iPad, and other computing devices that support web browsing but can’t/don’t use Java.) It was during this golden age that I created the above applets.

So, what changed?

Starting with Mathematica 6, LiveGraphics3D no longer worked. And, in what was surely no coincidence, at the same time Wolfram launched their “Mathematica Demonstrations” site and released their “Mathematica Player”. Mathematica Player was just Mathematica, but without the editing capabilities — their marketing department had likely taken a cue from Adobe, which has Acrobat Reader and Acrobat.

This seemed pretty nice, but Mathematica Player is about 100 megabytes and requires registration to download. How ridiculous! Acrobat Reader is half that size (and other readers are less than 10 megabytes); Adobe’s Flash plugin is in the neighborhood of 5 megabytes — neither requires registration, and a user can install them expecting to encounter lots of PDFs and Flash applets. Making a user jump through hoops to download a bloated, single-use piece of software is simply not acceptable these days. Think about it: modern browsers can do complicated real-time video processing (example 1; example 2; lots more examples). We live in a world in which you can play Quake 2 in a browser; I can’t accept that my visitors to my web page need a separate hundred-megabyte download to see some simple polyhedra.

But even more important than user experience is the fact that only those with access to Mathematica can tinker with and alter the code that created these polyhedra. Not long after finishing the original version of this web page, I moved to KAIST and discovered that I no longer had access to Mathematica. I still had the source code, but it’s now of limited use to me. Even when I was at the U of M, visitors to this page who didn’t have access to Mathematica could not use the source code to make their own applets.

The root of the problem is that Mathematica is commercial, proprietary software. There is nothing inherently wrong with that, but in my role as a mathematician — as a scholar and teacher — using such software is not appropriate. I spent quite a lot of time developing the code that generated the polyhedra you see above, and when I moved, my code was rendered all but useless.

In fall 2007, I realized that I needed to work with something else, so that my code and my data could never be taken from me by changing jobs, or by forces outside my control — university budget cuts, IT committees, corporate strategy decisions, and so on. And if my code and data cannot be taken from me, they then cannot be taken from my students, colleagues, or webpage visitors.

At that time I discovered Sage. Sage is free software, so I can modify any way I like and distribute it to anyone I want. Sage is created by mathematicians for mathematicians, so its design tends to be much closer to what I want. (When I say “mathematicians” here, I mean that very broadly.) The source code is freely available, so my code and data can’t be taken away or rendered useless. In fact, by having the source code, I can (and do) make contributions to Sage to make it even more useful to me.

Sadly, I can’t make a webpage like this right now using Sage — but improving Sage so that I can do that is only a matter of will, time, and persistence. (I have two of those things…)

LiveGraphics3D and Mathematica were a good start to this project, but now, three years later, that legacy is a hindrance and a liability, not an asset. Further work on this will involve completely redoing the work I did before. Consider this a cautionary tale about your choices of mathematical software.

You may also be interested in the story of the MAA’s ebook DRM.

Go back to the top or back to home.

Copying and licenses

A fitting postscript to my cautionary tale about software is to make explicit the terms and conditions under which you can copy, distribute, and modify what you see here.

The code for the applets (in the “.lg3d” files that live.jar loads; see the HTML source of this page) may be redistributed and/or modified under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. See http://www.gnu.org/licenses/licenses.html. (The .jar file for LiveGraphics3D is free for non-commercial purposes but needs a license by Wolfram Research, Inc. for any commercial purpose.

GNU GPLv3+

The rest of the content of this page is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.

Creative Commons License

Go back to the top or back to home.