Here's a little animation inspired by today's events.
Some teaser screens from a mobile app I've been working on designed to help reduce food waste.
Sharpening up a new skill with one of my favorite collaborators. Here is a sneak peek:
Saying "Goodbye" to the Bay Area with some doodles of houses that have caught my eye on my various walks.
Suddenly hungry for fruity popsicles.
Calm before the storm!
In the new year I will be curating and hosting several software tutorials, starting with Vray Toon and Neon for Rhino. The goal of this tutorial was to share some setups, tricks, and best practices for producing instantaneous, high-quality working images for discussion and review. It is a happy medium between sketch and full-render, which is the useful gooey-stage of design discussion that most young designers find themselves in the majority of the time.
A copy of the tutorial from my January 5th session is available for download here!
Looking forward to cover advanced techniques in Vray for 3DS Max soon.
This week I helped launch a pet-project with a small team of collaborators called Double Yolk. Our Call for Submissions and social media campaign aims to give a strong sense of brand-- so of course, I went with an egg motif. Flat is all over the place these days so I decided to break the mould and go 3D. It was a really fun setup so I figured I would share some of the behind-the-scenes thinking.
First things first is the egg. Eggs have beautiful geometry. There are multiple ways to draft a perfect egg. I chose the simple Durer-inspired route.
Getting perfect curves is very important so that the 3D geometry looks smooth. The next step is to revolve the curve around the z-axis 360 degrees until you get a smooth eggy solid. Rhino is my tool of preference for anything 3D related.
To split the egg in half I trim it with a simple plane.
For the yolks, simply two spheres with centroids along the central axis. The spheres should be slightly different in volume. In theory I suppose you would never see the spherical shape of the yolks in a slice (too reminiscent of an avacado) but I like the dimension it adds.
Now that the geometry is set, it can be implemented into a script to complete the image. The goal was a controlled density of eggs floating through space. Compositionally, I wanted to be able to manipulate the density and overall boundary of the eggs so that tweaking the image would be possible in a pinch. Working in 3D makes it a bit more difficult to 'fake' things in Photoshop later because of how the light and color bounces off of the shapes in the rendering. What you see is pretty much what you get. Scripting tools like Grasshopper can make adjusting any variables faster so that I don't have to manually place all of the eggs in my scene.
I like to sketch out a flow of information and variables before I start scripting so I know what my goals and unknowns are.
I want to be able to control the volume / shape that the point cloud occupies, and the overall density. I leave axial rotation up to a random seed set by a domain in radians. The real script ends up looking something like this:
The volume that contains the point cloud can be any shape I wish. I start simple with a rectangular box. The points are controlled by a slider.
When I assign the geometry to be moved to a point, they are placed in the same orientation as the original geometry.
You can see that after applying the rotation command they all rotate relative to the position of their original points.
For the last step, I add the yolks. I keep the egg white separate from the yolks so it's easier to assign them different material properties later for rendering.
And that's the basic setup. I launched into some deeper complexity with forced perspective, gradient, and depth, but I can't give it all away before the launch of the first issue. Stay tuned for more!
A couple fun moments from a weekend of collage exploration. Architectural design by Rachel Tan.
Amateurish but a tiptoe into bigger and better GIFfery
Turning this sketch into reality quickly before I succumb to Thanksgiving.
Here's a screenshot from a long continuous scroll on the future Double Yolk splash page:
After splashing around in Mapbox Studio some more and encountering browser woes, I discovered Safari was the answer to resuscitating my missing SVG patterns. I was able to take a pass at turning the hillside countours from tones into dense hatches.
The read is just as strong but it has more of an atmosphere to it with linework. I can't seem to avoid that secondary tiling effect that is a result of non-pixel-perfect SVG editing.
Here are some more of my favorite shots with this map style.
Some slow but steady progress is happening with the interactive Nolli map. Today I have taken on the challenge of line types and special strokes. It took me a bit of digging to find out how to control stroke styles in Mapbox Studio without editing just primary lines. Additionally, it's hard to assign multiple styles to a single layer, which mean some strategic duplicating /overlaying of the same data set, which I'm always a bit wary of. The "Gap Width" settings seem to exhibit stroke-as-outline behaviors that I am accustomed to in Illustrator, though slightly harder to control (especially as they need to sync with the scaling of the primary stroke they are built off of).
Similar to the polygonal data, stroke styles can be mapped with an SVG pattern. This helps me achieve a more handrawn look than just a standard linetype. The only problem with mapping a hand drawn SVG to a line is controlling the way it terminates. The lines tend to die without the finesse of some hand-drawn intervention. Choosing a proper scale and length of the pattern can probably ease this transition with a bit of further studying.
The centerline dash in the image above was actually an unintentional effect from setting my gap widths too far apart, but I'm happy with the result.
Adding a gentle stipple pattern to the park land designation helped give the map a nice collage-like quality that scales and tiles elegantly. The small stippling is accentuated by the contour shading, which I would love to migrate from tones to gentle hatches.
Although all of the lines are the same weight, their density begins to suggest a gradient that I think will work well as a series of overlays. Slowly eliminating the use of tone and replacing it with hand drawn patterns will help this map have intaglio-feel at farther zoom levels.
After I test out a computer-generated hatch like the ones above, I draw over them with a stylus for more natural variation. Check out this side-by-side of a computer generated hatch versus a hand-drawn hatch:
The hand-drawn hatch to the right has a much richer texture, which is totally worth the extra steps. My biggest wish for the next version of Mapbox studio will be a smoother and more intuitive SVG upload process-- on my browser it tends to snag. Without a lot of trial and error, it's hard to take a guess what lineweight and dimension of tile will look best on your map. I can see building and applying patterns becoming a future chapter in the guidelines documentation.
Next steps will include more robust stroke styles, some river bathymetry, and unique illustrated points of interest. Take a look at some of my favorite screen shots from around the world:
Mapbox Studio beta is in the works and ready to be taken for a spin. I've just barely scraped the surface of what this tool is capable of, but am so far impressed with the intuitive interface and clean layering system. It's easy to start with one of the pre-made templates and transform it into something thats "yours" in just a couple of hours.
My first test drive in Mapbox Studio is a modern recreation of the Nolli map of Rome. The Nolli map took architect Giovanni Battista 12 years to survey and even more to engrave. The Nolli is famous among architects for it's figure-ground representation of urban forms-- the interiors of major civic buildings such as the Pantheon and St. Peter's Basilica are represented as void, illustrating them as public open spaces. For this exercise, I'm not clinging onto the architectural pedagogy. It would take some serious data mining to find proper plans of every civic building in the world. What I've always loved most about the Nolli plan is the illustrative distinction among land uses.
Land use designations are readily available to be downloaded and applied to Mapbox creations. Most of the template map styles already have a great selection of land uses as layers: wood, shrub, grass, parks, snow, etc. It seems like since this polygon data is global, the scale does not have great fidelity down to the finer zoom levels of city-scale, but it's a great starting point.
Mapbox uses SVG's to achieve pattern mapping onto polygonal data. This means drawing up my own illustrative land use textures in a way that can read fluidly in a square tile pattern. I like the imperfect hand-drawn aesthetic of the engravings, so I used some stock illustrator stroke styles to achieve this effect. It's hard to guess off the cuff how the scaling of the SVG will turn out, so this took a couple of tries.
So far I've only achieved the grass, forest, and building textures. It's a challenge to get the hand-drawn quality of the lines without creating a secondary unintentional tiling pattern-- definitely something I would love to tackle in a deeper dive. The other challenge is building out patterns and overall shapes within the constraints of a square tile. These are small first steps, but you can see how the patterns are starting to tell a story about building density and land use in these different cities:
There's a long ways to go before this map is as rich and meaningful as the Nolli-- but Rome wasn't built in a day. I'll keep coming back with updates as I continue to explore this new tool.
Some promotional material in the works! Can't wait to share the website wireframes soon.
Fritted glass is all the rage. It can be used for shading, for articulation, for bird safety, and much more. Printing the little ceramic patterns on glass is a fairly easy and adaptable manufacturing technique, so the options of patterns and designs to implement can stretch as far as the imagination will go. If you're a designer, this means studying options until the end of time.
It took me a just one tower frit study to realize how much of a pain this can be. First, you have to consider what the frit pattern should be. It takes a bit of dusty middle-school math to calculate the proper coverage to get the size and density right. The pattern then must be drafted by hand in CAD, given a proper hatch, and then scaled and applied as a texture map to your 3D geometry.
Middle-school math is my least favorite step in this arduous process so I cut it out by using a script. The two variables I want to be able to control is the percentage of area covered by the frit, and the size of the ceramic dot. The script creates a hexagonal grid of any X / Y dimension you delegate. At the center of each cell, a circle is drawn whose radius is defined by some reverse-engineering based on the percentage of coverage desired.
Since Grasshopper does all of the calculations for me, I can jump straight into texture mapping and visualization. Here's a comparison of 25% coverage on spandrel panels with varying scales of frit:
This is only two of a series of 10 comparisons, but you can start to see how dramatic the same % of coverage can appear by just adjusting the size of the frit. We went with the subtler 1/8 inch diameter frit for this design. Adding a gradient to the pattern a new trend I've been seeing on glass louvers. This one is achieved by setting a domain and range of coverage percentages.
I'll be updating this post soon with the script available for download. Stay tuned!
Using (abusing) Grasshopper 3D for something a little less technical and a little more delicious...