I initially wanted to make a tool that generates characters in various forms, learning how to use different libraries such as toxiclibs and controlP5. My project, however, is slightly different, but still involves my original idea of generating some sort of shapes.
My obsession with food led me to the start of the this project. I made a ‘Pasta Generator’, which is a tool to generate customized shapes of pasta from the given templates of regular pasta shapes. I found a book ‘Pasta by Design’ by George L. Legendre, who used a mathematical software to explore the geometry behind the shapes of pasta and come up with parametric equations that form many (92 to be exact) shapes of pasta. I thought it would be interesting to see how far the shapes can be altered for them to be eatable. Upon reading this book, I learned that a lot of the shapes are based on very similar equations. Changing different parameters such as the magnitude or the period of sinusoidal functions can change the look of certain 3D shapes. For this project, I took advantage of the fact, and incorporated controlP5 library to alter the parameters of each design. I have found that the basic pasta shapes can be generated into something that look very interesting.
The parametric equations given in the ‘Pasta by Design’ book have a lot of unnecessary hard-coded numbers and calculations that can be further simplified. When I first ran the equations in Processing, it was taking too much memory. So I used Matlab to plot them out first to see if they make the shapes I want. I then went back to Processing, took out unnecessary parts and simplified the equations, and used controlP5 to play around with the shapes.
I could have used PeasyCam library to rotate the 3D shapes, but it is not yet working with the current version of Processing. Instead, I used the mouse position to rotate, but it got a little chaotic when I also used the mouse to change the parameters on the sliders. I decided to try oscP5 library to connect the touchOSC app on my iPhone to rotate the shapes, which turned out great.
- To initialize each parameter according to each specific shape on the list.
- To save and reset the shapes.
- To create shapes that look more realistic (learn how to render 3D shapes).
- To 3D print some of the customized designs.