Jump to content

Harmonic Coordinates


Recommended Posts

Already had a quick look at this. And I must admit I found it a little confusing. I basically understand what they are doing but I'm a bit hazy on the details I'm afraid. So I'm with you, if anyone can nail down exactly what they are doing I'd be very interested too. :)

As far as I can tell the implimentation is very simple, so simple, that I can't help feeling I'm missing the point somehow. It seems like all they do is compute barycentric coordinates for all cells on the boundary and there just recursively blur them until they don't change anymore.

If anyone can confirm that is all they are doing.... it does seem like it would take a lot of memory to do this.

The bit I'm confused about is that they only talk about storing one value at each cell plus a tag. The way I'm looking at it they need to store C values where C is the number of cage points..

Link to comment
Share on other sites

Looks really nice!  Wonder if someone who is good at math should take a look.. (Simon? Mario?)

Yeah, I saw that too, and I agree it looks *very* interesting.

But Simon's waaaay ahead of me since I haven't even read the paper yet :o

... must... find... more... time...

Maybe E.d.w.a.r.d. feels inclined to dissect? (or maybe George?.. Ivan?... Bueller?... Anyone?).

P.S: Just about the only point that stuck with me after watching the video, besides being impressed, was that they define distance as measured inside the cage (as opposed to L2 distance used in Mean-Value coords). Could this be the source of the looping you're talking about, Simon? Some kind of random walk or relaxation?

Could a Kd-tree be built with this distance metric?

Link to comment
Share on other sites

At one point in the paper they very clearly layout the steps that they use to do the calculation, and that part seems very simple they are basically diffusing the calculation at the boundary (which is well defined and reduces to barycentric corrdinates) into the rest of the volume. This seems to be done by a very simple recursive blurring of the six neighbouring cells. Sum the six cells and divide by 6. As I mentioned above the only thing that is confusing is that they talk about one value per cell.... but I just can't see how that relates to the final result which will be a number of weights per cell relating to the cage vertices just as the mean value coordinate does. So I can only think they mean of value per vertex per cell.

On a side note they say this is way quicker than the mean value calculation but if you did MVC the same way on a grid it would be quicker...

However I do like the fact that only vertices "visible" to the point get used in the final weighting. And that you can add interior points which was always a bit of a limitation with MVC.

I'm probably going to resurrect the "sparsification" of the MVC sop and add an error vector to correct for the error introduced when you remove weights below a threshold. Then if I get some time I might try out this harmonic coordinate system.

Daniel if you try this and get it to work can you post to say how it works? I realise you probably won't be able to post the code but just knowing if I have the theory correct would be cool.

Link to comment
Share on other sites

Daniel if you try this and get it to work can you post to say how it works? I realise you probably won't be able to post the code but just knowing if I have the theory correct would be cool.

28087[/snapback]

Yup, if I find the time to dig deeper I will certainly share what I've learned. Definatly seems like the voxalization allows it to work (and also introduces a lot of error)

Bind time on the mean val method can be very slow.. Once you try it on a realworld char that part really bogs down (though deform times are fast once you store the weights) being able to define interior influence points is pretty slick

Cool stuff.. Seems like everything comes down to voxels these days.

Link to comment
Share on other sites

  • 2 years later...

Anyone who comes this way should probably check out this instead.... it has most of the benefits of harmonic coordinates, positive inside the capture cage, supports nested cages, but is numerically more accurate and doesn't require storing a huge grid of values.

PGMVC

Edited by sibarrick
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...