590 likes | 745 Views
Procedural Modeling of Structurally-Sound Masonry Buildings. Emily Whiting John Ochsendorf Frédo Durand Massachusetts Institute Of Technology, USA. architectural models. virtual environments models require visual realism important to interact physically with surroundings
E N D
Procedural Modeling ofStructurally-Sound Masonry Buildings Emily Whiting John OchsendorfFrédo Durand Massachusetts Institute Of Technology, USA
architectural models 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 structurally stable • will look more realistic • suitable for physical simulations • react to external forces our result
architectural models structurally stable • will look more realistic • suitable for physical simulations • react to external forces our result earthquake simulation
goal Generate models that are structurally sound • Inverse Statics • Procedural modeling quickly generates complex architectural models • Masonry material stable output unstable input
related work procedural modeling Focus is on visual realism, mainly for detail in façades 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] our contribution: introduce physical constraints
related workstructural analysis • elastic material Elastic Finite Element analysis • wrong physical model for masonry • not deformable • stress profile • output is visualization • solves forward problem not inverse [http://www.csiberkeley.com/]
related work structural analysis geometric configuration rigid block assemblage [Heyman 1995] linear constraint formulation[Livesley 1978, 1992; RING software] • elastic material analyze material stress • wrong physical model for masonry • not deformable • vs. • masonry
related work design by optimization 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] [Smith et al. 2002] [Pottmannet al. 2008]
overview procedural building generation analysis method for masonry inverse problem
procedural modeling production rule input shape production type (parameters) {output shapes} [Muller et al. 2006]
procedural modeling production rule input shape production type (parameters) {output shapes} library of primitives
procedural modeling production rule input shape production type (parameters) {output shapes} • production • subdivision, scale, translation, … library of primitives
procedural modeling production rule input shape production type (parameters) {output shapes} • production • subdivision, scale, translation, … library of primitives • typical parameters • height • thickness of columns, walls, arches • window size • angle of flying buttresses
procedural modeling A Repeat(“x”,0.2){B} B Subdiv(“y”){“wall”|C|”wall”} A C Subdiv(“y”){D|”arch”} E S(0.2,1,1){“wall”} D Subdiv(“x”){E}
procedural modeling Output • blocks: mass • interfaces: contact surfaces between blocks
overview procedural building generation analysis method for masonry inverse problem
analysis overview • conditions for stability • static equilibrium • masonry compression-only for eachblock
analysis overview • conditions for stability • static equilibrium • masonry compression-only requires tension for eachblock feasible
f i+1 linear system of equations static equilibrium • f i each block • weight, wj Aeq· f + w = 0 geometrycoefficients forces weights,torques
masonry • normal force compression-only positive normal forces • no “glue” holding blocks together
friction cone • friction force • normal force linearized as pyramid
Aeq· f + w = 0 static equilibriumfni ≥ 0 compressionAfr· f ≤ 0 friction summary model of feasibility unknownforces, f Stable solution existsUnstable no solution exists
Aeq· f + w = 0 static equilibriumfni ≥ 0 compressionAfr· f ≤ 0 friction summary model of feasibility Problembinary,solution f exists yes/no unknownforces, f Stable solution existsUnstable no solution exists
summary model of feasibility Problembinary,solution f exists yes/no Our Solution measure infeasibility • Aeq· f + w = 0 static equilibriumfni ≥ 0 compressionAfr· f ≤ 0 friction tension required to stand how much “glue”
measure of infeasibility Our Solution measure infeasibility minf • Aeq· f + w = 0 static equilibriumfni ≥ 0compressionAfr· f ≤ 0 friction tension required to stand how much “glue” relax constraint
normal force variable transformation • split into positive, negative components compression tension fni= fni+– fni-where fni+ ≥0 fni-≥0 e.g. for compression forces fni+ > 0 fni-=0
measure of infeasibility Quadratic program minf s.t. Aeq· f +w = 0 static equilibrium fni+ ≥ 0, fni-≥ 0 allow tension Afr· f ≤ 0 friction
measure of infeasibility Quadratic program scalar outputy minf s.t. Aeq· f +w = 0 static equilibrium fni+ ≥ 0, fni-≥ 0 allow tension Afr· f ≤ 0 friction
measure of infeasibility Quadratic program scalar outputy minf s.t. Aeq· f +w = 0 static equilibrium fni+ ≥ 0, fni-≥ 0 allow tension Afr· f ≤ 0 friction y = 0feasible • y > 0measure of infeasibility
overview procedural building generation analysis method for masonry inverse problem
optimization loop Update Parameters parameters Analysis ProceduralModel feasible? model fromoutputparameters
nested optimizations Update Parameters parameters pi+1 ProceduralModel • quadratic program feasible? minimum tension at parameterspi model fromoutputparameters
nested optimizations pi+1 • update parameters • quadratic program y(pi) minimum tension at parameterspi
nested optimizations find parameters for feasible structure, want y(p*) = 0 pi+1 • update parameters • quadratic program y(pi) minimum tension at parameterspi
nested optimizations nonlinear program arg minpy(p) find parameters for feasible structure, want y(p*) = 0 pi+1 • update parameters • quadratic program y(pi) minimum tension at parameterspi • MATLAB active-set algorithm, gradients with finite differencing
arch example p0 archthickness arch thickness column width columnwidth feasible region zero tension
typical parameters • building height • thickness of columns, walls, arches • window size • angle of flying buttresses
results saintechapelle unstable model frominput parameters tension forces
results saintechapelle 486 blocks, 17 sec/iter unstable model frominput parameters 4 parameter optimization
results saintechapelle 486 blocks 40 sec/iter unstable model frominput parameters 10 parameter optimization
results Bezier curves unstable model frominput parameters 6 parameter optimization
results tower 96 blocks,12 sec/iter unstable model frominput parameters 32 parameter optimization
results tower 96 blocks,12 sec/iter unstable model frominput parameters 32 parameter optimization with safety factor
usage scenarios exploration • manually modify fixed parameters • re-optimize free parameters to retain stability Example user changes roof span automatically update angle of flying buttress
usage scenarios dynamics Load models into dynamic simulation Bullet Physics Engine [http://www.bulletphysics.com/]
usage scenarios dynamics ground shake Bullet Physics Engine [http://www.bulletphysics.com/]