Newest CCPainter underinflated

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Newest CCPainter underinflated

David Faught
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.

Reply | Threaded
Open this post in threaded view
|

Re: Newest CCPainter underinflated

Andreas.Raab
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.
>
>

Reply | Threaded
Open this post in threaded view
|

Re: Newest CCPainter underinflated

David Faught
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
Reply | Threaded
Open this post in threaded view
|

Re: Newest CCPainter underinflated

David Faught
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