Declarative Design

64
Declarative Design Jonathan Bachrach EECS UC Berkeley October 13, 2015

Transcript of Declarative Design

Page 1: Declarative Design

Declarative Design

Jonathan Bachrach

EECS UC Berkeley

October 13, 2015

Page 2: Declarative Design

This Time 1

introduce declarative design – what not how?seedlings

Page 3: Declarative Design

News 2

lab 5 due thursdaytwo more weeks of lecturethen project proposals

Page 4: Declarative Design

Low Chair by Martin Ohlson 3

Page 5: Declarative Design

Fine Chair by Olle Gustafsson 4

Page 6: Declarative Design

Barcelona Chair 5

Page 7: Declarative Design

Metal Chair 1930 6

Page 8: Declarative Design

Bamboo Chair by Brave Space Designs 7

Page 9: Declarative Design

Design Problem as Optimization 8

each chair takes a huge effort to design and fabricateneed to quickly explore design spaceexplore as much as possible to ensure best designsomehow specify requirements

Page 10: Declarative Design

What is a Chair? 9

Page 11: Declarative Design

Chair Definition from dictionary.com 10

Page 12: Declarative Design

Elephant Degrees of Freedom by Von Neumann 11

With four parameters I can fit an elephant, and with five I can make himwiggle his trunk – Von Neumann

Page 13: Declarative Design

Chair Degrees of Freedom 12

Page 14: Declarative Design

Chair Sketch One 13

Page 15: Declarative Design

Chair Sketch Two 14

Page 16: Declarative Design

Breathing by uyingdesign.com 15

Page 17: Declarative Design

Hanging Chair by Giovanni Travasa 16

Page 18: Declarative Design

Supported Hanging Chair by Yahki Rattan 17

Page 19: Declarative Design

Bar Chair by Pierre Paulin 18

Page 20: Declarative Design

Pole Chair by Nicola Trudgen 19

Page 21: Declarative Design

Chair Sketch Three 20

Page 22: Declarative Design

Chair Sketch Four? 21

Page 23: Declarative Design

Flat Chair by Sarah Fisher Paculdo 22

Page 24: Declarative Design

Folding Chair by Brain Stream Design Studio 23

Page 25: Declarative Design

Accordian Chair by Chishen Chiu 24

Page 26: Declarative Design

Lightweight Chair by Mark Hagen 25

Page 27: Declarative Design

Storage Chair by Fishbol Furniture 26

Page 28: Declarative Design

Beautiful Chair by Michael Bihain 27

Page 29: Declarative Design

How Do We Express Definition? 28

know one when we see one ...obviously if articulating what we like is helpfulbut want to find design ...

need more computational expression of goodnessneed to be able to measure (un)desireable propertiesneed to be able to combine measures

Page 30: Declarative Design

Optimization 29

explore design spacefind best design point(s) whileminimizing computation

Page 31: Declarative Design

Find Chair Voxels 30

remove non chair voxels

Page 32: Declarative Design

Generative Challenges 31

completenessminimalitycoverageefficiency

Page 33: Declarative Design

Tractable Generators 32

Evolutionary – by exampleGenerative GrammarsProcedural Generators

Page 34: Declarative Design

Evolutionary 33

Page 35: Declarative Design

Chair Grammar? 34

Page 36: Declarative Design

Generative Grammar 35

Page 37: Declarative Design

Design Space Exploration 36

generallygenerate candidatescollect best based on goodness

want toavoid generating bad candidates

Page 38: Declarative Design

Chair Goodness Function 37

supportstrength to weightsizeetc

translate into measurable entity

Page 39: Declarative Design

Holy Crank Example 38

want speed holes in crankvariedbalancedgiven densityavoid screw holes

random speed holes is too slowhow to write tractable generator?

Page 40: Declarative Design

Holy Crank Outputs 39

Page 41: Declarative Design

Uniform Point in Circle 40

Page 42: Declarative Design

Holy Crank Solution 41

divide crank into pie slicessample according to densitymaintain free listonly add hole if it improves balance

Page 43: Declarative Design

Holy Crank Demo 42

gear -step :density 0.5 :num-speed-holes 100

Page 44: Declarative Design

Furniture Layout 43

placement of furniture optimizedmoves – translation and rotationscost functionsimulated annealing

Page 45: Declarative Design

Furniture Layout Cost Function 44

functional criteriaclearancecirculationconversation

visual criteriabalancealignmentemphasis

merrell + schkufza + li + agrawala + koltun

Page 46: Declarative Design

Individual Terms 45

merrell + schkufza + li + agrawala + koltun

Page 47: Declarative Design

Simulated Annealing Algorithm 46

T <- initial temperature

L <- initial layout

C <- cost( layout )

until (equilibrium reached)

S,M <- choose stencil,move

L’ <- L + S,M // move and relayout

C’ <- cost(L’) // update cost

if ((C’ - C) is acceptable)

L <- L’

T <- schedule(T)

Page 48: Declarative Design

Furniture Moves 47

translationrotations

Page 49: Declarative Design

Robot Design is Absurd 48

domo by meka robotics

Page 50: Declarative Design

Factoring Design 49

skeletal specificationtransformationssmaller search space!reduced degrees of freedom

Page 51: Declarative Design

2d -> 3d – Extrusions 50

draw in 2d – extrude into 3deasier and more robust than 3d modeling

Page 52: Declarative Design

1d -> 3d – Generalized Cylinders 51

ballard + brown

Page 53: Declarative Design

Abstracting Function 52

build system out of abstract functionssay what it does but not howplace holders for efficient implementations

Page 54: Declarative Design

Abstract Joints 53

bullet physics manual

Page 55: Declarative Design

Rigging 54

Tubbrit

Page 56: Declarative Design

Furniture Components 55

casterspulls

Page 57: Declarative Design

Multiple Advantages 56

reduced search spacekeeps design higher level and intuitiveseparates concernsencourages modularitypowerful lower dimensional generator

Page 58: Declarative Design

Future Lectures 57

generative designdesign space exploration

Page 59: Declarative Design

Declarative Design Recap 58

what not how is powerfulspecification languagetractable generation of candidatescomputational goodness (and aesthetics)searching good designs

Page 60: Declarative Design

Fabricate Less – Simulate More 59

sketch chair

Page 61: Declarative Design

Readings For Today 60

Make It Stand: Balancing Shapes for 3d Fabrication by Prevost,Whiting, Lefebvre, Sorkine-HornungInteractive Furniture Layout Using Interior Design Guidelines byMake It Home: Automatic Optimization of Furniture Arrangement byYu, Yeung, Tang, Tezopoulos, Chan, OsherHalide: Decoupling Algorithms from Schedules for EasyOptimization of Image Processing Pipelines by Ragan-Kelley,Barnes, Adams, Paris, Durand, AmarasingheSpec2Fab: A Reducer-Tuner Model for Translating Specifications to3D Prints by chen, levin, didyk, sitthi-amorn, matusikComputational Design of Mechanical Characters by Coros,Thomaszewski, Noris, Sudea, Forberg, Sumner, Matusik, Bickelsketch chair http://www.sketchchair.cc

Page 62: Declarative Design

Tradeoffs 61

weight versus strengthweight versus stabilitydurability versus pricecomfort versus style

Page 63: Declarative Design

Tradeoffs Challenges 62

how do we specify preferences?some are soft and others are hardhow do we measure success?

Page 64: Declarative Design

Optimization 63

explore design spacefind best design pointminimizing computation