Coffee Cup Generator
The ability for code to generate something random and unique is very exciting, and something that has a lot of potential if included in the design of everyday objects. For this assignment I chose a coffee cup, although any given object could probably lead to exciting explorations using this process. The design of coffee cups and mugs have stagnated as of late, which is a shame as there’s so much potential, given that every mug can be uniquely designed to hold a particular kind of liquid, and be a perfect fit for every unique hand. My hands are slightly larger than normal which makes it tricky to hold my cup, and my french press holds just that little bit more coffee than my cup, which means I can’t get a perfect pour! Although not the biggest problem in the world, the same issue becomes a lot more problematic when it comes to shoe sizes or standardised clothing standards, which can be quite exclusionary.
Design Process
With the aim of generating new cups forms, I looked to the craft of wheel pottery for inspiration. Pottery on the wheel affords for new kinds of organic forms with every creation. The same amount of clay can be used to create cups with different forms yet with the same capacity. To make each cup unique, the shape and form of the cup would be defined by the volume it needed to contain. I also wanted to make the sketch functional, so I added a layer of coffee preparation over it. The sketch would not only design new forms of cups, but also provide the amount of coffee needed for various kinds of coffee preparation.
I started off with some drawings, laying out the various elements of the
sketch, and making a to-do list. The coffee preparation styles were
researched, and the ratio of the coffee to other parts were mapped out
on the vertical axis, and the volume of the coffee itself on the
horizontal axis. I connected the values to the mouseX
and mouseY
, so by
moving the mouse around, I could see how many grams of coffee I would
need to prepare a certain amount of coffee with a specific preparation
style.
The form and size of the cup itself would be set to two parameters: volume of liquid it is to hold, and a random value. The volume would define the size, and a random value would define the form itself. I started off with some basic volume equations, but I soon realised that I would need to solve for cubic equations and quadratic equations if I wanted to create more complex forms. Although the equations were quickly getting complicated, I did create a small prototype with a 3 stage complication.
Click to generate the volumetrically accurate shapeSince the equations were now quite difficult to solve, and some simple assumptions were starting to create uniform shapes, I had to figure out another alternative to create the cups. Till this point in the process, I was quite insistent on creating accurate forms, which would be able to hold the volume defined by the user. Although the forms were simple and predictable, they were accurate, and on lathing would create a volumetrically perfect 3D cup.
I realised that perhaps it wasn’t necessary to create something which is
volumetrically accurate, and something which gives a visual impression
of the same is good enough. Working with curveVertex
driven forms
created uneven shapes, and so I switched to using shapes on Elena’s
advice. I used surface area instead of volume to create the forms, and
so even if the end result wasn’t accurate, it was still relatively
proportional. After some experimentation with shapes, I realised that I
might be better off creating shapes using vertex
, to have finer control
over the forms of the shapes, and a thick stroke to make the shapes look
organic. I visually ‘cheated’ by making the length of the radius on the
rim of the cup the same as the base of the cup, to create predictable
forms which could clearly still be identified as a cup or a mug.
I cleaned up the sketch, and created a simple interface through which the user can define the volume of coffee they wish to drink, and simply click the mouse to generate a new form. I restricted creating new forms to a mouse click so that it is possible to explore all the options before deciding on something they’d like, like a menu. I added an option of taking a screenshot on pressing the ‘s’ key so that they can download their favourite forms along with the coffee preparation style and the amount of coffee needed.
Perhaps in a coffee shop sometime in the future, visitors will walk in, use this interface to place an order, and subsequently be presented with a unique 3D printed mug created out of terracotta with the coffee of their choice!
Reflections
When I first thought of creating generative coffee cups, I had envisioned making wheel pottery esq complex forms, which would adapt to the volume of the coffee. Although I wasn’t able to create something as complicated, I’m happier with the forms that are currently being generated. The forms are simpler, but they look like they could be made, and are comfortable to hold as well. This is especially true for the smaller forms, as the complications lead to very interesting forms, of which some look particularly appealing to drink out of. The different kinds of forms also question the way we currently hold our cups. I’ve never found handles to be easy to hold on to, with mugs always being easier and more intuitive to grasp. Some mugs are to be held from the bottom, and some from the top, which could be a function of the temperature of the liquid it holds. It’s also interesting to note how the size of the rim affects which sort of liquids the cup is used for. Cups with smaller rims are preferred for liquids which need to be consumed slowly, in sips, whereas cups with wider rims are better for liquids which can be consumed quickly, such as water, or to be used for pouring.
Forms with more fidelity, or points to play around with would lead to greater control over the final result, and possibly generate a larger variation of cups. I started out with trying to create more variations of cup designs, but I didn’t quite anticipate the range of outcomes from a very small set of points to play around with. Some of the forms evoked questions of the function of the cup, which I never anticipated!