Does the "direction" of the half edges that form a face matter? (like clockwise vs counter clockwise)
motoole2
As long as it is consistent throughout the mesh, the halfedges can be oriented in either clockwise or counterclockwise directions! But it cannot be both; this is because the twin of a halfedge always points in the opposite direction, resulting in the halfedges of two adjacent faces being oriented in the same way.
Now this raises a potential problem. A mobius strip is a manifold, but its geometry cannot be represented with our halfedge data structure. This is because the surface of a mobius strip is non-orientable; that is, it is not possible to encode all halfedges in a clockwise (or counter-clockwise) orientation. So there's a second restriction for the halfedge data structure not discussed in these slides: it only applies to orientable surfaces (i.e., surfaces where all faces can be represented using a consistent orientation).
Note that there are other geometric data structures capable of supporting non-orientable surfaces as well, to get rid of these restrictions. We discussed a few alternate representations at the end of the lecture.
Also, I found this blog post that provides a useful discuss of halfedge meshes.
Does the "direction" of the half edges that form a face matter? (like clockwise vs counter clockwise)
As long as it is consistent throughout the mesh, the halfedges can be oriented in either clockwise or counterclockwise directions! But it cannot be both; this is because the twin of a halfedge always points in the opposite direction, resulting in the halfedges of two adjacent faces being oriented in the same way.
Now this raises a potential problem. A mobius strip is a manifold, but its geometry cannot be represented with our halfedge data structure. This is because the surface of a mobius strip is non-orientable; that is, it is not possible to encode all halfedges in a clockwise (or counter-clockwise) orientation. So there's a second restriction for the halfedge data structure not discussed in these slides: it only applies to orientable surfaces (i.e., surfaces where all faces can be represented using a consistent orientation).
Note that there are other geometric data structures capable of supporting non-orientable surfaces as well, to get rid of these restrictions. We discussed a few alternate representations at the end of the lecture.
Also, I found this blog post that provides a useful discuss of halfedge meshes.