2D23D was created in order to give anybody the ability to create three dimensional objects. The objects created can be for any kind of purpose, it was initially created for the creation of jewlry.
Not a lot of people have technical knowledge to create 3-dimensional objects with one of the popular 3d modelling softwares available (Blender, 3DS Max, Autocad, Alibre Design, Rhino etc). I wanted to provide and easy access to this world to people with a different mindset about the things to create. Since a lot of the 3d modelling is influenced by the way it’s created with one of those above mentioned 3d modelling programs they have something alike to them. 2D23D is supposed to channel peoples understanding of objects by having an approach to it they are used to from the way they usually work and enable them to create 3D objects in a more natural way by using pen and paper.
The next paragraph will explain the technical side of the project, stating the necessary steps.
The application is implemented with the support of processing.org.
1. Camera input. This is what makes it the most interesting. This makes it possible to aim at a sheet of paper with a drawing. This can be toggled with Video / Still image input.
2. This input is processed via basic computer vision. The image is turned into a grayscale image and thresholded via a GLSL shader.
3. This binary image is furthermore blurred. The grayscale values of each pixel are used to determine the height of the object. Blurring the image turns the edges of the b/w image into a smooth transition from black to white and thus turns it from a binary to a grayscale image again.
4. At this step the processing of the image input is done. At this stage you can either select a ROI ( Region of interest ) within the image or use the entire image. This is used for the creation of the mesh.
5. Now it’s time for the transformation. Within a volumetric space so called meta-balls ( http://en.wikipedia.org/wiki/Metaballs ) are placed at the positions of the pixel with the size determined by the value of the pixel (255/white → big ball, 0/black → small ball).
6. Eventually the mesh is done and ready for any kind of post-processing, rendering or printing.
7. One advantage of this method is that the modell is instantly ready for printing, since the metaball approach has the attribute of being free from holes, which are a no-go for every 3d-printer.
Here’s a short WIP video of the prototype: