Kenneth H. Perlin is a professor in the Department of Computer Science at New York University. As a young scientist and university teacher in the late seventies, he got fascinated by the emerging fields of computer graphics and animation. Ken was then working at the Mathematical Applications Group Inc. (MAGI).
MAGI was one of the companies that was hired in 1981 by Walt Disney to create a part of the computer animations of the film Tron (1982). MAGI, previously specialized in evaluating nuclear radiation exposure, formed a new division called MAGI/SynthaVision (1972). The 3D animation software system SynthaVision developed by the company was, for that time, a fast and easy to use animation system, but not capable of designing and rendering complex forms. For that reason the models designed for Tron were based on simple geometric shapes.
Frustrated by these limitations, Ken Perlin started developing and experimenting with the mathematics behind noise systems. This finally led to the development of the source code of what is now called Perlin noise (1983). What makes Perlin noise different from random noise is that it looks more organic and natural, and therefore is a good system to simulate organic textures and shapes like rocks, smoke and water.
In 1996, Perlin was awarded an Academy Award for Technical Achievement for creating the algorithm.
Here you can find the original source code posted by Ken Perlin
The shape of this cup can be endlessly randomized. Add Perlin noise deformation or extra deform zones to change the shape even more and give it an organic touch. If you like it, download it, materialize it and let it exist in the physical world. As your new coffee cup. Feel free to play around with it!
- Add zone: add a deformation zone and change its size. Hold the left mouse button to drag the cube and change its size. Use the shift key and left mouse button to change height.
- Remove zone: remove the zone added last.
- New shape: randomize the shape of the cup.
- Resolution: randomize the resolution of the cup.
- Freeze/Unfreeze: (un)freeze the noise.
- Handles on/off: (de-)activate the handles.
- Download: download the STL model of the current state.
- Noise cylinder: Left click the mouse on the noise cylinder to place it over the cup. Move the mouse (with the left mouse button held down) from left to right to increase or reduce the noise.
- Zoom: Move the mouse scroll wheel up or down, or on most laptops, move two fingers on the trackpad.
- Rotate: Hold right mouse button and move. On a laptop (mac) click and hold two fingers on the trackpad and move around; and for pc, hold the right trackpad button and move around on the trackpad.
- When the cup appears very small in your 3D slicer application scale the cup with factor ten.
- For a low poly cup, the polygons can intersect when Perlin deformation is active. This can cause holes in the cup after slicing.
Please share your experience with us by filling out a short questionnaire. It takes about 7 minutes. Thank you in advance!