Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Polygon mesh
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
== Summary of mesh representation == {|class="wikitable" style="margin:auto;" |- !colspan=2|Operation !Vertex-vertex !Face-vertex !Winged-edge !Render dynamic |- |align=center|V-V |align=center|All vertices around vertex |align=center|Explicit |align=center|j β f1, f2, f3, ... β v1, v2, v3, ... |align=center|V β e1, e2, e3, ... β v1, v2, v3, ... |align=center|V β e1, e2, e3, ... β v1, v2, v3, ... |- |align=center|E-F |align=center|All edges of a face |align=center|F(a,b,c) β {a,b}, {b,c}, {a,c} |align=center|F β {a,b}, {b,c}, {a,c} |align=center|Explicit |align=center|Explicit |- |align=center|V-F |align=center|All vertices of a face |align=center|F(a,b,c) β {a,b,c} |align=center|Explicit |align=center|F β e1, e2, e3 β a, b, c |align=center|Explicit |- |align=center|F-V |align=center|All faces around a vertex |align=center|Pair search |align=center|Explicit |align=center|V β e1, e2, e3 β f1, f2, f3, ... |align=center|Explicit |- |align=center|E-V |align=center|All edges around a vertex |align=center|V β {v,v1}, {v,v2}, {v,v3}, ... |align=center|V β f1, f2, f3, ... β v1, v2, v3, ... |align=center|Explicit |align=center|Explicit |- |align=center|F-E |align=center|Both faces of an edge |align=center|List compare |align=center|List compare |align=center|Explicit |align=center|Explicit |- |align=center|V-E |align=center|Both vertices of an edge |align=center|E(a,b) β {a,b} |align=center|E(a,b) β {a,b} |align=center|Explicit |align=center|Explicit |- |align=center|Flook |align=center|Find face with given vertices |align=center|F(a,b,c) β {a,b,c} |align=center|Set intersection of v1,v2,v3 |align=center|Set intersection of v1,v2,v3 |align=center|Set intersection of v1,v2,v3 |- !colspan=2 rowspan=3|Storage size |V*avg(V,V) |3F + V*avg(F,V) |3F + 8E + V*avg(E,V) |6F + 4E + V*avg(E,V) |- |colspan=4|Example with 10 vertices, 16 faces, 24 edges: |- |10 * 5 = 50 |3*16 + 10*5 = 98 |3*16 + 8*24 + 10*5 = 290 |6*16 + 4*24 + 10*5 = 242 |- !colspan=6|Figure 6: summary of mesh representation operations |} <!-- A summary of mesh representations is shown in Figure 6. This comparison shows the operations typically performed on a mesh, the storage size, and the storage size for the "box-cylinder" example above. Regarding the summary above:<br>--> In the above table, ''explicit'' indicates that the operation can be performed in constant time, as the data is directly stored; ''list compare'' indicates that a list comparison between two lists must be performed to accomplish the operation; and ''pair search'' indicates a search must be done on two indices. The notation ''avg(V,V)'' means the average number of vertices connected to a given vertex; ''avg(E,V)'' means the average number of edges connected to a given vertex, and ''avg(F,V)'' is the average number of faces connected to a given vertex. The notation "V β f1, f2, f3, ... β v1, v2, v3, ..." describes that a traversal across multiple elements is required to perform the operation. For example, to get "all vertices around a given vertex V" using the face-vertex mesh, it is necessary to first find the faces around the given vertex V using the vertex list. Then, from those faces, use the face list to find the vertices around them. Winged-edge meshes explicitly store nearly all information, and other operations always traverse to the edge first to get additional info. Vertex-vertex meshes are the only representation that explicitly stores the neighboring vertices of a given vertex. As the mesh representations become more complex (from left to right in the summary), the amount of information explicitly stored increases. This gives more direct, constant time, access to traversal and topology of various elements but at the cost of increased overhead and space in maintaining indices properly. Figure 7 shows the [[connectivity information]] for each of the four technique described in this article. Other representations also exist, such as half-edge and corner tables. These are all variants of how vertices, faces and edges index one another. As a general rule, face-vertex meshes are used whenever an object must be rendered on graphics hardware that does not change geometry (connectivity), but may deform or morph shape (vertex positions) such as [[real-time rendering]] of static or morphing objects. Winged-edge or render dynamic meshes are used when the geometry changes, such as in interactive modeling packages or for computing subdivision surfaces. Vertex-vertex meshes are ideal for efficient, complex changes in geometry or topology so long as hardware rendering is not of concern.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)