320491: Advanced Graphics - Chapter 1 68 Visualization and Computer Graphics Lab Jacobs University Modeling Modeling operations often require the access of • neighboring vertices • neighboring edges • neighboring faces Accessing neighbors is not supported by a polygon soup.
28
Embed
320491 AdvGrafx Lecture Notes Chapter 1€¦ · 320491: Advanced Graphics - Chapter 1 87 Visualization and Computer Graphics Lab Jacobs University Direct edge data structure For triangular
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
320491: Advanced Graphics - Chapter 1 68
Visualization and Computer Graphics LabJacobs University
ModelingModeling operations often require the access of• neighboring vertices• neighboring edges• neighboring faces
Accessing neighbors is not supported by a polygon soup.
320491: Advanced Graphics - Chapter 1 69
Visualization and Computer Graphics LabJacobs University
Winged-edge data struture
Stores local information for each edge:• pointers to both vertices belonging to the edge• pointers to both faces adjacent to the edge• pointers to preceding and subsequent edges for both
adjacent faces
320491: Advanced Graphics - Chapter 1 70
Visualization and Computer Graphics LabJacobs University
Winged-edge data struture
320491: Advanced Graphics - Chapter 1 71
Visualization and Computer Graphics LabJacobs University
Winged-edge data struture
320491: Advanced Graphics - Chapter 1 72
Visualization and Computer Graphics LabJacobs University
Winged-edge data struture
+ all important local information is provided+ no computationally intense searches are necessary
- 8 pointers per edge may be confusing- additional memory for storage required
320491: Advanced Graphics - Chapter 1 73
Visualization and Computer Graphics LabJacobs University
Split-edge data structure
Stores local information for each edgeby splitting it into two parts.
Each split-edge stores• the respective vertex• the adjacent face• the subsequent split-edge• the corresponding opposite split-edge
320491: Advanced Graphics - Chapter 1 74
Visualization and Computer Graphics LabJacobs University
Split-edge data structure
320491: Advanced Graphics - Chapter 1 75
Visualization and Computer Graphics LabJacobs University
Split-edge data structure
The subsequent edge can (consistently!) be stored in• clockwise or• counter-clockwisedirection.
Some implementions use pointers in both directions.
320491: Advanced Graphics - Chapter 1 76
Visualization and Computer Graphics LabJacobs University
Split-edge data structure
320491: Advanced Graphics - Chapter 1 77
Visualization and Computer Graphics LabJacobs University
Split-edge data structureFace loop (pointers to face are omitted):
320491: Advanced Graphics - Chapter 1 78
Visualization and Computer Graphics LabJacobs University
Split-edge data structureVertex loop (pointers to face are omitted):
320491: Advanced Graphics - Chapter 1 79
Visualization and Computer Graphics LabJacobs University
Split-edge data structureBoundaries (pointers to face are omitted):
320491: Advanced Graphics - Chapter 1 80
Visualization and Computer Graphics LabJacobs University
Half-edge data structureSimilar to split-edge data structure, but edges arehalved instead of split.
(pointers to faces can be added)
320491: Advanced Graphics - Chapter 1 81
Visualization and Computer Graphics LabJacobs University
Half-edge data structure
320491: Advanced Graphics - Chapter 1 82
Visualization and Computer Graphics LabJacobs University
Half-edge data structureFace loop:
320491: Advanced Graphics - Chapter 1 83
Visualization and Computer Graphics LabJacobs University
Half-edge data structureVertex loop:
320491: Advanced Graphics - Chapter 1 84
Visualization and Computer Graphics LabJacobs University
Half-edge data structureBoundary:
320491: Advanced Graphics - Chapter 1 85
Visualization and Computer Graphics LabJacobs University
Half-edge data structureImplementation:
320491: Advanced Graphics - Chapter 1 86
Visualization and Computer Graphics LabJacobs University
Half-edge data structureFace loop:
320491: Advanced Graphics - Chapter 1 87
Visualization and Computer Graphics LabJacobs University
Direct edge data structure
For triangular meshes, one can use the followingindexing scheme:• Let f be the index of a face, then its half-edges get
assigned the indices 3f, 3f+1, and 3f+2.• For each half-edge with index h, the corresponding
face has index h/3 using integer division.• For each half-edge with index h, the subsequent half-
edge has index 3f+[(h+1) mod 3].
320491: Advanced Graphics - Chapter 1 88
Visualization and Computer Graphics LabJacobs University
Direct edge data structure
Direct meshes reduce memory consumption, as • only the respective vertex and the opposite half-edge
need to be stored,• while the adjacent face and the subsequent half-edge
are given implicitly by the indexing scheme.
320491: Advanced Graphics - Chapter 1 89
Visualization and Computer Graphics LabJacobs University
1.3 Subdivision Surfaces
320491: Advanced Graphics - Chapter 1 90
Visualization and Computer Graphics LabJacobs University
1.3.1 Subdivision Concept
320491: Advanced Graphics - Chapter 1 91
Visualization and Computer Graphics LabJacobs University
References
Subdivision Methods for Geometric Design:A Constructive Approach. Joe Warren & Henrik Reimer.Morgan Kaufmann Publishers Inc., San Francisco, CA.1st edition, 2002.
320491: Advanced Graphics - Chapter 1 92
Visualization and Computer Graphics LabJacobs University
Curvature-continuous surface representation
Piecewise polynomial surface representation
320491: Advanced Graphics - Chapter 1 93
Visualization and Computer Graphics LabJacobs University
Uniform B-splines
Repeated integration of box function:
320491: Advanced Graphics - Chapter 1 94
Visualization and Computer Graphics LabJacobs University
Convolution
Definition:
Translation:
Dilation:
320491: Advanced Graphics - Chapter 1 95
Visualization and Computer Graphics LabJacobs University