3D Visualization Design

By Xah Lee. Date:

Looked into Wolfram Demo Project for real today. http://demonstrations.wolfram.com/. Am rather disappointed. I checked about over 30 demos. Most are bad. They don't illustrate a point or showing some insight.

Then i checked a few authored by those i know are Mathematica experts. For example, Sándor Kabai and Michael Trott. They are better, but still not impressive.

The power of animation, or interactive animation, is that the animation must bring out something that cannot be seen or felt by a series of static images. Here's some example of bad animation designs.

• Just a bunch of static images. If all you do is just put static images in a slideshow with a slider, that's useless. I rather look at the array of static image instead, because that lets reader see all variations at the same time, in high quality, with clear annotation on each, instead of one at a time in low resolution that glides by.

• Bad Use Of Animation. I saw one demo that shows a ellipse, with a point on the curve connected to the curve's focuses by 2 lines. When animated, the point movies on the ellipse, and a text display shows the sum of distances. The key design of this is to let reader realize that the displayed text didn't change while the point is moving, i.e. the sum of distances is a constant. What does such use of animation bring us visually more than a static image? Nothing.

• Insignificant use of sliders. Then, lots other animations have several sliders that lets you control opacity of the surface, rotate in particular axes, etc. These are really not meaningful. When being presented by a interactive panel, you get confused with all these sliders. You take the trouble to adjust each slider to see what they do, but you are not rewarded by some visual insight or dazzling graphics, but realized that these sliders just changes something trivial, such as coloring of the surface. The visualization activity essentially becomes a coloring book activity. This use of slders is suitable for exploratory items, but is not suitable otherwise.

Am guessing at this point, that the majority of the demos there are not much valuable. Am guessing vast majority are uploaded by college students.

It should be noted that good scientific animation or visualization takes some effort to design. Just because you can easily create slider to change parameters doesn't mean your animation will be great. Nor should you make a lot sliders just to increase the “power” of variation. Which parameter to animate, their step-size (or carefully chosen discrete values, or increasing by a smooth function), good explanation, display of critical label, are important.

Your design must have a clear purpose. It can be

One thing you should try to avoid is using sliders or whatever the new fancy tech just because you can easily do so. For example, when Desktop Publishing is new in the early 1990s, people discovered that they can easily change font, color, size etc., so newbies adorned their email that's garish and hard to read. Similar thing happened with CSS in early 2000s. Ultimately, novelty use of tech wears off quickly.

Though, the Mathematica engine for interactive manipulation is certainly a great feature. But seems it has its flaws. For example, one great use of interactive features of Mathematica is for visualization of family of surfaces. You can interactively push a slider to change a parameter, and see the surface change in real time. Unfortunately, it seems that Mathematica 7 does not use GPU, so it is slow when you have a real surface such as complicated minimal surface that are tens of thousands of polygons. And when used in animation with Manipulate, the animation is slow. You move the slider, then continuously wait for the graphics to update. When the animation does not update in sync with your slider movement, it can be quite frustrating. One such example is this http://demonstrations.wolfram.com/BoySurfaceAndVariations/. In general, Mathematica's whole interactive feature does not seem smooth for anything other than simple plane curves. The graphic's frame size also changes by jumping around when you try to rotate the 3D object.

Ok, that's some negative aspects. Here's some good ones i enjoyed.

(haven't really looked at lots of them.)

For some quality visualizations, see: Requirements for a Visualization System


When you click on a control of a demo, it pops up a panel with choices to: (1) watch web preview (2) download live version with active controls.

I looked a bit into what tech they use for the web preview. The Wolfram Demo site relies on JavaScript and Adobe Flash to work. The web preview feature is done with Flash. My guess is that each notebook gets translated into a sequence of screenshots, packed into a movie format, then Flash is used as a wrapper to display them.