+ All Categories
Home > Documents > 0368-3236, Spring 2019 Tel-Aviv University Amit...

0368-3236, Spring 2019 Tel-Aviv University Amit...

Date post: 03-Oct-2020
Category:
Upload: others
View: 1 times
Download: 0 times
Share this document with a friend
102
1 3D Modeling 0368-3236, Spring 2019 Tel-Aviv University Amit Bermano
Transcript
Page 1: 0368-3236, Spring 2019 Tel-Aviv University Amit Bermanodcor/Graphics/cg-slides/graphics_tau_modeling.pdf1 3D Modeling 0368-3236, Spring 2019 Tel-Aviv University Amit Bermano

1

3D Modeling

0368-3236, Spring 2019

Tel-Aviv University

Amit Bermano

Page 2: 0368-3236, Spring 2019 Tel-Aviv University Amit Bermanodcor/Graphics/cg-slides/graphics_tau_modeling.pdf1 3D Modeling 0368-3236, Spring 2019 Tel-Aviv University Amit Bermano

2

What is 3D Modeling?

Topics in computer graphics• Imaging = representing & manipulating 2D images

• Rendering = constructing 2D images from 3D models

• Modeling = representing & manipulating 3D objects

• Animation = simulating changes over time

Page 3: 0368-3236, Spring 2019 Tel-Aviv University Amit Bermanodcor/Graphics/cg-slides/graphics_tau_modeling.pdf1 3D Modeling 0368-3236, Spring 2019 Tel-Aviv University Amit Bermano

3

What is 3D Modeling?

Topics in computer graphics• Imaging = representing & manipulating 2D images

• Rendering = constructing 2D images from 3D models

• Modeling = representing & manipulating 3D objects

• Animation = simulating changes over time

Page 4: 0368-3236, Spring 2019 Tel-Aviv University Amit Bermanodcor/Graphics/cg-slides/graphics_tau_modeling.pdf1 3D Modeling 0368-3236, Spring 2019 Tel-Aviv University Amit Bermano

4

Modeling

Blender demoreel 2018/2019

https://www.youtube.com/watch?v=HBwtw3J4mhA

Page 5: 0368-3236, Spring 2019 Tel-Aviv University Amit Bermanodcor/Graphics/cg-slides/graphics_tau_modeling.pdf1 3D Modeling 0368-3236, Spring 2019 Tel-Aviv University Amit Bermano

5

Modeling

• Blender demoreel 2018/2019

https://www.youtube.com/watch?v=HBwtw3J4mhA

Page 6: 0368-3236, Spring 2019 Tel-Aviv University Amit Bermanodcor/Graphics/cg-slides/graphics_tau_modeling.pdf1 3D Modeling 0368-3236, Spring 2019 Tel-Aviv University Amit Bermano

6

Modeling

How do we ...• Represent 3D objects in a computer?

• Acquire computer representations of 3D objects?

• Manipulate computer representations of 3D objects?

Stanford Graphics Laboratory H&B Figure 10.46

Page 7: 0368-3236, Spring 2019 Tel-Aviv University Amit Bermanodcor/Graphics/cg-slides/graphics_tau_modeling.pdf1 3D Modeling 0368-3236, Spring 2019 Tel-Aviv University Amit Bermano

18

3D Object Representations

How can this object be represented in a computer?

Page 8: 0368-3236, Spring 2019 Tel-Aviv University Amit Bermanodcor/Graphics/cg-slides/graphics_tau_modeling.pdf1 3D Modeling 0368-3236, Spring 2019 Tel-Aviv University Amit Bermano

19

How about this one?

3D Object Representations

Page 9: 0368-3236, Spring 2019 Tel-Aviv University Amit Bermanodcor/Graphics/cg-slides/graphics_tau_modeling.pdf1 3D Modeling 0368-3236, Spring 2019 Tel-Aviv University Amit Bermano

20

3D Object Representations

Wallpapersonly.net

And this one?

Page 10: 0368-3236, Spring 2019 Tel-Aviv University Amit Bermanodcor/Graphics/cg-slides/graphics_tau_modeling.pdf1 3D Modeling 0368-3236, Spring 2019 Tel-Aviv University Amit Bermano

21

3D Object Representations

SolidworksThis one?

Page 11: 0368-3236, Spring 2019 Tel-Aviv University Amit Bermanodcor/Graphics/cg-slides/graphics_tau_modeling.pdf1 3D Modeling 0368-3236, Spring 2019 Tel-Aviv University Amit Bermano

22

3D Object Representations

The visible humanThis one?

https://www.youtube.com/watch?v=0gmJYugUJU8

Page 12: 0368-3236, Spring 2019 Tel-Aviv University Amit Bermanodcor/Graphics/cg-slides/graphics_tau_modeling.pdf1 3D Modeling 0368-3236, Spring 2019 Tel-Aviv University Amit Bermano

23

3D Object Representations

FumeFx

This one?

Page 13: 0368-3236, Spring 2019 Tel-Aviv University Amit Bermanodcor/Graphics/cg-slides/graphics_tau_modeling.pdf1 3D Modeling 0368-3236, Spring 2019 Tel-Aviv University Amit Bermano

24

3D Object Representations

• Points• Range image

• Point cloud

• Surfaces• Polygonal mesh

• Subdivision

• Parametric

• Implicit

• Solids• Voxels

• BSP tree

• CSG

• Sweep

• High-level structures• Scene graph

• Application specific

Page 14: 0368-3236, Spring 2019 Tel-Aviv University Amit Bermanodcor/Graphics/cg-slides/graphics_tau_modeling.pdf1 3D Modeling 0368-3236, Spring 2019 Tel-Aviv University Amit Bermano

25

Equivalence of Representations

Thesis:• Each representation has enough expressive power

to model the shape of any geometric object

• It is possible to perform all geometric operations with any fundamental representation

Page 15: 0368-3236, Spring 2019 Tel-Aviv University Amit Bermanodcor/Graphics/cg-slides/graphics_tau_modeling.pdf1 3D Modeling 0368-3236, Spring 2019 Tel-Aviv University Amit Bermano

26

Why Different Representations?

Efficiency for different tasks

• Acquisition

• Rendering

• Analysis

• Manipulation

• Animation

Data structures determine algorithms

Page 16: 0368-3236, Spring 2019 Tel-Aviv University Amit Bermanodcor/Graphics/cg-slides/graphics_tau_modeling.pdf1 3D Modeling 0368-3236, Spring 2019 Tel-Aviv University Amit Bermano

27

Why Different Representations?

Efficiency for different tasks

• Acquisition

• Computer Vision

• Rendering

• Analysis

• Manipulation

• Animation

USCIndiana University

Page 17: 0368-3236, Spring 2019 Tel-Aviv University Amit Bermanodcor/Graphics/cg-slides/graphics_tau_modeling.pdf1 3D Modeling 0368-3236, Spring 2019 Tel-Aviv University Amit Bermano

28

Why Different Representations?

Efficiency for different tasks

• Acquisition

• Range Scanning

• Rendering

• Analysis

• Manipulation

• Animation

DGP course notes, Technion

Page 18: 0368-3236, Spring 2019 Tel-Aviv University Amit Bermanodcor/Graphics/cg-slides/graphics_tau_modeling.pdf1 3D Modeling 0368-3236, Spring 2019 Tel-Aviv University Amit Bermano

29

Why Different Representations?

Efficiency for different tasks

• Acquisition

• Tomography

• Rendering

• Analysis

• Manipulation

• Animation

DGP course notes, Technion

Page 19: 0368-3236, Spring 2019 Tel-Aviv University Amit Bermanodcor/Graphics/cg-slides/graphics_tau_modeling.pdf1 3D Modeling 0368-3236, Spring 2019 Tel-Aviv University Amit Bermano

30

Why Different Representations?

Efficiency for different tasks

• Acquisition

• Rendering

• Intersection

• Analysis

• Manipulation

• Animation

Autodesk

Page 20: 0368-3236, Spring 2019 Tel-Aviv University Amit Bermanodcor/Graphics/cg-slides/graphics_tau_modeling.pdf1 3D Modeling 0368-3236, Spring 2019 Tel-Aviv University Amit Bermano

31

Why Different Representations?

Efficiency for different tasks

• Acquisition

• Rendering

• Analysis

• Curvature,

smoothness

• Manipulation

• Animation

DGP course notes, Technion

Page 21: 0368-3236, Spring 2019 Tel-Aviv University Amit Bermanodcor/Graphics/cg-slides/graphics_tau_modeling.pdf1 3D Modeling 0368-3236, Spring 2019 Tel-Aviv University Amit Bermano

32

Why Different Representations?

Efficiency for different tasks

• Acquisition

• Rendering

• Analysis

• Fairing

• Manipulation

• Animation

DGP course notes, Technion

Page 22: 0368-3236, Spring 2019 Tel-Aviv University Amit Bermanodcor/Graphics/cg-slides/graphics_tau_modeling.pdf1 3D Modeling 0368-3236, Spring 2019 Tel-Aviv University Amit Bermano

33

Why Different Representations?

Efficiency for different tasks

• Acquisition

• Rendering

• Analysis

• Parametrization

• Manipulation

• Animation

DGP course notes, Technion

Page 23: 0368-3236, Spring 2019 Tel-Aviv University Amit Bermanodcor/Graphics/cg-slides/graphics_tau_modeling.pdf1 3D Modeling 0368-3236, Spring 2019 Tel-Aviv University Amit Bermano

34

Why Different Representations?

Efficiency for different tasks

• Acquisition

• Rendering

• Analysis

• Texture mapping

• Manipulation

• Animation

DGP course notes, Technion

Page 24: 0368-3236, Spring 2019 Tel-Aviv University Amit Bermanodcor/Graphics/cg-slides/graphics_tau_modeling.pdf1 3D Modeling 0368-3236, Spring 2019 Tel-Aviv University Amit Bermano

35

Why Different Representations?

Efficiency for different tasks

• Acquisition

• Rendering

• Analysis

• Reduction

• Manipulation

• Animation

DGP course notes, Technion

Page 25: 0368-3236, Spring 2019 Tel-Aviv University Amit Bermanodcor/Graphics/cg-slides/graphics_tau_modeling.pdf1 3D Modeling 0368-3236, Spring 2019 Tel-Aviv University Amit Bermano

36

Why Different Representations?

Efficiency for different tasks

• Acquisition

• Rendering

• Analysis

• Structure

• Manipulation

• Animation

DGP course notes, Technion

Page 26: 0368-3236, Spring 2019 Tel-Aviv University Amit Bermanodcor/Graphics/cg-slides/graphics_tau_modeling.pdf1 3D Modeling 0368-3236, Spring 2019 Tel-Aviv University Amit Bermano

37

Why Different Representations?

Efficiency for different tasks

• Acquisition

• Rendering

• Analysis

• Symmetry

detection

• Manipulation

• Animation

DGP course notes, Technion

Page 27: 0368-3236, Spring 2019 Tel-Aviv University Amit Bermanodcor/Graphics/cg-slides/graphics_tau_modeling.pdf1 3D Modeling 0368-3236, Spring 2019 Tel-Aviv University Amit Bermano

38

Why Different Representations?

Efficiency for different tasks

• Acquisition

• Rendering

• Analysis

• Correspondence

• Manipulation

• Animation

DGP course notes, Technion

Page 28: 0368-3236, Spring 2019 Tel-Aviv University Amit Bermanodcor/Graphics/cg-slides/graphics_tau_modeling.pdf1 3D Modeling 0368-3236, Spring 2019 Tel-Aviv University Amit Bermano

39

Why Different Representations?

Efficiency for different tasks

• Acquisition

• Rendering

• Analysis

• Shape

retrieval

• Manipulation

• Animation

Shao et al. 2011

Page 29: 0368-3236, Spring 2019 Tel-Aviv University Amit Bermanodcor/Graphics/cg-slides/graphics_tau_modeling.pdf1 3D Modeling 0368-3236, Spring 2019 Tel-Aviv University Amit Bermano

40

Why Different Representations?

Efficiency for different tasks

• Acquisition

• Rendering

• Analysis

• Segmentation

• Manipulation

• Animation

DGP course notes, Technion

Page 30: 0368-3236, Spring 2019 Tel-Aviv University Amit Bermanodcor/Graphics/cg-slides/graphics_tau_modeling.pdf1 3D Modeling 0368-3236, Spring 2019 Tel-Aviv University Amit Bermano

41

Why Different Representations?

Efficiency for different tasks

• Acquisition

• Rendering

• Analysis

• Composition

• Manipulation

• Animation

Lin et al. 2008

Page 31: 0368-3236, Spring 2019 Tel-Aviv University Amit Bermanodcor/Graphics/cg-slides/graphics_tau_modeling.pdf1 3D Modeling 0368-3236, Spring 2019 Tel-Aviv University Amit Bermano

42

Why Different Representations?

Efficiency for different tasks

• Acquisition

• Rendering

• Analysis

• Manipulation

• Deformation

• Animation

IGL

Page 32: 0368-3236, Spring 2019 Tel-Aviv University Amit Bermanodcor/Graphics/cg-slides/graphics_tau_modeling.pdf1 3D Modeling 0368-3236, Spring 2019 Tel-Aviv University Amit Bermano

43

Why Different Representations?

Efficiency for different tasks

• Acquisition

• Rendering

• Analysis

• Manipulation

• Deformation

• Animation

DGP course notes, Technion

Page 33: 0368-3236, Spring 2019 Tel-Aviv University Amit Bermanodcor/Graphics/cg-slides/graphics_tau_modeling.pdf1 3D Modeling 0368-3236, Spring 2019 Tel-Aviv University Amit Bermano

44

Why Different Representations?

Efficiency for different tasks

• Acquisition

• Rendering

• Analysis

• Manipulation

• Control

• Animation

Page 34: 0368-3236, Spring 2019 Tel-Aviv University Amit Bermanodcor/Graphics/cg-slides/graphics_tau_modeling.pdf1 3D Modeling 0368-3236, Spring 2019 Tel-Aviv University Amit Bermano

45

Why Different Representations?

Efficiency for different tasks

• Acquisition

• Rendering

• Analysis

• Manipulation

• Healing

• Animation

DGP course notes, Technion

Page 35: 0368-3236, Spring 2019 Tel-Aviv University Amit Bermanodcor/Graphics/cg-slides/graphics_tau_modeling.pdf1 3D Modeling 0368-3236, Spring 2019 Tel-Aviv University Amit Bermano

46

Why Different Representations?

Efficiency for different tasks

• Acquisition

• Rendering

• Analysis

• Manipulation

• Animation

• Rigging

Animation Buffet

Page 36: 0368-3236, Spring 2019 Tel-Aviv University Amit Bermanodcor/Graphics/cg-slides/graphics_tau_modeling.pdf1 3D Modeling 0368-3236, Spring 2019 Tel-Aviv University Amit Bermano

47

Why Different Representations?

Efficiency for different tasks

• Acquisition

• Rendering

• Analysis

• Manipulation

• Animation

• Deformation

transfer

Sumner et al. 2004

Page 37: 0368-3236, Spring 2019 Tel-Aviv University Amit Bermanodcor/Graphics/cg-slides/graphics_tau_modeling.pdf1 3D Modeling 0368-3236, Spring 2019 Tel-Aviv University Amit Bermano

48

Why Different Representations?

Efficiency for different tasks

• Acquisition

• Rendering

• Analysis

• Manipulation

• Animation

• Simulation

Physically Based Modelling course notes, USC

Page 38: 0368-3236, Spring 2019 Tel-Aviv University Amit Bermanodcor/Graphics/cg-slides/graphics_tau_modeling.pdf1 3D Modeling 0368-3236, Spring 2019 Tel-Aviv University Amit Bermano

49

Why Different Representations?

Efficiency for different tasks

• Acquisition

• Rendering

• Analysis

• Manipulation

• Animation

• Fabrication

DGP course notes, Technion

Page 39: 0368-3236, Spring 2019 Tel-Aviv University Amit Bermanodcor/Graphics/cg-slides/graphics_tau_modeling.pdf1 3D Modeling 0368-3236, Spring 2019 Tel-Aviv University Amit Bermano

51

3D Object Representations

• Points• Range image

• Point cloud

• Surfaces• Polygonal mesh

• Subdivision

• Parametric

• Implicit

• Solids• Voxels

• BSP tree

• CSG

• Sweep

• High-level structures• Scene graph

• Application specific

Page 40: 0368-3236, Spring 2019 Tel-Aviv University Amit Bermanodcor/Graphics/cg-slides/graphics_tau_modeling.pdf1 3D Modeling 0368-3236, Spring 2019 Tel-Aviv University Amit Bermano

52

3D Object Representations

• Points• Range image

• Point cloud

• Surfaces• Polygonal mesh

• Subdivision

• Parametric

• Implicit

• Solids• Voxels

• BSP tree

• CSG

• Sweep

• High-level structures• Scene graph

• Application specific

Page 41: 0368-3236, Spring 2019 Tel-Aviv University Amit Bermanodcor/Graphics/cg-slides/graphics_tau_modeling.pdf1 3D Modeling 0368-3236, Spring 2019 Tel-Aviv University Amit Bermano

53

Range Image

Set of 3D points mapping to pixels of depth image• Can be acquired from range scanner

Brian CurlessSIGGRAPH 99

Course #4 Notes

Range Image Tesselation Range Surface

Cyberware

Stanford

Page 42: 0368-3236, Spring 2019 Tel-Aviv University Amit Bermanodcor/Graphics/cg-slides/graphics_tau_modeling.pdf1 3D Modeling 0368-3236, Spring 2019 Tel-Aviv University Amit Bermano

54

Point Cloud

Unstructured set of 3D point samples• Acquired from range finder, computer vision, etc

Hoppe

HoppeMicroscribe-3D

Polhemus

Meshlab demo

Page 43: 0368-3236, Spring 2019 Tel-Aviv University Amit Bermanodcor/Graphics/cg-slides/graphics_tau_modeling.pdf1 3D Modeling 0368-3236, Spring 2019 Tel-Aviv University Amit Bermano

55

3D Object Representations

• Points• Range image

• Point cloud

• Surfaces• Polygonal mesh

• Subdivision

• Parametric

• Implicit

• Solids

• Voxels

• BSP tree

• CSG

• Sweep

• High-level structures

• Scene graph

• Application specific

Page 44: 0368-3236, Spring 2019 Tel-Aviv University Amit Bermanodcor/Graphics/cg-slides/graphics_tau_modeling.pdf1 3D Modeling 0368-3236, Spring 2019 Tel-Aviv University Amit Bermano

56

Polygonal Mesh

Connected set of polygons (often triangles)

Stanford Graphics Laboratory

Page 45: 0368-3236, Spring 2019 Tel-Aviv University Amit Bermanodcor/Graphics/cg-slides/graphics_tau_modeling.pdf1 3D Modeling 0368-3236, Spring 2019 Tel-Aviv University Amit Bermano

57

3D Polygonal Mesh

Set of polygons representing a 2D surface embedded in 3D

Zorin & Schroeder

Face

Vertex(x,y,z)

Edge

Meshlab demo

Page 46: 0368-3236, Spring 2019 Tel-Aviv University Amit Bermanodcor/Graphics/cg-slides/graphics_tau_modeling.pdf1 3D Modeling 0368-3236, Spring 2019 Tel-Aviv University Amit Bermano

59

Parametric Surfaces

Applications• Design of smooth surfaces in cars, ships, etc.

Page 48: 0368-3236, Spring 2019 Tel-Aviv University Amit Bermanodcor/Graphics/cg-slides/graphics_tau_modeling.pdf1 3D Modeling 0368-3236, Spring 2019 Tel-Aviv University Amit Bermano

61

Parametric Curves

Applications• Defining motion trajectories for objects or cameras

AutoDesk

Page 49: 0368-3236, Spring 2019 Tel-Aviv University Amit Bermanodcor/Graphics/cg-slides/graphics_tau_modeling.pdf1 3D Modeling 0368-3236, Spring 2019 Tel-Aviv University Amit Bermano

62

Parametric Curves

• Defined by parametric functions:• x = fx(u)

• y = fy(u)

• Example: ellipse

H&B Figure 10.10

fx (u) = rx cos(2pu)

fy(u) = ry sin(2pu)

uÎ [0..1]

x

y

u rx

ry

Page 50: 0368-3236, Spring 2019 Tel-Aviv University Amit Bermanodcor/Graphics/cg-slides/graphics_tau_modeling.pdf1 3D Modeling 0368-3236, Spring 2019 Tel-Aviv University Amit Bermano

63

Parametric curves

How to easily define arbitrary curves?

x = fx(u)

y = fy(u)

Use functions that “blend” control points

x = fx(u) = V0x*(1 - u) + V1x*u

y = fy(u) = V0y*(1 - u) + V1y*u

V0

V1

u

Page 51: 0368-3236, Spring 2019 Tel-Aviv University Amit Bermanodcor/Graphics/cg-slides/graphics_tau_modeling.pdf1 3D Modeling 0368-3236, Spring 2019 Tel-Aviv University Amit Bermano

64

Parametric curves

More generally:

x

n

i

i ViuBux *)()(0

y

n

i

i ViuBuy *)()(0

V0

V1

V2

V3

x(u), y(u)

Page 52: 0368-3236, Spring 2019 Tel-Aviv University Amit Bermanodcor/Graphics/cg-slides/graphics_tau_modeling.pdf1 3D Modeling 0368-3236, Spring 2019 Tel-Aviv University Amit Bermano

65

Cubic B-Spline Blending Functions

• Four cubic polynomials for four vertices• 16 variables (degrees of freedom)

• Variables are ai, bi, ci, di for four blending functions

V1

V2V3

V4

V5

V0

3

1

3

2

3

3

33

2

1

2

2

2

3

22

1

1

1

2

1

3

11

0

1

0

2

0

3

00

)(

)(

)(

)(

ducubuaub

ducubuaub

ducubuaub

ducubuaub

Page 53: 0368-3236, Spring 2019 Tel-Aviv University Amit Bermanodcor/Graphics/cg-slides/graphics_tau_modeling.pdf1 3D Modeling 0368-3236, Spring 2019 Tel-Aviv University Amit Bermano

66

Cubic B-Spline Blending Functions

Page 54: 0368-3236, Spring 2019 Tel-Aviv University Amit Bermanodcor/Graphics/cg-slides/graphics_tau_modeling.pdf1 3D Modeling 0368-3236, Spring 2019 Tel-Aviv University Amit Bermano

67

Cubic B-Spline Blending Functions

Solving the system of equations yields:

Page 55: 0368-3236, Spring 2019 Tel-Aviv University Amit Bermanodcor/Graphics/cg-slides/graphics_tau_modeling.pdf1 3D Modeling 0368-3236, Spring 2019 Tel-Aviv University Amit Bermano

68

Parametric Patches

• Each patch is defined by blending control points

Same ideas as parametric curves!FvDFH Figure 11.44

Page 56: 0368-3236, Spring 2019 Tel-Aviv University Amit Bermanodcor/Graphics/cg-slides/graphics_tau_modeling.pdf1 3D Modeling 0368-3236, Spring 2019 Tel-Aviv University Amit Bermano

69

Parametric Patches

• Point Q(u,v) on the patch is the tensor product of parametric curves defined by the control points

Watt Figure 6.21

Q(u,v)?

Q(0,0)

Q(1,0)

Q(0,1)Q(1,1)

Page 57: 0368-3236, Spring 2019 Tel-Aviv University Amit Bermanodcor/Graphics/cg-slides/graphics_tau_modeling.pdf1 3D Modeling 0368-3236, Spring 2019 Tel-Aviv University Amit Bermano

70

Parametric Patches

• Point Q(u,v) on the patch is the tensor product of parametric curves defined by the control points

Watt Figure 6.21

Q(0,0)

Q(1,0)

Q(0,1)Q(1,1)

Page 58: 0368-3236, Spring 2019 Tel-Aviv University Amit Bermanodcor/Graphics/cg-slides/graphics_tau_modeling.pdf1 3D Modeling 0368-3236, Spring 2019 Tel-Aviv University Amit Bermano

71

Parametric Patches

• Point Q(u,v) on the patch is the tensor product of parametric curves defined by the control points

Watt Figure 6.21

Q(0,0)

Q(1,0)

Q(0,1)Q(1,1)

u=0.4u=0.4

Page 59: 0368-3236, Spring 2019 Tel-Aviv University Amit Bermanodcor/Graphics/cg-slides/graphics_tau_modeling.pdf1 3D Modeling 0368-3236, Spring 2019 Tel-Aviv University Amit Bermano

72

Parametric Patches

• Point Q(u,v) on the patch is the tensor product of parametric curves defined by the control points

Watt Figure 6.21

Q(0,0)

Q(1,0)

Q(0,1)Q(1,1)

u=0.4u=0.4

Page 60: 0368-3236, Spring 2019 Tel-Aviv University Amit Bermanodcor/Graphics/cg-slides/graphics_tau_modeling.pdf1 3D Modeling 0368-3236, Spring 2019 Tel-Aviv University Amit Bermano

73

Parametric Patches

• Point Q(u,v) on the patch is the tensor product of parametric curves defined by the control points

Watt Figure 6.21

Q(0,0)

Q(1,0)

Q(0,1)Q(1,1)

Q(u,v)

u=0.4u=0.4

v=0.5

Page 61: 0368-3236, Spring 2019 Tel-Aviv University Amit Bermanodcor/Graphics/cg-slides/graphics_tau_modeling.pdf1 3D Modeling 0368-3236, Spring 2019 Tel-Aviv University Amit Bermano

74

NURBS Surfaces

Page 62: 0368-3236, Spring 2019 Tel-Aviv University Amit Bermanodcor/Graphics/cg-slides/graphics_tau_modeling.pdf1 3D Modeling 0368-3236, Spring 2019 Tel-Aviv University Amit Bermano

75

Subdivision Surface

Coarse mesh & subdivision rule• Smooth surface is limit of sequence of refinements

Zorin & SchroederSIGGRAPH 99 Course Notes

Page 63: 0368-3236, Spring 2019 Tel-Aviv University Amit Bermanodcor/Graphics/cg-slides/graphics_tau_modeling.pdf1 3D Modeling 0368-3236, Spring 2019 Tel-Aviv University Amit Bermano

76

Subdivision

How do you make a surface with guaranteed continuity?

Zorin & SchroederSIGGRAPH 99 Course Notes

Page 64: 0368-3236, Spring 2019 Tel-Aviv University Amit Bermanodcor/Graphics/cg-slides/graphics_tau_modeling.pdf1 3D Modeling 0368-3236, Spring 2019 Tel-Aviv University Amit Bermano

77

Subdivision Surfaces

Repeated application of• Topology refinement (splitting faces)

• Geometry refinement (weighted averaging)

Zorin & SchroederSIGGRAPH 99 Course Notes

Page 65: 0368-3236, Spring 2019 Tel-Aviv University Amit Bermanodcor/Graphics/cg-slides/graphics_tau_modeling.pdf1 3D Modeling 0368-3236, Spring 2019 Tel-Aviv University Amit Bermano

78

Subdivision Surfaces – Examples

Base mesh

Scott Schaefer

Page 66: 0368-3236, Spring 2019 Tel-Aviv University Amit Bermanodcor/Graphics/cg-slides/graphics_tau_modeling.pdf1 3D Modeling 0368-3236, Spring 2019 Tel-Aviv University Amit Bermano

79

Subdivision Surfaces – Examples

Topology refinement

Scott Schaefer

Page 67: 0368-3236, Spring 2019 Tel-Aviv University Amit Bermanodcor/Graphics/cg-slides/graphics_tau_modeling.pdf1 3D Modeling 0368-3236, Spring 2019 Tel-Aviv University Amit Bermano

80

Subdivision Surfaces – Examples

Geometry refinement

Scott Schaefer

Page 68: 0368-3236, Spring 2019 Tel-Aviv University Amit Bermanodcor/Graphics/cg-slides/graphics_tau_modeling.pdf1 3D Modeling 0368-3236, Spring 2019 Tel-Aviv University Amit Bermano

81

Subdivision Surfaces – Examples

Topology refinement

Scott Schaefer

Page 69: 0368-3236, Spring 2019 Tel-Aviv University Amit Bermanodcor/Graphics/cg-slides/graphics_tau_modeling.pdf1 3D Modeling 0368-3236, Spring 2019 Tel-Aviv University Amit Bermano

82

Subdivision Surfaces – Examples

Geometry refinement

Scott Schaefer

Page 70: 0368-3236, Spring 2019 Tel-Aviv University Amit Bermanodcor/Graphics/cg-slides/graphics_tau_modeling.pdf1 3D Modeling 0368-3236, Spring 2019 Tel-Aviv University Amit Bermano

83

Subdivision Surfaces – Examples

Topology refinement

Scott Schaefer

Page 71: 0368-3236, Spring 2019 Tel-Aviv University Amit Bermanodcor/Graphics/cg-slides/graphics_tau_modeling.pdf1 3D Modeling 0368-3236, Spring 2019 Tel-Aviv University Amit Bermano

84

Subdivision Surfaces – Examples

Geometry refinement

Scott Schaefer

Page 72: 0368-3236, Spring 2019 Tel-Aviv University Amit Bermanodcor/Graphics/cg-slides/graphics_tau_modeling.pdf1 3D Modeling 0368-3236, Spring 2019 Tel-Aviv University Amit Bermano

85

Subdivision Surfaces – Examples

Limit surface

Scott Schaefer

Page 73: 0368-3236, Spring 2019 Tel-Aviv University Amit Bermanodcor/Graphics/cg-slides/graphics_tau_modeling.pdf1 3D Modeling 0368-3236, Spring 2019 Tel-Aviv University Amit Bermano

86

Meshlab demo

Subdivision Surfaces – Examples

Base mesh + limit surface

Scott Schaefer

Page 74: 0368-3236, Spring 2019 Tel-Aviv University Amit Bermanodcor/Graphics/cg-slides/graphics_tau_modeling.pdf1 3D Modeling 0368-3236, Spring 2019 Tel-Aviv University Amit Bermano

87

Subdivision Schemes

• Common subdivision schemes• Catmull-Clark

• Loop

• Many others

• Differ in ...• Input topology

• How refine topology

• How refine geometry

… which makes differences in …• Provable properties

8

7

87

Page 75: 0368-3236, Spring 2019 Tel-Aviv University Amit Bermanodcor/Graphics/cg-slides/graphics_tau_modeling.pdf1 3D Modeling 0368-3236, Spring 2019 Tel-Aviv University Amit Bermano

88

Catmull-Clark Subdivision

Scott Schaefer

Page 76: 0368-3236, Spring 2019 Tel-Aviv University Amit Bermanodcor/Graphics/cg-slides/graphics_tau_modeling.pdf1 3D Modeling 0368-3236, Spring 2019 Tel-Aviv University Amit Bermano

89

Subdivision Surfaces

• Used in movie and game industries

• Supported by most 3D modeling software

Geri’s Game © Pixar Animation Studios

Page 77: 0368-3236, Spring 2019 Tel-Aviv University Amit Bermanodcor/Graphics/cg-slides/graphics_tau_modeling.pdf1 3D Modeling 0368-3236, Spring 2019 Tel-Aviv University Amit Bermano

90

Geri’s Game

• “served as a demonstration of a new animation tool called subdivision surfaces” (Wikipedia)

• Subdivision used for head, hands & some clothing

• Academy Award winner

Page 78: 0368-3236, Spring 2019 Tel-Aviv University Amit Bermanodcor/Graphics/cg-slides/graphics_tau_modeling.pdf1 3D Modeling 0368-3236, Spring 2019 Tel-Aviv University Amit Bermano

91

Geri’s Game

• Guest performance in Toy Story 2

Toy Story 2 © Pixar Animation Studios

Page 79: 0368-3236, Spring 2019 Tel-Aviv University Amit Bermanodcor/Graphics/cg-slides/graphics_tau_modeling.pdf1 3D Modeling 0368-3236, Spring 2019 Tel-Aviv University Amit Bermano

92

Subdivision Surfaces

• An alternative to NURBS, overcoming:• Many patches

• Difficult to mark sharp features

• Irregularities after deformation

Stanford Graphics course notes

Page 80: 0368-3236, Spring 2019 Tel-Aviv University Amit Bermanodcor/Graphics/cg-slides/graphics_tau_modeling.pdf1 3D Modeling 0368-3236, Spring 2019 Tel-Aviv University Amit Bermano

93

Implicit Surfaces

• Surface defined implicitly by function:• f (x, y, z) = 0 (on surface)

• f (x, y, z) < 0 (inside)

• f (x, y, z) > 0 (outside)

f(x,y) = 0 on curve

f(x,y) < 0 inside

f(x,y) > 0 outsideTurk

Page 81: 0368-3236, Spring 2019 Tel-Aviv University Amit Bermanodcor/Graphics/cg-slides/graphics_tau_modeling.pdf1 3D Modeling 0368-3236, Spring 2019 Tel-Aviv University Amit Bermano

94

Implicit Surface Properties

Efficient check for whether point is inside• Evaluate f(x,y,z) to see if point is inside/outside/on

• Example: ellipsoid

H&B Figure 10.10

1),,(

222

zyx r

z

r

y

r

xzyxf

Page 82: 0368-3236, Spring 2019 Tel-Aviv University Amit Bermanodcor/Graphics/cg-slides/graphics_tau_modeling.pdf1 3D Modeling 0368-3236, Spring 2019 Tel-Aviv University Amit Bermano

95

Implicit Surfaces

• Represent surface with function over all space

Kazhdan

Page 83: 0368-3236, Spring 2019 Tel-Aviv University Amit Bermanodcor/Graphics/cg-slides/graphics_tau_modeling.pdf1 3D Modeling 0368-3236, Spring 2019 Tel-Aviv University Amit Bermano

96

Implicit Surfaces

• Surface defined implicitly by function

Kazhdan

Page 84: 0368-3236, Spring 2019 Tel-Aviv University Amit Bermanodcor/Graphics/cg-slides/graphics_tau_modeling.pdf1 3D Modeling 0368-3236, Spring 2019 Tel-Aviv University Amit Bermano

97

Implicit Surface Properties

Efficient topology changes• Surface is not represented explicitly!

Bourke

Page 85: 0368-3236, Spring 2019 Tel-Aviv University Amit Bermanodcor/Graphics/cg-slides/graphics_tau_modeling.pdf1 3D Modeling 0368-3236, Spring 2019 Tel-Aviv University Amit Bermano

98

Implicit Surface Properties

Efficient topology changes• Surface is not represented explicitly!

Bloomenthal

Page 86: 0368-3236, Spring 2019 Tel-Aviv University Amit Bermanodcor/Graphics/cg-slides/graphics_tau_modeling.pdf1 3D Modeling 0368-3236, Spring 2019 Tel-Aviv University Amit Bermano

99

Applications

Online Reconstruction of 3D Objects from Arbitrary Cross-Sections[Bermano et al. 2011]

Page 87: 0368-3236, Spring 2019 Tel-Aviv University Amit Bermanodcor/Graphics/cg-slides/graphics_tau_modeling.pdf1 3D Modeling 0368-3236, Spring 2019 Tel-Aviv University Amit Bermano

100

Applications

Robust Inside-Outside Segmentation using Generalized Winding Numbers[Jacobson et al. 2013]

Page 88: 0368-3236, Spring 2019 Tel-Aviv University Amit Bermanodcor/Graphics/cg-slides/graphics_tau_modeling.pdf1 3D Modeling 0368-3236, Spring 2019 Tel-Aviv University Amit Bermano

101

3D Object Representations

• Points• Range image

• Point cloud

• Surfaces• Polygonal mesh

• Subdivision

• Parametric

• Implicit

• Solids• Voxels

• BSP tree

• CSG

• Sweep

• High-level structures

• Scene graph

• Application specific

Page 89: 0368-3236, Spring 2019 Tel-Aviv University Amit Bermanodcor/Graphics/cg-slides/graphics_tau_modeling.pdf1 3D Modeling 0368-3236, Spring 2019 Tel-Aviv University Amit Bermano

102

Voxels

• Regular array of 3D samples (like image) • Samples are called voxels (“volume pixels”)

www.volumegraphics.com

Page 90: 0368-3236, Spring 2019 Tel-Aviv University Amit Bermanodcor/Graphics/cg-slides/graphics_tau_modeling.pdf1 3D Modeling 0368-3236, Spring 2019 Tel-Aviv University Amit Bermano

103

FvDFH Figure 12.20

Voxel grid

Uniform volumetric grid of samples:• Occupancy

(object vs. empty space)

• Density

• Color

• Other function(speed, temperature, etc.)

• Often acquired viasimulation or fromCAT, MRI, etc.

Stanford Graphics Laboratory

Page 91: 0368-3236, Spring 2019 Tel-Aviv University Amit Bermanodcor/Graphics/cg-slides/graphics_tau_modeling.pdf1 3D Modeling 0368-3236, Spring 2019 Tel-Aviv University Amit Bermano

104

Voxel Boolean Operations

• Compare objects voxel by voxel• Trivial

=

=

Page 92: 0368-3236, Spring 2019 Tel-Aviv University Amit Bermanodcor/Graphics/cg-slides/graphics_tau_modeling.pdf1 3D Modeling 0368-3236, Spring 2019 Tel-Aviv University Amit Bermano

105

Octree

The adaptive version of the voxel grid• Significantly more space efficient

• Makes operations more cumbersome

Thomas Diewald

Page 93: 0368-3236, Spring 2019 Tel-Aviv University Amit Bermanodcor/Graphics/cg-slides/graphics_tau_modeling.pdf1 3D Modeling 0368-3236, Spring 2019 Tel-Aviv University Amit Bermano

106

BSP Tree

Hierarchical Binary Space Partition withsolid/empty cells labeled

• Constructed from polygonal representations

a

b

c

d

e

f

1

2

3

7

4

5

6

a

bc

de

f

g

Object

a

b

cde

f

1

2

3

4

5

6

7

Binary Spatial Partition

Binary Tree

Naylor

Page 94: 0368-3236, Spring 2019 Tel-Aviv University Amit Bermanodcor/Graphics/cg-slides/graphics_tau_modeling.pdf1 3D Modeling 0368-3236, Spring 2019 Tel-Aviv University Amit Bermano

107

Constructive Solid Geometry (CSG)

• Represent solid object as hierarchy of boolean operations• Union

• Intersection

• Difference

FvDFH Figure 12.27

Page 95: 0368-3236, Spring 2019 Tel-Aviv University Amit Bermanodcor/Graphics/cg-slides/graphics_tau_modeling.pdf1 3D Modeling 0368-3236, Spring 2019 Tel-Aviv University Amit Bermano

108

CSG

• Interactive modeling programs• Intuitive way to

design objects

SUNY Stoney Brook

Page 96: 0368-3236, Spring 2019 Tel-Aviv University Amit Bermanodcor/Graphics/cg-slides/graphics_tau_modeling.pdf1 3D Modeling 0368-3236, Spring 2019 Tel-Aviv University Amit Bermano

109

CSG

• Interactive modeling programs• Intuitive way to

design objects

H&B Figure 9.9

Page 97: 0368-3236, Spring 2019 Tel-Aviv University Amit Bermanodcor/Graphics/cg-slides/graphics_tau_modeling.pdf1 3D Modeling 0368-3236, Spring 2019 Tel-Aviv University Amit Bermano

110

CSG

Page 98: 0368-3236, Spring 2019 Tel-Aviv University Amit Bermanodcor/Graphics/cg-slides/graphics_tau_modeling.pdf1 3D Modeling 0368-3236, Spring 2019 Tel-Aviv University Amit Bermano

111

3D Object Representations

• Points• Range image

• Point cloud

• Surfaces• Polygonal mesh

• Subdivision

• Parametric

• Implicit

• Solids• Voxels

• BSP tree

• CSG

• Sweep

• High-level structures• Scene graph

• Application specific

Page 99: 0368-3236, Spring 2019 Tel-Aviv University Amit Bermanodcor/Graphics/cg-slides/graphics_tau_modeling.pdf1 3D Modeling 0368-3236, Spring 2019 Tel-Aviv University Amit Bermano

112

Scene Graph

Union of objects at leaf nodes

Bell Laboratories

avalon.viewpoint.com

Page 100: 0368-3236, Spring 2019 Tel-Aviv University Amit Bermanodcor/Graphics/cg-slides/graphics_tau_modeling.pdf1 3D Modeling 0368-3236, Spring 2019 Tel-Aviv University Amit Bermano

113

Scene Graph

Page 101: 0368-3236, Spring 2019 Tel-Aviv University Amit Bermanodcor/Graphics/cg-slides/graphics_tau_modeling.pdf1 3D Modeling 0368-3236, Spring 2019 Tel-Aviv University Amit Bermano

114

Application Specific

Apo A-1(Theoretical Biophysics Group,

University of Illinois at Urbana-Champaign)

Architectural Floorplan(CS Building, Princeton University)

Page 102: 0368-3236, Spring 2019 Tel-Aviv University Amit Bermanodcor/Graphics/cg-slides/graphics_tau_modeling.pdf1 3D Modeling 0368-3236, Spring 2019 Tel-Aviv University Amit Bermano

117

Computational Differences

• Efficiency• Representational complexity (e.g. surface vs. volume)• Computational complexity (e.g. O(n2) vs O(n3) )• Space/time trade-offs (e.g. tree data structures)• Numerical accuracy/stability (e.g. degree of polynomial)

• Simplicity• Ease of acquisition• Hardware acceleration• Software creation and maintenance

• Usability• Designer interface vs. computational engine


Recommended