WOLFRAM

Design

Best of Blog

Twisted Architecture

I didn't set out to tie knots in Norman Foster's Hearst Tower or wrinkle his Gherkin, but I got carried away. It's one of the occupational hazards of working with Mathematica. It started with an innocent experiment in lofting, a technique also known as "skinning" that originated in boat-building. I wanted to explore some three-dimensional forms, and a basic lofting function seemed like a quick ticket to results. I dashed off the function Loft, which takes a stack of three-dimensional contours and covers it with a skin of polygons.
Design & Visualization

Designing the Brick Wall of the Future

I created this design for a brick wall in Mathematica. Constructing it would be tedious and technically demanding work indeed, requiring numerous jigs and repeated measurements, not to mention an unusually skilled mason. Or a robot. A few groups have begun to experiment with the idea of robotically laid brick construction, most notably the Swiss firm Gramazio & Kohler (Facade Gantenbein Winery, Structural Oscillations), and recently, students at the Harvard University Graduate School of Design (On the Bri(n)ck). Inspired by these efforts, I set out to investigate the possibilities of robotic brick-wall construction with Mathematica.
Design & Visualization

Hybrid Logos and a Fortunate Mistake

The idea struck me as I was toweling off after a swim: what would happen if I crossed the Mercedes-Benz and Grignani logos from my February 2009 blog post, Exploring Logo Designs with Mathematica? Hybrid vigor is a well-known phenomenon responsible for increased yields in corn, and metaphorically, for the economic and cultural flourishing of civilizations that engage in foreign trade. Would the progeny of Benz and Grignani show similar effects?
Design & Visualization

Exploring Logo Designs with Mathematica

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. 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.
Design & Visualization

Fun with Line Art

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.