Impossible Objects

Functional object modeling on the web

Impossible Objects is a project I am working on to make use of the flexibility of form that digital fabrication that provides. Custom form generation based on user input is lagging behind the hardware capabilities of modern 3D printers. A major problem in the automatic generation of forms is that the final object still must be usable as whatever it is that the user desires. Impossible objects is an attempt at providing the ability to customize 3d printable models using user input without sacrificing the integrity of the final part.

I achieve this by using a technique of form modeling called functional object modeling in which a form is represented by a single function where all points whose value is less than or equal to 0 are inside or on the surface of the form. Using functional object modeling allows an easy translation between user data and a 3D form. In order to provide a customization interface, the modeling backend accepts some user data, say a voice wave, and combines that with a template model to yield a final result.

As a simple proof of concept, I chose to work with vases which are modified by user voice input (currently subbed in by a sine wave). The representation of a vase as set of combined functions is straight forward. The wave is captured from the user and translated into ribs along the side of the vase. Below you see an example output mesh after triangulating the mesh using a sine wave as an example user input.

Mesh generated by the modeling backend and displayed to the user in a browser. A base template, a straight walled vase, is perterbed using the wave form to yield the final result.