Professional Documents
Culture Documents
(Supplemental Material)
A Matrix Structure
We detail the matrix equation for static equilibrium:
Aeq f + w = 0
wj: 61 vector containing the 3D weight and net torque for block
j. Typically the only non-zero element is the z-component of
weight. For any external loads acting on block j, the force and
torque contributions are added here.
r
k
: Contains the unknown force vectors f
i
, for vertices i on inter-
face k. height(r
k
) is 4v
k
, where v
k
is the number of vertices on
interface k and each vertex contributes a 3D force with positive and
negative parts for the axial forces.
A
j,k
: Submatrices A
j,k
contain coefcients for net force and net
torque contributions from interface k acting on block j. Each A
j,k
has dimension 6height(r
k
). Rows 1-3 are coefcients for net
force contributions in x, y, z and rows 4-6 are coefcients for net
torque contributions about the x, y, z axes.
A
j,k
r
k
=
_
F
k
F
k
. . .
T
i,j,k
T
i+1,j,k
. . .
_
_
_
_
f
i
f
i+1
.
.
.
_
_
F
k
= [ en
k
eu
k
ev
k
] and T
i,j,k
= [( en
k
vi,j) ( eu
k
vi,j) ( ev
k
=
[en
eu
ev]
k
=
[(en vi,j) (eu vi,j) (ev vi,j)]
k
(en vi,j)
k
= en
vi,j
+
en
vi,j
= en
_
p
i,j
cj
_
+
en
vi,j
The derivative of the centroid position cj for block j is:
cj
_
vT
i,j
cT
i,j
vT
i,j
_
where vT
i,j
is the volume of tetrahedron i on block j and cT
i,j
is
the centroid of tetrahedron i.
vT
i,j
=
1
6
sign(a0 (a1 a2))
=
1
4
(a0 + a1 + a2)
where coordinates a0, a1, a2 are three corners of tetrahedron i, off-
set such that the fourth coordinate lies at the origin (0, 0, 0).
The derivative of the weight vector w/ for block j is given by:
wj
=
vj
g =
_
i
vT
i,j
_
g
where is the block density and g is the direction of gravity, and vj
is the volume of block j.
B.1 Constraint Derivatives
In the closed form solution of f
A
fr
/ = 0 and
I
lb
/ = 0.
C
=
_
_
Aeq/
0
0
_
_
,
b
=
_
_
w/
0
0
_
_
where is a parameterization of the structures geometry . The
derivations of Aeq/ and w/ are shown above.
B.2 Energy Derivatives
The expression for the derivative of f
= H
1
_
C
T
E
1
b + C
T
E
1
_
b
E
1
b
__
H is the weighting matrix for the objective function and is held
constant, and E = CH
1
C
T
. The derivative of E by application of
the chain rule is:
E/ = C/ H
1
C
T
+ C H
1
C
T
/
The terms C/ and b/ describe how the constraints change
as the geometry changes according to parameterization . The ex-
pression for the gradient of y() is given by:
y = y
uniform
+ ytorque
where the derivatives of uniform and torque tension energies are:
y
uniform
= f
T
H
uniform
f
ytorque
= f
T
Htorque
f
+
1
2
_
f
T
Htorque
_
with Htorque/ = (I Hmin)
T
Dtorque/(I Hmin). Ma-
trices H
uniform
and Hmin are constant since it assumed minimum-
tension vertices remain the same for differential movement.
C Cables
For gradient computation, we parametrize cables using the x,y,z
coordinates of their end points. The derivative of the weight vector
w/ for cable is given by:
w
=
L
g
where L is the length of the cable, and is its the mass per unit
length.
L
=
1
2
(p
0
p
1
)
P
0
p
0
p
1
where coordinates p
0
, p
1
are two ends of the cable.
The derivative of the cable tension direction is
et
(
p
0
p
1
p
0
p
1
)
=
p
0
p
1
(
p
0
) (p
0
p
1
) (
p
0
p
1
)
p
0
p
1