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 (36)
zsano1

I don't understand how 1/8 and 1-n*u are calculated and what are they representing. Can somebody explain?

moridin22

The two pictures correspond to two different cases. On the left, we are trying to figure out the positions of the new vertices that loop subdivision creates. In order to get the position of the new vertex, we take a weighted sum of the four surrounding vertices as shown, using the given weights. For this class, we are just taking the weights as magic numbers, so you don't have to worry too much about where they come from. In the picture on the right, we are trying to figure out how to update the positions of the already-existing vertices. For that case, we take a weighted sum of the surrounding vertices and the original vertex, again with the given weights.

RichardChen9

I'm assuming we calculate the new vertex positions before updating the old vertices

wangcynthia

Would like confirmation of RichardChen9's assumption! I thought we would update the existing vertices before calculating the new vertex positions or else the new vertex positions would be based off some old positions that we aren't using anymore

x-fa19

I also agree that it makes sense to calculate the new vertices' positions before updating the old vertices. I was also rather confused by the calculation of new vertex positions at first, and I think that the slides here also provide a good breakdown of the subdivision algorithm: http://www.cs.cmu.edu/afs/cs/academic/class/15462-s14/www/lec_slides/Subdivision.pdf

hershg

An additional note, the bottom left image shows how to recompute vertex positions for the new ('white' midpoint) vertices created (based on the four surrounding 'black' original point vertices). The bottom right image shows how to recompute vertex for the original ('black') vertices (based on the degree n surrounding 'black' original vertices).

With loop subdivision we have two different update rules for these two different classes of vertices

michaeltu1

I get why we're trying to "subdivide" and generate new points, but what benefit do we get from recomputing the old vertex points?

michaeltu1

Never mind, I figured it out by reading the project two project spec. Check out part 6 for a more in-depth walkthrough

go-lauren

I'm a little confused here about what is the point of assigning new vertex positions according to weight, or rather what it means sort of geometrically. On the left hand diagram, why is there a need to assign weight coming from the vertices that are not endpoints? Does this calculation always guarantee that the vertex remains on the edge? In the right diagram, why is that white point a new vertex? Perhaps I'm just confused because the diagrams are made of all regular polygons.

afang-story

I believe you need to assign weight from the non-endpoint vertices because some of the new triangles being formed depend on them.

john-b-yang

Thanks @x-fa19 for the slides! I had a quick clarification question. I'm really not understanding what the dotted lines in the bottom diagrams are. I can guess that these dotted lines delineate how we split existing triangles into four. Are these triangles created by performing the split, then flip operations? Also, how does 3/16 if n=3 work? Shouldn't it be 3/(8 * 3) = 1/8, not 3/16? Or is it more like a piecewise function where 3/16 if n=3 is a special case?

avinashnandakumar

I understand that we need to update the new vertices position, but where are we getting these seemingly arbitrary weights from? And how would these weights change if we are splitting on boundary edges? I implemented the formula on the project but am still failing to understand the geometric intuition behind this.

zchickenwang

Tried to understand where he got the weights from in the original paper:

https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/thesis-10.pdf

Seems a little vague, maybe from Catmull-Clark's subdivision algebra.

You must be enrolled in the course to comment