March 25, 2009 — Christopher Carlson, Senior User Interface Developer, User Interfaces

Q: What do proteins, snowflakes, and these figures have in common?

Semicircles joined at connection points evenly distributed along vertical lines

A: They’re all instances of “minimum inventory/maximum diversity” systems, a term coined by Peter Pearce in his book, Structure in Nature Is a Strategy for Design (MIT Press, 1978).

Read More »

February 26, 2009 — Christopher Carlson, Senior User Interface Developer, User Interfaces

On my way to becoming a graphics developer at Wolfram Research, I took detours through degrees in design and architecture. One of my enduring passions is exploring graphic design with programmatic and generative systems. While some aspects of design require the skilled hand of the designer, others can be formalized and explored by computer. For those tasks, Mathematica is an exceptional tool.

Corporate logos and advertising images

As starting points for design explorations, corporate logos are ideal. They often distill a single idea into simplified geometric form that is straightforward to parameterize in Mathematica. Once a logo is in Mathematica, exploring its parameter space quickly leads to the discovery of new graphic phenomena, emergent forms, unexpected relationships, and burgeoning lines of inquiry. Mathematica‘s very high-level programming and interface constructs help your explorations keep pace with your brain as it flings out new ideas left and right.

Take a logo as simple as the Mercedes-Benz star. Just three points framed by a circle, its geometry is easily described in a few lines of Mathematica code, with some obvious parameters controlling the number of points on the star, the sharpness of the star’s points, the thickness of the outer circle, and the orientation of the star.

Read More »

December 23, 2008 — Robert Raguet-Schofield, User Interface Group

I’m constantly amazed by the wide variety of tasks people accomplish with Mathematica, everything from serious scientific research and development to fun games and puzzles. This one is more on the fun side.

A few days ago I was trying to convert a raster image to a vector image. I remembered seeing some online service to do this in the past and I was trying to dig up the URL. In the back of my mind I thought I could probably do this with Mathematica, but it wasn’t immediately clear how. I spent a minute or two contemplating various algorithms one could use before realizing Mathematica already has a built-in visualization function that could do most of the work for me: ListContourPlot. This function was meant to handle elevation-like data, but a two-dimensional list of grayscale values is essentially the same thing.

The first step is to get a suitable raster image into Mathematica 7. This is easy enough: just drag a JPEG file into the notebook window and assign it to a variable. Here is a picture of my handlebars after a muddy bike race.

Read More »