Mathias Ricken Home Bio CV/Resume Curriculum Vitae (pdf) (doc) (txt) (embedded) Resume (pdf) (doc) (txt) (embedded) Archive on A Concurrent Affair Concutest: A Framework for Testing Concurrent Programs Mint: Multi-stage Programming for Java xajavac: Extended Annotations-Enabled javac LAPT-javac: Local Variable-Enabled javac DrJava IDE Programming for Change: The Temperature Calculator Object-Oriented Design Festival Design Patterns for Parsing Assignments for an Objects-First Curriculum Design Patterns for Marine Biology Simulation Geometry Synthesis DrC# IDE Geometry Synthesis by Analogy COMP 410 - Software Engineering Methodology Past Classes Blog A Concurrent Affair My Academia.edu Papers Talks Teaching |
Geometry Synthesis by Analogy
In the summer of 2002, I was doing research with Dr. Joe Warren and some other students at Rice University. I was experimenting with different algorithms for texture synthesis and tried to apply them to isosurfaces to generate new geometry, based on several hand-made source images and a rough sketch of the desired geometry. Some examples of generated textures, with the original image on the left:
Both examples were generated with a 7x7 neighborhood and 3 levels. While it worked very well on the left, the algorithm failed to capture the structure on the right. The neighborhood might have been too small here. Here is an example of an isosurface synthesized from another one. Again, the hand-made source image is at the left. Only the contours are shown:The isosurface on the right was generated with a 9x9 neighborhood, 2 levels and 3 passes at each level. It has twice the resolution of the source image, which is why the the structures appear smaller. While most of the structures actually are connected, this way to generate them cannot guarantee it as long as white noise is used as seed. I am still looking into using other seeds. Interestingly, the current algorithm creates tileable isosurfaces, a fact that might or might not be useful. I was also working on non-wrapping synthesis to remove this feature. The following image series shows how synthesized geometry improves if several passes are run at each level. Here, a 7x7 neighborhood and just one pass was used while the number of passes was varied:
In this example, the smiley face on the left is an isosurface that I drew by hand. The computer then re-generated another smiley face using only diagonal isosurfaces. I also had a spin-off project concerning geometry images. Here, I tried to apply texture synthesis-like techniques to create similar but different shapes. Unfortunately, this project has not yielded any encouraging results yet. The problem was that texture synthesis merely creates new images using the colors from the old image. When it comes to geometry images, the colors are vertex positions, so the algorithm was just recombining old vertices in new nonsensical ways. |
||||
http://www.cs.rice.edu/research/research_geom.shtml Copyright © 2002-2011 by Mathias Ricken. All rights reserved. |