Top Banner
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

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

May 02, 2020

Download

Documents

dariahiddleston
Welcome message from author
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
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