Top Banner
1 Alec Jacobson University of Toronto Generalized Matryoshka Computational Design of Nesting Objects
115

Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

Aug 15, 2021

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: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

1

Alec JacobsonUniversity of Toronto

Generalized MatryoshkaComputational Design of Nesting Objects

Page 2: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

2

Page 3: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

3

Page 4: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

4

Page 5: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

5

Page 6: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

6

Page 7: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

Previous work enables computational design of reconfigurables

7[Garg et al. 2016]

Page 8: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

Previous work enables computational design of reconfigurables

8[Garg et al. 2016]

Page 9: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

Previous work enables computational design of reconfigurables

9[Garg et al. 2016]

Page 10: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

[Zvyozdochkin & Malyutin 1890]

Page 11: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

We present a method to generalize Matryoshkato arbitrary shapes

11

Page 12: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

We present a method to generalize Matryoshkato arbitrary shapes

12

Page 13: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

Nesting requires strict enclosure…

13

loose enclosure

Page 14: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

Nesting requires strict enclosure…

14

enclosure

Page 15: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

Nesting also requires removal

15

enclosed, but not removable loose enclosure

Page 16: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

Nesting also requires removal

16

enclosed, but not removable

cut

loose enclosure

Page 17: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

Nesting also requires removal

17

enclosed, but not removable loose enclosure

Page 18: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

Nesting also requires removal

18

enclosed, but not removable enclosed and removable loose enclosure

Page 19: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

We present highly parallelizable methods to…

• determine feasibility of nesting,

19

Page 20: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

We present highly parallelizable methods to…

• determine feasibility of nesting,• find maximum scale,

20

Page 21: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

We present highly parallelizable methods to…

• determine feasibility of nesting,• find maximum scale, and• optimize nesting scale

over some or all parameters

21

Page 22: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

Our optimization utilizes rigid motionfor tighter nesting

39% 53% 63%

fixed position+rotation fixed rotation free22

Page 23: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

Our optimization utilizes rigid motionfor tighter nesting

23

39% 53% 63%

fixed position+rotation fixed rotation free

Page 24: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

Our optimization utilizes rigid motionfor tighter nesting

24

39% 53% 63%

fixed position+rotation fixed rotation free

Page 25: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

We define valid self-nesting

25

A

AGiven:1. shape ,

Page 26: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

We define valid self-nesting

Given:1. shape ,2. similarity transform ,

26

A

A

T T (A)

Page 27: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

We define valid self-nesting

Given:1. shape , 2. similarity transform ,3. cut plane , and

27

AT (A)T

A

PP

Page 28: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

We define valid self-nesting

Given:1. shape , 2. similarity transform ,3. cut plane , and4. removal trajectories

28

AT (A)T

A

PP

Page 29: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

We define valid self-nesting

Given:1. shape , 2. similarity transform ,3. cut plane , and4. removal trajectories directions

29

AT (A)T

A

PP

Page 30: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

We define valid self-nesting

Must have:1. , and2. no collisions along

either direction after cutting by

30

AT (A)

A

P

T (A)⇢

A P

Page 31: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

We define valid self-nesting

Must have:1. , and2. no collisions along

either direction after cutting by

31

AT (A)

A

P

T (A)⇢

A PDefinition depends on choice of cut plane and removal directions.

Page 32: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

Some configurations admit perfect self-nesting

32

convex shapes?

Page 33: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

Some configurations admit perfect self-nesting

33

convex shapes?enclosure is easy ….

Page 34: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

Some configurations admit perfect self-nesting

34

convex shapes?enclosure is easy ….but removal depends on cut plane!

Page 35: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

[Zvyozdochkin & Malyutin 1890]

Page 36: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

invalid

valid36

Page 37: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

invalid

valid37

Page 38: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

38

Page 39: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

39

Page 40: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

40

Perfect self-nesting requires visibility of cut plane at all points along removal directions

Page 41: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

Our tool exploresnesting of arbitrary solid 3D shapes

41

Page 42: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

Our tool exploresnesting of arbitrary solid 3D shapes

42

Page 43: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

Our tool exploresnesting of arbitrary solid 3D shapes

43

Page 44: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

We cast this as a computational design problem

44

Manual design with traditional tools would be tortuous

Page 45: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

We cast this as a computational design problem

45

Manual design with traditional tools would be tortuous

Page 46: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

We cast this as a computational design problem

46

Manual design with traditional tools would be tortuous

Page 47: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

We cast this as a computational design problem

47

Manual design with traditional tools would be tortuous

Page 48: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

Step 1: we determine feasibility in real-timeby exploiting orthographic rendering

48

Page 49: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

Take a clue from order-independent transparency by “depth peeling”

49

Page 50: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

Take a clue from order-independent transparency by “depth peeling”

50

Page 51: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

Take a clue from order-independent transparency by “depth peeling”

51

Page 52: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

52

Take a clue from order-independent transparency by “depth peeling”

[Everitt 2001, Bavoil et al. 2007][Baldacci et al. 2016]

[Shade et al. 1998][Inui & Ohta 2007][Faure et al. 2008]

[Kim et al. 2002][Myszkowski et al.1995, Knott & Pai 2003, Heidelberger et al. 2004]

[Goldfeather et al. 1986, Kelley et al. 1994, Hable & Rossignac 2005]

a.k.a. K-Buffer, Layered Depth Imagestransparencyshape diameterimage-based renderingCNC millingintersection volumeswept volumescollision detectionCSG operations

Page 53: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

53

Take a clue from order-independent transparency by “depth peeling”

[Everitt 2001, Bavoil et al. 2007][Baldacci et al. 2016]

[Shade et al. 1998][Inui & Ohta 2007][Faure et al. 2008]

[Kim et al. 2002][Myszkowski et al.1995, Knott & Pai 2003, Heidelberger et al. 2004]

[Goldfeather et al. 1986, Kelley et al. 1994, Hable & Rossignac 2005]

a.k.a. K-Buffer, Layered Depth Imagestransparencyshape diameterimage-based renderingCNC millingintersection volumeswept volumescollision detectionCSG operations

Page 54: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

Step 1: we determine feasibility in real-timeby exploiting orthographic rendering

54

Page 55: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

Step 1: we determine feasibility in real-timeby exploiting orthographic rendering

55

Page 56: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

Step 1: we determine feasibility in real-timeby exploiting orthographic rendering

56

Page 57: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

Step 1: we determine feasibility in real-timeby exploiting orthographic rendering

57

Page 58: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

Step 1: we determine feasibility in real-timeby exploiting orthographic rendering

58

Page 59: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

Step 1: we determine feasibility in real-timeby exploiting orthographic rendering

59

Page 60: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

Step 1: we determine feasibility in real-timeby exploiting orthographic rendering

60

Page 61: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

Step 1: we determine feasibility in real-timeby exploiting orthographic rendering

61

Bad “codes”:• blue before orange• orange before green• orange before front-facing blue

Page 62: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

62

Step 1: we determine feasibility in real-timeby exploiting orthographic rendering

Page 63: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

63

Step 1: we determine feasibility in real-timeby exploiting orthographic rendering

Page 64: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

64

Step 1: we determine feasibility in real-timeby exploiting orthographic rendering

Page 65: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

65

Step 1: we determine feasibility in real-timeby exploiting orthographic rendering

Page 66: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

66

Step 1: we determine feasibility in real-timeby exploiting orthographic rendering

Page 67: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

67

Step 1: we determine feasibility in real-timeby exploiting orthographic rendering

Page 68: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

68

Step 1: we determine feasibility in real-timeby exploiting orthographic rendering

Feasible!• all green

Page 69: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

69

Step 1: we determine feasibility in real-timeby exploiting orthographic rendering

Feasible!• all green

“ping-pong” with 2 buffersGL_SAMPLES_PASSED

Page 70: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

70

Step 2: binary search to maximize scale

Assume momentarily that shape is convex

Fix cut plane, center of mass, rotation

Page 71: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

71

Step 2: binary search to maximize scale

Assume momentarily that shape is convex

Fix cut plane, center of mass, rotation

Page 72: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

72

Step 2: binary search to maximize scale

Assume momentarily that shape is convex

Fix cut plane, center of mass, rotation

Page 73: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

73

Step 2: binary search to maximize scale

Assume momentarily that shape is convex

Fix cut plane, center of mass, rotation

Page 74: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

74

Step 2: binary search to maximize scale

Assume momentarily that shape is convex

Fix cut plane, center of mass, rotation

Page 75: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

75

Step 2: binary search to maximize scale

Assume momentarily that shape is convex

Fix cut plane, center of mass, rotation

Page 76: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

76

Step 2: binary search to maximize scale

For non-convex shapes binary search is conservative,

but in practice optimal

Page 77: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

77

Step 2: binary search to maximize scale

For non-convex shapes binary search is conservative,

but in practice optimal

Page 78: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

78

Step 2: binary search to maximize scale

For non-convex shapes binary search is conservative,

but in practice optimal

Page 79: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

79

Step 2: binary search to maximize scale

For non-convex shapes binary search is conservative,

but in practice optimal

Page 80: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

80

Step 2: binary search to maximize scale

For non-convex shapes binary search is conservative,

but in practice optimal

Page 81: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

Step 3: optimize over all parameters

81

70%

0%

70%

maximize scale subject to nesting constraint

non-convex energy landscape

Page 82: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

Step 3: optimize over all parametersvia particle swarm optimization

82

k parameter vector as point in nD

Page 83: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

Step 3: optimize over all parametersvia particle swarm optimization

83

k parameter vector as point in nD

update each iteration according to “velocity”

Page 84: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

Step 3: optimize over all parametersvia particle swarm optimization

84

pull velocity toward personal best and global best of swarm

k parameter vector as point in nD

Page 85: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

Step 3: optimize over all parametersvia particle swarm optimization

85

random perturbations

k parameter vector as point in nD

Page 86: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

Naive P-Swarm would treat scale as just another parameter (coordinate)…

86

Page 87: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

… instead optimize over all others,

87

all other parameters

Page 88: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

… instead optimize over all others,

88

Page 89: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

… instead optimize over all others, and search for max scale

89

Page 90: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

… instead optimize over all others, and search for max scale

90

abort search early if upper bound < best

Page 91: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

Our optimization enables fully automatic Matryoshka generation…

91

Automatic Upright Custom Cut Plane

63%60% 56%

fully optimized

Page 92: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

… or partially constrained interactive design

92

Automatic Upright Custom Cut Plane

63%60% 56%fixed upright orientation

Page 93: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

… or partially constrained interactive design

93

Automatic Upright Custom Cut Plane

63%60% 56%

+ fixed cut plane

Page 94: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

Tool performs fast enough for interaction

94

Page 95: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

Tool performs fast enough for interaction

95

Page 96: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

We validate our results via 3D printing

96

Page 97: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

We validate our results via 3D printing

97

Page 98: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

We validate our results via 3D printing

98

Page 99: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

We validate our results via 3D printing

99

Page 100: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

We validate our results via 3D printing

100

Page 101: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

We validate our results via 3D printing

101

Page 102: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

We validate our results via 3D printing

102

Page 103: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

We validate our results via 3D printing

103

Page 104: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

We validate our results via 3D printing

104

Page 105: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

We validate our results via 3D printing

105

Page 106: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

We accommodate printer tolerances by nesting within an offset surface

106

Page 107: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

Our tools trivially generalize to nesting disparate shapes

107

Page 108: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

Limitations & Future Work• no global optimum guarantee

108

Page 109: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

Limitations & Future Work• no global optimum guarantee• search assumption too conservative

109

Page 110: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

Limitations & Future Work• no global optimum guarantee• search assumption too conservative• thin shapes don’t rigidly nest well

110

Page 111: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

Limitations & Future Work• no global optimum guarantee• search assumption too conservative• thin shapes don’t rigidly nest well• deformable nesting?

111

Page 112: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

Limitations & Future Work• no global optimum guarantee• search assumption too conservative• thin shapes don’t rigidly nest well• deformable nesting?

1. deform during design

112Prevost et al.

Page 113: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

Limitations & Future Work• no global optimum guarantee• search assumption too conservative• thin shapes don’t rigidly nest well• deformable nesting?

1. deform during design2. nest soft physical objects

113Bickel et al.

Page 114: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

Acknowledgements…David LevinNSERC Discovery Grants (RGPIN-2017-05235 & RGPAS-2017-507938)Connaught Fund (NR-2016-17)Adobe Systems Inc.Kevin Gibson, Masha Shugrina, Michael Tao, and Alex Tessier

114

Page 115: Generalized Matryoshka Computational Design of Nesting … · 2017. 10. 13. · Generalized Matryoshka Computational Design of Nesting Objects. Title: matryoshka-pdf Created Date:

115

Alec [email protected]

Generalized MatryoshkaComputational Design of Nesting Objects