Graphics Subdivision Surfaces 고려대학교 컴퓨터 그래픽스 연구실 cgvr.korea.ac.kr Graphics Lab @ Korea University Subdivision  CGVR How do You Make a Smooth Curve? cgvr.korea.ac.kr Graphics Lab @ Korea University.

Download Report

Transcript Graphics Subdivision Surfaces 고려대학교 컴퓨터 그래픽스 연구실 cgvr.korea.ac.kr Graphics Lab @ Korea University Subdivision  CGVR How do You Make a Smooth Curve? cgvr.korea.ac.kr Graphics Lab @ Korea University.

Graphics
Subdivision Surfaces
고려대학교 컴퓨터 그래픽스 연구실
cgvr.korea.ac.kr
Graphics Lab @ Korea University
Subdivision

CGVR
How do You Make a Smooth Curve?
cgvr.korea.ac.kr
Graphics Lab @ Korea University
Subdivision Surfaces

CGVR
Coarse Mesh & Subdivision Rule

Define smooth surface as limit of sequence of
refinements
cgvr.korea.ac.kr
Graphics Lab @ Korea University
Key Questions

How Refine Mesh?


CGVR
Aim for properties like smoothness
How Store Mesh?

Aim for efficiency for implementing subdivision rules
cgvr.korea.ac.kr
Graphics Lab @ Korea University
Loop Subdivision Scheme

CGVR
How Refine Mesh?

Refine each triangle into 4 triangles by splitting each
edge and connecting new vertices
cgvr.korea.ac.kr
Graphics Lab @ Korea University
Loop Subdivision Scheme

CGVR
How Position New Vertices?

Choose locations for new vertices as weighted
average of original vertices in local neighborhood
cgvr.korea.ac.kr
Graphics Lab @ Korea University
Loop Subdivision Scheme

CGVR
Different Rules for Boundaries:
cgvr.korea.ac.kr
Graphics Lab @ Korea University
Loop Subdivision Scheme

CGVR
Limit Surface Has Provable Smoothness
Properties
cgvr.korea.ac.kr
Graphics Lab @ Korea University
Subdivision Schemes

CGVR
There are different subdivision schemes


Different methods for refining topology
Different rules for positioning vertices

Interpolating versus approximating
Face Split
Vertex Split
Triangular Meshes Quad. Meshes
Approximating Loop (C2)
Catmull-Clark (C2)
Doo-Sabin, Midege (C1)
Biquartic (C2)
Interpolating Mod. Butterfly (C1) Kobbelt (C1)
cgvr.korea.ac.kr
Graphics Lab @ Korea University
Subdivision Schemes
cgvr.korea.ac.kr
Loop
Butterfly
Catmull-Clark
Doo-Sabin
CGVR
Graphics Lab @ Korea University
Subdivision Schemes
Loop
cgvr.korea.ac.kr
Butterfly
Catmull-Clark
CGVR
Doo-Sabin
Graphics Lab @ Korea University
Key Questions

How Refine Mesh?


CGVR
Aim for properties like smoothness
How Store Mesh?

Aim for efficiency for implementing subdivision rules
cgvr.korea.ac.kr
Graphics Lab @ Korea University
Polygon Meshes

CGVR
Mesh Representations




Independent faces
Vertex and face tables
Adjacency lists
Winged-Edge
cgvr.korea.ac.kr
Graphics Lab @ Korea University
Independent Faces

CGVR
Each Face Lists Vertex Coordinates


Redundant vertices
No topology information
(x4, y4, z4)
(x3, y3, z3)
F2
F1
(x1, y1, z1)
F3
(x2, y2, z2)
(x5, y5, z5)
Face Table
F1 (x1, y1, z1) (x2, y2, z2) (x3, y3, z3)
F2 (x2, y2, z2) (x4, y4, z4) (x3, y3, z3)
F3 (x2, y2, z2) (x5, y5, z5) (x4, y4, z4)
cgvr.korea.ac.kr
Graphics Lab @ Korea University
Vertex & Face Tables

CGVR
Each Face Lists Vertex References


(x4, y4, z4)
Shared vertices
(x3, y3, z3)
Still no topology information
F2
F3
F1
(x1, y1, z1)
cgvr.korea.ac.kr
(x2, y2, z2)
(x5, y5, z5)
Vertex Table
Face Table
V1
V2
V3
V4
V5
F1 V1 V2 V3
F2 V2 V4 V3
F3 V2 V5 V4
x1 y1 z1
x2 y2 z2
x3 y3 z3
x4 y4 z4
x5 y5 z5
Graphics Lab @ Korea University
Adjacency Lists

CGVR
Store all Vertex, Edge, and Face Adjacencies


Efficient topology traversal
Extra storage
V2 V3
E1 E4 E2 E5 E6
F1 F2
V 2 V4 V3
E4 V4
V3
E3
E1
F1
V1
E5 E4 E3
E2
F 3 F1
F2
E5
F3
V2
E6
E7
V5
V5 V4 V3 V1
E6 E5 E3 E2
F3 F2 F1
cgvr.korea.ac.kr
Graphics Lab @ Korea University
Winged Edge

CGVR
Adjacency Encoded in Edges



All adjacencies in O(1) time
Little extra storage (fixed records)
Arbitrary polygons
4
v2
{Ei}
{Vi}
cgvr.korea.ac.kr
f2
e21
2
2
1
e22
1
f1
e12
e11 v
1
{Fi}
Graphics Lab @ Korea University
Winged Edge

CGVR
(x4, y4, z4)
(x3, y3, z3)
Example
F2
F1
(x1, y1, z1)
Vertex Table
V1
V2
V3
V1
V2
x1, y1, z1
x2, y2, z2
x3, y3, z3
x4, y4, z4
x5, y5, z5
cgvr.korea.ac.kr
(x2, y2, z2)
Edge Table
E1
E6
E3
E5
E6
E1
E2
E3
E4
E5
E6
E7
F3
V1 V3
V1 V2
V2 V3
V3 V4
V2 V4
V2 V5
V4 V5
(x5, y5, z5)
11 12 21 22
E2 E2 E4 E3
E1 E1 E3 E6
E2 E5 E1 E4
E1 E3 E7 E5
E3 E6 E4 E7
E5 E2 E7 E7
E4 E5 E6 E6
Face Table
F1 e1
F2 e3
F3 e5
Graphics Lab @ Korea University
Summary

Advantages:






CGVR
Simple method for describing complex surfaces
Relatively easy to implement
Arbitrary topology
Smoothness guarantees
Multiresolution
Difficulties:



Intuitive specification
Parameterization
Intersections
cgvr.korea.ac.kr
Graphics Lab @ Korea University