WhitingOchsendorfDurand_SIGGRAPHAsia09

advertisement
Procedural Modeling of
Structurally-Sound Masonry Buildings
Emily Whiting John Ochsendorf Frédo Durand
Massachusetts Institute Of Technology, USA
2
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
3
architectural models
structurally stable
• will look more realistic
• suitable for physical simulations
– react to external forces
our result
4
architectural models
structurally stable
• will look more realistic
• suitable for physical simulations
– react to external forces
our result
5
earthquake simulation
goal
Generate models that are structurally sound
• Inverse Statics
• Procedural modeling
quickly generates complex architectural models
• Masonry material
unstable input
stable output
6
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
7
related work structural 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/]
8
related work structural analysis
elastic material
analyze material stress
wrong physical model for masonry
not deformable
vs.
masonry
geometric configuration
rigid block assemblage [Heyman 1995]
linear constraint formulation
[Livesley 1978, 1992; RING software]
9
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]
[Pottmannet al. 2008]
Structural
• Structure optimization
[Smith et al. 2002; Block et al. 2006]
• Tree modeling [Hart et al. 2003]
• Posing characters [Shi et al. 2007]
10
[Smith et al. 2002]
overview
procedural building generation
analysis method for masonry
inverse problem
11
procedural modeling
production rule
input shape  production type (parameters) {output shapes}
12
[Muller et al. 2006]
procedural modeling
production rule
input shape  production type (parameters) {output shapes}
library of primitives
13
procedural modeling
production rule
input shape  production type (parameters) {output shapes}
library of primitives
production
• subdivision, scale, translation, …
14
procedural modeling
production rule
input shape  production type (parameters) {output shapes}
library of primitives
production
• subdivision, scale, translation, …
typical parameters
•
•
•
•
height
thickness of columns, walls, arches
window size
angle of flying buttresses
15
procedural modeling
A
C 
Subdiv(“y”){D|”arch”}
A  Repeat(“x”,0.2){B}
B  Subdiv(“y”)
{“wall”|C|”wall”}
D  Subdiv(“x”){E}
E 
S(0.2,1,1){“wall”}
16
procedural modeling
Output
• blocks: mass
• interfaces: contact
surfaces between blocks
17
overview
procedural building generation
analysis method for masonry
inverse problem
18
analysis overview
conditions for stability
• static equilibrium
 forces  0
 torques  0
for each
block
• masonry compression-only
analysis overview
conditions for stability
• static equilibrium
 forces  0
 torques  0
requires tension
for each
block
• masonry compression-only
feasible
20
static equilibrium
f i+1
fi
linear system of equations
 forces  0
 torques  0
each block
weight, wj
Aeq· f + w = 0
geometry
coefficients
forces
weights,
torques
21
masonry
compression-only
normal force
f
i
n
positive normal forces
f 0
i
n
no “glue” holding
blocks together
22
friction cone
normal force
linearized as pyramid
i
t1
f , f
i
t2
 f
i
n
f
i
n
friction force
f
i
t1
f t i2
23
summary model of feasibility
Aeq· f + w = 0 static equilibrium
fni ≥ 0
compression
Afr· f ≤ 0
friction
Stable
Unstable
unknown
forces, f
solution exists
no solution exists
24
summary model of feasibility
Problem
binary,solution f exists yes/no
Aeq· f + w = 0 static equilibrium
fni ≥ 0
compression
Afr· f ≤ 0
friction
Stable
Unstable
unknown
forces, f
solution exists
no solution exists
25
summary model of feasibility
Problem
binary,solution f exists yes/no
Aeq· f + w = 0 static equilibrium
fni ≥ 0
compression
Afr· f ≤ 0
friction
Our Solution
measure infeasibility
tension required
to stand
how much “glue”
26
measure of infeasibility
Our Solution
measure infeasibility
min tension
f
Aeq· f + w = 0 static equilibrium
fni ≥ 0
compression
Afr· f ≤ 0
friction
tension required
to stand
how much “glue”
relax constraint
27
normal force variable transformation
f ni
split into positive, negative components
compression
tension
fni = fni+ – fnie.g. for compression forces
where
fni+ ≥ 0 fni- ≥ 0
i+
fn > 0
ifn = 0
28
measure of infeasibility
Quadratic program
min
f
i 2
(
f
 n)
s.t. Aeq· f +w = 0
static equilibrium
fni+ ≥ 0, fni-≥ 0
allow tension
Afr· f ≤ 0
friction
29
measure of infeasibility
Quadratic program
min
f
i 2
(
f
 n)
s.t. Aeq· f +w = 0
scalar output
y
static equilibrium
fni+ ≥ 0, fni-≥ 0
allow tension
Afr· f ≤ 0
friction
30
measure of infeasibility
Quadratic program
min
f
i 2
(
f
 n)
s.t. Aeq· f +w = 0
scalar output
y
static equilibrium
fni+ ≥ 0, fni-≥ 0
allow tension
Afr· f ≤ 0
friction
y = 0 feasible
y > 0 measure of infeasibility
31
measure of infeasibility
32
overview
procedural building generation
analysis method for masonry
inverse problem
33
optimization loop
parameters
Update
Parameters
Procedural
Model
Analysis
feasible?
model from
output
parameters
34
nested optimizations
parameters
pi+1
Procedural
Model
quadratic
program
minimum tension
at parameters
pi
Update
Parameters
feasible?
model from
output
parameters
35
nested optimizations
pi+1
quadratic
program
update
parameters
y(pi)
minimum tension
at parameters
pi
36
nested optimizations
find parameters for feasible
structure, want y(p*) = 0
pi+1
quadratic
program
update
parameters
y(pi)
minimum tension
at parameters
pi
37
nested optimizations
nonlinear program
arg minp y(p)
find parameters for feasible
structure, want y(p*) = 0
pi+1
quadratic
program
update
parameters
y(pi)
minimum tension
at parameters
pi
MATLAB active-set algorithm, gradients with finite differencing
38
arch example
arch
thickness
2
(
tension
)

p0
column
width
arch thickness
column width
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
unstable model from
input parameters
tension forces
42
results sainte chapelle
unstable model from
input parameters
486 blocks,
17 sec/iter
4 parameter optimization
43
results sainte chapelle
unstable model from
input parameters
486 blocks
40 sec/iter
10 parameter optimization
44
results Bezier curves
unstable model from
input parameters
6 parameter optimization
45
results tower
unstable model from
input parameters
96 blocks,12 sec/iter
32 parameter
optimization
46
results tower
unstable model from
input parameters
96 blocks,12 sec/iter
32 parameter
optimization
with safety factor
47
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
48
usage scenarios dynamics
Load models into dynamic simulation
Bullet Physics Engine
[http://www.bulletphysics.com/]
49
usage scenarios dynamics
ground shake
50
Bullet Physics Engine [http://www.bulletphysics.com/]
usage scenarios dynamics
projectile
51
Bullet Physics Engine [http://www.bulletphysics.com/]
usage scenarios dynamics
blocks
removed
52
Bullet Physics Engine [http://www.bulletphysics.com/]
summary stable buildings
• Inverse analysis method
• Procedural modeling to specify design parameters
• Measure of infeasibility
• Optimization scheme to generate stable models
53
thanks...
Singapore-MIT Gambit Game Lab
NSERC Canada
Phillippe Siclait
Sylvain Paris
Yeuhi Abe
Jovan Popovic
Eugene Hsu
54
summary stable buildings
• Inverse analysis method
• Procedural modeling to specify design parameters
• Measure of infeasibility
• Optimization scheme to generate stable models
55
extra slides
57
usage scenarios dynamics
ground shake
∆ ground velocity = 4 m/s
time step
= 1/60 s
model width
~ 10 m
Bullet settings:
restitution (bounce) = 0.0
friction coefficient = 0.895
58
Bullet Physics Engine [http://www.bulletphysics.com/]
performance
model
#blocks #params
#iters
time/iter
10
5
4
9
45.7 s
57.3 s
70.0 s
106.6 s
Cluny
986
4
5
7
9
arch
10
2
6
0.1 s
Sainte
Chapelle
486
3
5
7
10
4
9
6
8
12.5 s
26.5 s
29.3 s
40.1 s
tower
96
32
6
12.5 s
barrel vault
140
1
8
0.659s
Download