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 <[email protected]>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

Reply via email to