Previous | Next --- Slide 31 of 36
Back to Lecture Thumbnails

Do graphics packages usually have options between the 3 (or more) representations? Will there ever be a need to convert between the representations?


I'm not sure I understand how the matrix gives constant time lookups for the neighborhood. We can of course get the row/column in constant time, but then we have a bit vector, not a list of vertices/edges. Why do we not have to iterate over that bit vector?


If the initial purpose of the application is unknown, how do we decide which representation to default to? Like if we don't know whether it will be a relatively static application or application with frequently changing geometry


What would be a reason to use an adjacency list over an incidence matrix? Based on the comparison table, the latter looks strictly better. Would it take up less space, or be better if there were less elements?


Have there been instances of selecting a data structure that is sub optimal and having that choice matter?


How difficult and common is it to convert between representations?


In practice, how often do we need to use a data structure that enables us to encode nonmanifold geometry. It seems as though this would occur quite often in real life? Are any of the alternatives to half-edge you described on a previous slide allow for it?


I guess there should be some declarative graphics language support for automatically selecting a correct representation, e.g. ones that are good for parallel processing. Is OpenGL one of them? Do we often need programmer annotations of the certain properties of the shapes? I guess if the programmer declare a shape with explicit definition, the language can easily perform the bevels, edge collapse or other operations for them. Saving lots of manual troubles.


Would we ever choose to use an adjacency matrix? I don't see any advantage over incidence matrices.


In practice, how often do we see adjacency list or incidence matrix being applied to draw geometry?