You are viewing the course site for a past offering of this course. The current offering may be found here.
Lecture 8: Meshes and Geometry Processing (48)
jeromylui

I'm not sure what the point of the bottom formula is for calculating the vertex point. Is there a reason that we can't calculate the vertex point similarly to how we calculated the face point above, given that we have access the vertex locations for each of the four corners?

moridin22

I think this is like how we have to recalculate positions of old points in loop subdivision in a special way to get our smoothness properties - something about this special formula makes it so that the surface becomes smooth. Also, in this particular case, if we just took the average of the four faces' positions, then the vertex v would end up in the same "plane" (it's not actually always a plane) as the four faces, so it would essentially have the effect of squashing down the vertex v completely.

RichardChen9

Is the vertex point formula somehow derived from the two above formulas, or is it separate?

hershg

For the bottom vertex point formula, instead of something simple as in the above equations, we have a more complicated relation. This appears to be a kind of "weighted average" of points. We have 3 classes of points:

  • Class 1: Face points (4 of these) with weight 1

  • Class 2: Midpoint points (4 of these) with weight 2

  • Class 3: Original vertex point with weight 4

And we take this 'weighted' average. I believe this weighting has to do with smoothness, as mentioned in previous comments, but unsure.

go-lauren

I think it's interesting that updating vertices in the Catmull-Clark Subdivision also weights the new vertices created when updating old vertices, while the Loop Subdivision only uses original weights to update the position of old vertices.

Also, I think this https://computergraphics.stackexchange.com/questions/4715/where-do-the-coefficients-in-the-catmull-clark-subdivision-algorithm-come-from is helpful in understanding where the weights used in calculating v are derived from.

hershg

in what order do we run this algorithm? if we update f points based on old v points vs new v points, we'd get different results. At the same time, new v points are dependent on f points - these could either be old or new. I believe everything is with respect to old values (and then we update everything all at once), is this the correct understanding?

You must be enrolled in the course to comment