From the MC package description:
----------------- This version of CCPainter contains a partially successful test of a different method of "plumping" a 2D drawing into a 3D object. ** For a more stable CCPainter, use either an older or newer version. ** ----------------- The method of inflation that was tested here is based on building a "neighbor map" by accumulating successive increasingly offset BitBlt copies of a mask of the 2D drawing, and then using a form of "marching squares" to build a mesh from this heightmap. This approach basically works, but is less than an exciting breakthrough. Here are some initial observations: 1. The speed of the process is relatively stable, partially because of the way that the marching squares algorithm was done. I believe subjectively that the marching squares part of the process is the most time consuming part. 2. The result is less than great because I did not (yet) eliminate flat background portions of the mesh nor knit together openings along the edges. 3. The result looks more like embossing than rounded inflating. 4. Smaller details may not be picked up in the heightmap because of the increment of the marching squares. 5. I believe the process to be relatively bulletproof in terms of lack of failures because of unusual input drawings. I could be wrong. Please let me know if you have any ideas or suggestions for improving on this process. Otherwise, I will probably just file it away. |
Got any pictures of the results?
Cheers, - Andreas David Faught wrote: >> From the MC package description: > ----------------- > This version of CCPainter contains a partially successful test of a > different method of "plumping" a 2D drawing into a 3D object. > > ** For a more stable CCPainter, use either an older or newer version. ** > ----------------- > > The method of inflation that was tested here is based on building a > "neighbor map" by accumulating successive increasingly offset BitBlt > copies of a mask of the 2D drawing, and then using a form of "marching > squares" to build a mesh from this heightmap. > > This approach basically works, but is less than an exciting > breakthrough. Here are some initial observations: > > 1. The speed of the process is relatively stable, partially because of > the way that the marching squares algorithm was done. I believe > subjectively that the marching squares part of the process is the most > time consuming part. > > 2. The result is less than great because I did not (yet) eliminate > flat background portions of the mesh nor knit together openings along > the edges. > > 3. The result looks more like embossing than rounded inflating. > > 4. Smaller details may not be picked up in the heightmap because of > the increment of the marching squares. > > 5. I believe the process to be relatively bulletproof in terms of > lack of failures because of unusual input drawings. I could be wrong. > > Please let me know if you have any ideas or suggestions for improving > on this process. Otherwise, I will probably just file it away. > > |
In reply to this post by David Faught
Okay, here is a picture of a really simple drawing.
On 9/20/06, Andreas Raab <[hidden email]> wrote: > Got any pictures of the results? > > Cheers, > - Andreas > > David Faught wrote: > >> From the MC package description: > > ----------------- > > This version of CCPainter contains a partially successful test of a > > different method of "plumping" a 2D drawing into a 3D object. > > > > ** For a more stable CCPainter, use either an older or newer version. ** > > ----------------- > > > > The method of inflation that was tested here is based on building a > > "neighbor map" by accumulating successive increasingly offset BitBlt > > copies of a mask of the 2D drawing, and then using a form of "marching > > squares" to build a mesh from this heightmap. > > > > This approach basically works, but is less than an exciting > > breakthrough. Here are some initial observations: > > > > 1. The speed of the process is relatively stable, partially because of > > the way that the marching squares algorithm was done. I believe > > subjectively that the marching squares part of the process is the most > > time consuming part. > > > > 2. The result is less than great because I did not (yet) eliminate > > flat background portions of the mesh nor knit together openings along > > the edges. > > > > 3. The result looks more like embossing than rounded inflating. > > > > 4. Smaller details may not be picked up in the heightmap because of > > the increment of the marching squares. > > > > 5. I believe the process to be relatively bulletproof in terms of > > lack of failures because of unusual input drawings. I could be wrong. > > > > Please let me know if you have any ideas or suggestions for improving > > on this process. Otherwise, I will probably just file it away. > > > > > SnapShot.png (59K) Download Attachment |
In reply to this post by David Faught
Now I have added the zero-height face elimination and the marching
squares are more obvious around the edges. I may someday rewrite the method used to allow for interpolation and smooth the jaggies. Some timings showed that, contrary to my feeling, making the neighbor map takes most of the time. The MessageTally results are a little hard to interpret in this case because somehow they don't pick up the actual copybits that gets run 252 times. ScreenShot001.png (60K) Download Attachment |
Free forum by Nabble | Edit this page |