320491 AdvGrafx Lecture Notes Chapter 1€¦ · 320491: Advanced Graphics - Chapter 1 87...

28
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.

Transcript of 320491 AdvGrafx Lecture Notes Chapter 1€¦ · 320491: Advanced Graphics - Chapter 1 87...

Page 1: 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

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.

Page 2: 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

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

Page 3: 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

320491: Advanced Graphics - Chapter 1 70

Visualization and Computer Graphics LabJacobs University

Winged-edge data struture

Page 4: 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

320491: Advanced Graphics - Chapter 1 71

Visualization and Computer Graphics LabJacobs University

Winged-edge data struture

Page 5: 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

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

Page 6: 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

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

Page 7: 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

320491: Advanced Graphics - Chapter 1 74

Visualization and Computer Graphics LabJacobs University

Split-edge data structure

Page 8: 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

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.

Page 9: 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

320491: Advanced Graphics - Chapter 1 76

Visualization and Computer Graphics LabJacobs University

Split-edge data structure

Page 10: 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

320491: Advanced Graphics - Chapter 1 77

Visualization and Computer Graphics LabJacobs University

Split-edge data structureFace loop (pointers to face are omitted):

Page 11: 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

320491: Advanced Graphics - Chapter 1 78

Visualization and Computer Graphics LabJacobs University

Split-edge data structureVertex loop (pointers to face are omitted):

Page 12: 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

320491: Advanced Graphics - Chapter 1 79

Visualization and Computer Graphics LabJacobs University

Split-edge data structureBoundaries (pointers to face are omitted):

Page 13: 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

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)

Page 14: 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

320491: Advanced Graphics - Chapter 1 81

Visualization and Computer Graphics LabJacobs University

Half-edge data structure

Page 15: 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

320491: Advanced Graphics - Chapter 1 82

Visualization and Computer Graphics LabJacobs University

Half-edge data structureFace loop:

Page 16: 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

320491: Advanced Graphics - Chapter 1 83

Visualization and Computer Graphics LabJacobs University

Half-edge data structureVertex loop:

Page 17: 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

320491: Advanced Graphics - Chapter 1 84

Visualization and Computer Graphics LabJacobs University

Half-edge data structureBoundary:

Page 18: 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

320491: Advanced Graphics - Chapter 1 85

Visualization and Computer Graphics LabJacobs University

Half-edge data structureImplementation:

Page 19: 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

320491: Advanced Graphics - Chapter 1 86

Visualization and Computer Graphics LabJacobs University

Half-edge data structureFace loop:

Page 20: 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

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].

Page 21: 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

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.

Page 22: 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

320491: Advanced Graphics - Chapter 1 89

Visualization and Computer Graphics LabJacobs University

1.3 Subdivision Surfaces

Page 23: 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

320491: Advanced Graphics - Chapter 1 90

Visualization and Computer Graphics LabJacobs University

1.3.1 Subdivision Concept

Page 24: 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

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.

Page 25: 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

320491: Advanced Graphics - Chapter 1 92

Visualization and Computer Graphics LabJacobs University

Curvature-continuous surface representation

Piecewise polynomial surface representation

Page 26: 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

320491: Advanced Graphics - Chapter 1 93

Visualization and Computer Graphics LabJacobs University

Uniform B-splines

Repeated integration of box function:

Page 27: 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

320491: Advanced Graphics - Chapter 1 94

Visualization and Computer Graphics LabJacobs University

Convolution

Definition:

Translation:

Dilation:

Page 28: 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

320491: Advanced Graphics - Chapter 1 95

Visualization and Computer Graphics LabJacobs University

Convolution of box function