TPainter inflation method

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

TPainter inflation method

David Faught
I've been re-reading Takeo Igarashi's SigGraph 1999 paper on Teddy
where he describes the inflation method that TPainter 's is based on.
TPainter uses a slightly different approach, making use of the outline
of a finished 2D drawing as opposed to Teddy using paint strokes, but
the actual inflation method looks similar.

After reading through this a couple of times, it seems to me that a
potentially simpler and quicker method might be to build a heightmap
by accumulating successive logical ANDs of increasingly offset BitBlts
of the original image, so that heightmap pixels with the greatest
planar distance to the edges of the original image would accumulate
the highest values.  This would take a number of BitBlt's to
accomplish, but the offset of each pass could possibly be increased
more quickly to reduce the number of passes.  Once the heightmap was
built, it would then be interpreted into a triangular mesh (somehow)
and textured with the original drawing.

This is probably not an original thought, has anyone seen this kind of
thing implemented somewhere else?

Reply | Threaded
Open this post in threaded view
|

Re: TPainter inflation method

Andreas.Raab
David Faught wrote:
> I've been re-reading Takeo Igarashi's SigGraph 1999 paper on Teddy
> where he describes the inflation method that TPainter 's is based on.
> TPainter uses a slightly different approach, making use of the outline
> of a finished 2D drawing as opposed to Teddy using paint strokes, but
> the actual inflation method looks similar.

It is the same.

> After reading through this a couple of times, it seems to me that a
> potentially simpler and quicker method might be to build a heightmap
> by accumulating successive logical ANDs of increasingly offset BitBlts
> of the original image, so that heightmap pixels with the greatest
> planar distance to the edges of the original image would accumulate
> the highest values.  This would take a number of BitBlt's to
> accomplish, but the offset of each pass could possibly be increased
> more quickly to reduce the number of passes.  Once the heightmap was
> built, it would then be interpreted into a triangular mesh (somehow)
> and textured with the original drawing.
>
> This is probably not an original thought, has anyone seen this kind of
> thing implemented somewhere else?

Only indirectly. I have seen (what I would call) a "dual" version of
this algorithm for thinning and skeleton generation but not exactly what
you're describing. It would be interesting to see if that has better
performance characteristics than the current algorithm or if it has
other advantages.

Cheers,
   - Andreas


Reply | Threaded
Open this post in threaded view
|

Re: TPainter inflation method

Bert Freudenberg-3
In reply to this post by David Faught
Am 12.07.2006 um 07:17 schrieb Andreas Raab:

> David Faught wrote:
>> I've been re-reading Takeo Igarashi's SigGraph 1999 paper on Teddy
>> where he describes the inflation method that TPainter 's is based on.
>> TPainter uses a slightly different approach, making use of the  
>> outline
>> of a finished 2D drawing as opposed to Teddy using paint strokes, but
>> the actual inflation method looks similar.
>
> It is the same.
>
>> After reading through this a couple of times, it seems to me that a
>> potentially simpler and quicker method might be to build a heightmap
>> by accumulating successive logical ANDs of increasingly offset  
>> BitBlts
>> of the original image, so that heightmap pixels with the greatest
>> planar distance to the edges of the original image would accumulate
>> the highest values.  This would take a number of BitBlt's to
>> accomplish, but the offset of each pass could possibly be increased
>> more quickly to reduce the number of passes.  Once the heightmap was
>> built, it would then be interpreted into a triangular mesh (somehow)
>> and textured with the original drawing.
>> This is probably not an original thought, has anyone seen this  
>> kind of
>> thing implemented somewhere else?
>
> Only indirectly. I have seen (what I would call) a "dual" version  
> of this algorithm for thinning and skeleton generation but not  
> exactly what you're describing. It would be interesting to see if  
> that has better performance characteristics than the current  
> algorithm or if it has other advantages.

I remember a paper about giving a 3D look to 2D cartoon characters  
that might work similarly:

        Scott F. Johnston: "Lumo: Illumination for Cel Animation"
        in Proceedings of Second International Symposium on Non  
Photorealistic Animation and Rendering (NPAR 2002)

               A method is presented to approximate lighting on 2D  
drawings. The
               specific problem solved is the incorporation of 2D cel  
animation
               into live-action scenes, augmenting the existing  
method of drawn
               "rims and tones" with subtle environmental  
illumination. The
               image-based tools developed to solve the problem have  
both
               photorealistic and non-photorealistic applications.

I think it does not actually build  a 3D mesh but IIRC it used image  
processing to create a height field.

- Bert -