The problem with mean value coordinates is that they're negative with
concave cages,
and harmonic coordinates more complex and slower to generate.
I already implemented this paper in ICE:
http://www.wisdom.weizmann.ac.il/~ylipman/pmvc/pmvc.htm
The result is pretty closed to harmonic coordinates, and you dont need a
static cage as reference. This mean that you can tweak
the enveloped cage in pose and see the result on the deformed object.
I was thinking to release it for free at some point, so this might be the
occasion, and could eventually save you a few days.
I'll try to put it somewhere on the web it this weekend.

Cheers.

-----------------------------------------------
Ahmidou Lyazidi
Director | TD | CG artist
http://vimeo.com/ahmidou/videos
http://www.cappuccino-films.com


2013/12/13 Ben Houston <b...@exocortex.com>

> Turns out mean value coordinates on closed polygon meshes to do
> deformation was already done:
>
> http://www.cs.rice.edu/~jwarren/papers/meanvalue.pdf
>
> -ben
>
>
>
> On Thu, Dec 12, 2013 at 9:45 AM, Ben Houston <b...@exocortex.com> wrote:
>
>> I guess you are referring to this...
>>
>> http://graphics.pixar.com/library/HarmonicCoordinates/paper.pdf
>>
>> The scan conversion bit with the laplacian solver seems like a lot of
>> work.
>>
>> There is the idea of mean value coordinate systems which may allow for a
>> smooth interpolant across the arbitrary convex polygons without the
>> laplacian solve (I am suggesting you can combine this with some of the
>> principles of the above paper):
>>
>>
>> http://morphoxx.googlecode.com/svn/trunk/Biblio/Mean%20Value%20Coordinates%20for%20Arbitrary%20Planar%20Polygons.pdf
>>
>> Not sure if there is quality issues with it that I don't know about.  You
>> probably don't want to be doing novel research on a tight deadline.
>>
>>
>>
>> On Thu, Dec 12, 2013 at 8:55 AM, Alok Gandhi 
>> <alok.gandhi2...@gmail.com>wrote:
>>
>>> Thanks Ben. That is some good info. I was thinking more along
>>>  implementing the Harmonic Coordinates approach. I think Pixar had some
>>> papers on it.
>>>
>>> Sent from my iPhone
>>>
>>> On Dec 11, 2013, at 10:50 PM, Ben Houston <b...@exocortex.com> wrote:
>>>
>>> My knowledge is out of date, but off the top of my head....
>>>
>>> Cage deformers are often written using a cubic interpolant rather than
>>> affine ones.  If you use a grid cage you can use Bezier Volumes, which are
>>> just a generalization of
>>> https://en.wikipedia.org/wiki/B%C3%A9zier_surface.  If you are using a
>>> regular grid, you can just take 3D coordinates relative to each grid.  If
>>> you use a tetrahedral mesh, you can use generalization of the Cubic
>>> Triangle for deformation:
>>> https://en.wikipedia.org/wiki/B%C3%A9zier_triangle and then you need to
>>> use barycentric coordinates to get a relative spatial relationship.
>>>
>>> So I think yes, barycentric coordinates within a space filling
>>> discretization of space, either a grid or a tetrahedralization with a cubic
>>> interpolate as you start to deform them.
>>>
>>> I implemented the grid-based deformation with cubic volumes and got this
>>> result:
>>>
>>> http://www.exocortex.org/ben_software/hd-ffd.zip
>>>
>>> I have also implemented the tetrahedral-based discretization with
>>> Christopher Batty to deform a high resolution object to follow the path of
>>> a low resolution object to really good success.  The only issue is that
>>> tetrahedral meshes suck to create and maintain efficiently.  It is the
>>> bunny getting crushed in the gears at the end of this video -- the actual
>>> simulation bunny was super low res, but we uprezed it for rendering:
>>> http://vimeo.com/874168
>>>
>>> Best regards,
>>> -ben
>>>
>>>
>>>
>>> On Wed, Dec 11, 2013 at 5:09 PM, Alok Gandhi 
>>> <alok.gandhi2...@gmail.com>wrote:
>>>
>>>> Hi All,
>>>>
>>>> Very soon, I am starting on my own generic custom cage deformer. A mix
>>>> of C++/Cython/Python.
>>>>
>>>> I am thinking of implementing fast calculations on barycentric
>>>> coordinates with affine transformations. I have some good papers (in my
>>>> treasure trove but haven't checked it yet).
>>>>
>>>> Anyone suggest a different approach other than barycentring coordinates.
>>>>
>>>> The reason I will be writing this is for (proof of concept / prototype
>>>> for now) is to be able to get point cache data from a low res geometry and
>>>> then use this outside of an DCC to convert to high res deformations.
>>>>
>>>> This ways existing animation pipelines which have to rely on switching
>>>> to higher resolutions before caching out do not have to do so. Simply
>>>> export out point caches (alembic, pc2, mdd, bgeo, icecache etc.) and then
>>>> apply this to a high res point data outside of any DCC as post process,
>>>> even on farms from command line for example.
>>>>
>>>> --
>>>>
>>>
>>>
>>>
>>> --
>>> Best regards,
>>> Ben Houston
>>> Voice: 613-762-4113 Skype: ben.exocortex Twitter: @exocortexcom
>>> http://Clara.io - Professional-Grade WebGL-based 3D Content Creation
>>>
>>>
>>
>>
>> --
>> Best regards,
>> Ben Houston
>> Voice: 613-762-4113 Skype: ben.exocortex Twitter: @exocortexcom
>> http://Clara.io - Professional-Grade WebGL-based 3D Content Creation
>>
>
>
>
> --
> Best regards,
> Ben Houston
> Voice: 613-762-4113 Skype: ben.exocortex Twitter: @exocortexcom
> http://Clara.io - Professional-Grade WebGL-based 3D Content Creation
>

Reply via email to