Hybrid Logos and a Fortunate Mistake
April 22, 2009 — Christopher Carlson, Senior User Interface Developer, User Interfaces
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?
With the Demonstrations Exploring the Mercedes-Benz Logo and Exploring a Logo by Grignani, I had on hand all the parts I needed to try the experiment. My idea was to substitute the parameterized Mercedes-Benz star for the disks stacked in the Grignani logo, a swap of these Demonstrations’ genetic material.
The Grignani logo achieves its 3D effect by stacking alternating black and white disks of decreasing radii. The white disks are offset slightly from the black, first toward the top, then toward the bottom, as the stack grows. The resulting shading gives the impression of three-dimensionality.
I extracted the star-drawing code from the Mercedes-Benz Demonstration and packaged it as a near drop-in replacement for the Disk function. Some extra arguments were required to control the number of points, sharpness, and twist of the stars.
With that StarPolygon function, hybridizing the Demonstrations was a no-brainer: replace Disk with StarPolygon, add the extra arguments, and copy the controls for the extra arguments from the Benz Demonstration to the Grignani Demonstration. Here’s the resulting Manipulate, with the modifications shown in red.
This snapshot of typical output shows what you’d probably expect of this hybrid: a star-shaped form with a three-dimensional effect due to the stacking. But it doesn’t hint at the real treasure hidden within. The emergent properties that result from the interactions of the angular stars with the displacements in the stack give rise to entirely new effects not shown by either of the parents, effects that are hardly humanly possible to anticipate. You have to actually do the experiment and explore the result to discover the possibilities.
The space of forms traversed by this Manipulate contains the usual suspects—shell-like forms, whorls, and spirals, as well as some more unusual ropy forms and finely-textured abstract objets d’art.
But the real magic happens within certain narrow bands of parameters where the interactions between the numbers of points on the stars, their sharpness, the displacements of the stacked forms, and specific fineness of the stacking conspire to yield lustrous, luminous, metallic and glass-like forms; implausible forms given the humble materials—stacked black and white stars—from which they are formed.
The first to catch my eye were medallions with a metallic sheen.
Exploring and refining those led to these metallic rings with beautiful, brushed-surface textures. (You really must click these to view them at higher magnification in order to get the full effect.)
At coarser settings, the brushed effect gave way to textures that screamed, “Touch me!” Maddeningly, they were locked behind my smooth screen.
Where the stacked stars were complex and spiky, the graphic “noise” looked like the internal reflections in glass and the forms took on the appearance of molded glass and cut crystal.
In my experiments, color added surprisingly little to the impact of these forms. Perhaps I just didn’t stumble onto the right combination of colors to give a knockout punch, but the forms inevitably lost interest when I merely substituted colors for black and white. Doing so necessarily lessens the contrast in the figure, and it’s the strong contrast that makes these figures work.
What was more effective was to change the colors in the stack smoothly from black and white to intermediate colors and then back to black and white. Doing that added color without losing the blackness of the “shadows” and the whiteness of the “specular highlights” that give these forms their apparent material properties and dimensionality. I used that method to render this gold ring, which I would love to see some talented goldsmith turn into reality.
Another experiment I did yielded shiny metallic forms of a different character. I modified the use of the “twist” parameter so that the twist was applied only to the displacement of the white forms in the stack against the black rather than to each white and black pair as a whole. That meant that the black forms in the stack stayed put while the white forms gyrated slightly about the center. That change gave rise to these shiny 3D pewter ornaments.
Remember, there is no 3D modeling going on here. The apparent metallic and 3D effects are due purely to the shading that results from the slight displacements of the black and white forms in the stack. Engravers, of course, have been taking advantage of these effects for centuries. Here is a magnified view of the first star in the preceding figure. Step back six paces from your screen, and you’ll see the fine lines dissolve into the smooth gray shading in the figure.
But wait! It gets even better! Due to a fortunate mistake I made while investigating other star forms, I stumbled onto a way to produce “engraved” forms with a wonderful organic character.
I was thinking about generalizations of the star, and in particular, stars with rounded points. I wrote this function that uses a sinusoid to produce a gently undulating, rounded star with n points:
The number of polygonal steps I chose initially was a little large, resulting in a less-than-smooth outline, so I added an explicit resolution parameter to give myself control over how finely the star was rendered:
I cranked up the resolution to 100 to test my new function—and I got this ink splat instead of the smoothly rounded star I had expected.
What had gone wrong?
When I examined my code, I realized that in my test example I had changed the n parameter for the number of points to 100 instead of inserting the additional resolution parameter of 100. Mathematica used the old, four-argument version of my function to render a star with 100 points at a resolution of 64.
This figure shows what was happening. A full-resolution, 100-point star is shown in blue. When that star is rendered at the low resolution of 64, the step size as the radial in my RoundStarPolygon function sweeps around the star is large compared to the spacing of the star points. An irregular figure results from the infrequent sampling.
This mistake was an opportunity! Rendering stars at low resolution was an interesting phenomenon in its own right, which I immediately explored by dropping the new RoundStarPolygon function into a Manipulate:
But what would happen if the interaction between the number of star points and the resolution was combined with the interactions that gave rise to the beautiful “engravings” in the Benz-Grignani hybrid? It had the potential to yield fantastic forms—or a fantastic mess.
The path to an answer was short in Mathematica. I dropped the modified RoundStarPolygon function into my hybrid Demonstration, added a control for the resolution, and started exploring. The result was not a fantastic mess! It was a world inhabited by sea creatures and whorled growths, forms with a pleasing balance of rigid symmetry and organic irregularity. (Click any form for a magnified view.)
There is much, much more out there to be discovered. Those who want to give it a try themselves can visit the Demonstration A Hybrid Benz-Grignani Logo, which combines all of the techniques described in this post into a single Demonstration. Or better yet, hybridize your ideas. Swap some genetic material! Tinker with your parameters! Seize upon your mistakes! With the right tools for exploration, humble ideas can lead to profound results.
Download this notebook (30MB)