Emily Whiting John Ochsendorf Frédo Durand Massachusetts Institute Of Technology, USA Procedural Modeling of Structurally-Sound Masonry Buildings 2
virtual environments models require visual realism important to interact physically with surroundings state of the art simple models or react in scripted ways architectural models 3
structurally stable will look more realistic suitable for physical simulations –react to external forces architectural models our result 4
structurally stable will look more realistic suitable for physical simulations –react to external forces earthquake simulation architectural models our result 5
Generate models that are structurally sound Inverse Statics Procedural modeling quickly generates complex architectural models Masonry material goal 6 unstable input stable output
Focus is on visual realism, mainly for detail in façades our contribution: our contribution: introduce physical constraints related work procedural modeling Parish et al. [2001] Wonka et al. [2003] Müller et al. [2006] Müller et al. [2007] Lipp et al. [2008] [Muller et al. 2006] 7
[ related work structural analysis Elastic Finite Element analysis wrong physical model for masonry not deformable 8 elastic material stress profile output is visualization solves forward problem not inverse
related work structural analysis geometric configuration rigid block assemblage [Heyman 1995] linear constraint formulation [Livesley 1978, 1992; RING software] elastic material masonry vs. 9 analyze material stress wrong physical model for masonry not deformable
Non-Structural Architectural free-form surfaces [Pottmann et al. 2008] Variational surface modeling [Welch and Witkin 1992] Layout design [Harada et al. 1995]Structural Structure optimization [Smith et al. 2002; Block et al. 2006] Tree modeling [Hart et al. 2003] Posing characters [Shi et al. 2007] related work design by optimization [Smith et al. 2002] [Pottmannet al. 2008] 10
procedural building generation analysis method for masonry inverse problem overview 11
procedural modeling [Muller et al. 2006] production rule input shape production type (parameters) {output shapes} 12
procedural modeling input shape production type (parameters) {output shapes} library of primitives production rule 13
procedural modeling input shape production type (parameters) {output shapes} library of primitives production rule 14 production subdivision, scale, translation, …
procedural modeling input shape production type (parameters) {output shapes} library of primitives production rule typical parameters height thickness of columns, walls, arches window size angle of flying buttresses 15 production subdivision, scale, translation, …
procedural modeling A Repeat(“x”,0.2){B}B Subdiv(“y”) {“wall”|C|”wall”} C Subdiv(“y”){D|”arch”} A D Subdiv(“x”){E} E S(0.2,1,1){“wall”} 16
blocks: mass interfaces: contact surfaces between blocks Output procedural modeling 17
procedural building generation analysis method for masonry inverse problem overview 18
conditions for stability static equilibrium masonry compression-only analysis overview for each block
20 conditions for stability static equilibrium masonry compression-only analysis overview requires tension feasible for each block
linear system of equations static equilibrium weights, torques geometry coefficients forces each block 21 A eq · f + w = 0 weight, w j f i f i+1
masonry compression-only positive normal forces no “glue” holding blocks together 22 normal force
linearized as pyramid friction cone 23 normal force friction force
summary model of feasibility Stablesolution exists Unstableno solution exists unknown forces, f A eq · f + w = 0 static equilibrium f n i ≥ 0 compression A fr · f ≤ 0 friction 24
summary model of feasibility Stablesolution exists Unstableno solution exists unknown forces, f A eq · f + w = 0 static equilibrium f n i ≥ 0 compression A fr · f ≤ 0 friction Problem binary,solution f exists yes/no 25
Problem binary,solution f exists yes/no tension required to stand how much “glue” Our Solution measure infeasibility summary model of feasibility A eq · f + w = 0 static equilibrium f n i ≥ 0 compression A fr · f ≤ 0 friction 26
tension required to stand how much “glue” Our Solution measure infeasibility measure of infeasibility A eq · f + w = 0 static equilibrium f n i ≥ 0 compression A fr · f ≤ 0 friction 27 relax constraint min f
f n i = f n i+ – f n i- where f n i+ ≥ 0 f n i- ≥ 0 tension split into positive, negative components normal force variable transformation compression 28 e.g. for compression forces f n i+ > 0 f n i- = 0
measure of infeasibility s.t. min f 29 A eq · f +w = 0 static equilibrium f n i+ ≥ 0, f n i- ≥ 0 allow tension A fr · f ≤ 0 friction Quadratic program
measure of infeasibility A eq · f +w = 0 static equilibrium f n i+ ≥ 0, f n i- ≥ 0 allow tension A fr · f ≤ 0 friction s.t. min f Quadratic program scalar output y 30
measure of infeasibility A eq · f +w = 0 static equilibrium f n i+ ≥ 0, f n i- ≥ 0 allow tension A fr · f ≤ 0 friction s.t. min f Quadratic program y = 0 feasible y > 0 measure of infeasibility scalar output y 31
measure of infeasibility 32
procedural building generation analysis method for masonry inverse problem overview 33
Procedural Model feasible? Analysis parameters optimization loop Update Parameters model from output parameters 34
Procedural Model feasible? parameters nested optimizations Update Parameters model from output parameters quadratic program minimum tension at parameters p i 35 p i+1
nested optimizations quadratic program minimum tension at parameters p i 36 p i+1 update parameters y(pi)y(pi)
nested optimizations quadratic program minimum tension at parameters p i 37 p i+1 y(pi)y(pi) find parameters for feasible structure, want y(p*) = 0
update parameters find parameters for feasible structure, want y(p*) = 0 nested optimizations quadratic program minimum tension at parameters p i 38 p i+1 y(pi)y(pi) nonlinear program arg min p y(p) MATLAB active-set algorithm, gradients with finite differencing
p0p0 arch example column width arch thickness column width arch thickness feasible region zero tension 39
Results 40
typical parameters building height thickness of columns, walls, arches window size angle of flying buttresses 41
results sainte chapelle tension forces unstable model from input parameters 42
results sainte chapelle 486 blocks, 17 sec/iter 4 parameter optimization unstable model from input parameters 43
results sainte chapelle 486 blocks 40 sec/iter 10 parameter optimization unstable model from input parameters 44
results Bezier curves 6 parameter optimizationunstable model from input parameters 45
results tower 32 parameter optimization 96 blocks,12 sec/iter unstable model from input parameters 46
results tower with safety factor unstable model from input parameters 32 parameter optimization 96 blocks,12 sec/iter 47
manually modify fixed parameters re-optimize free parameters to retain stability usage scenarios exploration Example user changes roof span automatically update angle of flying buttress 48
Load models into dynamic simulation Bullet Physics Engine [ usage scenarios dynamics 49
ground shake Bullet Physics Engine [ usage scenarios dynamics 50
Bullet Physics Engine [ usage scenarios dynamics projectile 51
blocks removed Bullet Physics Engine [ usage scenarios dynamics 52
Inverse analysis method Procedural modeling to specify design parameters Measure of infeasibility Optimization scheme to generate stable models summary stable buildings 53
Singapore-MIT Gambit Game Lab NSERC Canada Phillippe Siclait Sylvain Paris Yeuhi Abe Jovan Popovic Eugene Hsu 54 thanks...
Inverse analysis method Procedural modeling to specify design parameters Measure of infeasibility Optimization scheme to generate stable models summary stable buildings 55
extra slides 57
ground shake ∆ ground velocity= 4 m/s time step= 1/60 s model width~ 10 m Bullet settings: restitution (bounce) = 0.0 friction coefficient= Bullet Physics Engine [ usage scenarios dynamics 58
model#blocks#params#iterstime/iter Cluny s 57.3 s 70.0 s s arch s Sainte Chapelle s 26.5 s 29.3 s 40.1 s tower s barrel vault s performance 59