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 (21)
peterqiu1997

Could someone explain how this is counter-clockwise? Wouldn't t[0] be clockwise from t->v[0] and t[1] be counter-clockwise? Thanks :)

zehric

Think of the pivot point as being at t->v[0]. Then, rotate the triangle counter clockwise and you'll get t[0]

Michael-hsiu

Not sure if this is correct, but if the triangle is represented by (v[0], v[1], v[2]), then in this example an iterator over those vertices would geometrically be counterclockwise. So normally you would iterate from v[0], to v[1], to v[2]; counterclockwise would be from from v[0], to v[2], to v[1]. So then v[2] is the next vertex visited and t[0] is the triangle represented by v[0] and v[2]. Feel free to correct/verify this.

randyfan

I found it interesting that the triangle-neighbor data structure does not necessarily have a worse asymptotic complexity relative to the half-edge data structure. For example, suppose there are n triangles surrounding a vertex. If we are trying to estimate the average position of the v vertices, the triangle-neighbor data structure is O(n) because we will need to traverse through the n triangles surrounding the shared vertex. This is the exact same run time as the half-edge data structure, which similarly needs to traverse through its n neighbors, O(n). However, using the triangle-neighbor data structure could get messy because we need to track many variables (all the neighbors) for each structure.

You must be enrolled in the course to comment