Sign in to follow this  

Could someone explain how this equation to calculate weights for control points works?

Recommended Posts

In my project, I want to deform a complex mesh based on a much simpler proxy mesh. For this, I need to skin my complex mesh so that each vertex is affected by one or more control points on the proxy mesh and will transform linearly with them.

This paper - [url=""]http://ivizlab.sfu.c...PEG-4 Faces.pdf[/url] - Feature Point Based Deformation for MPEG-4 Facial Animation, describes on pages 4 and 5 how to do what I want, I believe.

If I am understanding it right, that algorithm finds the closest control point for a vertex, then the two that flank that vertex. The weight for each control point (Feature Point in the paper) is proportional to the distance to each of these points, relative to the others.
Therefore, the weights sum should be 1 and the vertex will move with the plane defined by the control points.

There are a couple of things I do not understand though:

1.[b] In equation (2), what are d12 and d13[/b], these are not defined in figure (1). Are they equivalent to d2 and d3? Or d1 - d2, d1 - d3?

2. [b]When you have the inverted proportional distance, what is the purpose of taking the Sine of it[/b]? (Equation (4))

Finally, in equation (5) on page (6), why is the deformation of the vertex calculated in that way? [b]Why is the displacement not simply[/b]:

SUM( controlpoint_0_displacement * controlpoint_0_weight, ..., controlpoint_n_displacement * controlpoint_n_weight )

Could anyone who knows whats going on explain? Thanks!

Share this post

Link to post
Share on other sites
1. From the previous page: "The surface distances of the vertex from these feature points are respectively d_{1P}, d_{12} and d_{13} as shown in the figure."

I'll read the paper to see if I can answer the others, but I haven't any prior experience of this.

Share this post

Link to post
Share on other sites
Hi TheUnbeliever,

Thank you! I don't know how I read that as d1, d2 and d3 the first time round. (I still think they are very obscurely named variables!)

It is somewhat clearer what is happening. As I see it now, when the sum of the distances is calculated each distance is actually weighted by the angle of that point to the 'main point'. This would be so that when a vertex lies close to the vector between two control points, the third points influence is reduced, as the technical distance may be close but the practical deformation is controlled by the control points at either side right?

Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this