Moment Integrations for
3D Printed Shapes
Nobuyuki Umetani
Autodesk Research[Prevost et al. 2013]

Overview• Intro• IntegraBon over 3D domain• Mass• Center of Mass
• Moment of InerBa

Inhomogeneous Material Distribution
color

hIp://www.stratasys.com/

sBﬀness[Skouras et al.2013]

Inhomogeneous Density Distribution

Built-to-last, [Lu et al. 2014]

Buoyancy OpBmizaBon, [Wang et al. 2016]

Measure of 3D Density Distribution• How much density informaBon can you sBll
measure without seeing ‘inside’ of a 3D shape?

⌦⇢(~x)

Invariants of 3D Density Distribution
Put on the scale

Hang on a string

Rotate on an axis

Invariants of 3D Density Distribution
Mass

Center of Mass

Moment of InerBa

Invariants of 3D Density Distribution
ZMass(~x)0 dv⌦

Center of MassZ

Moment of InerBa(~x)1 dv⌦

IntegraBon characterize these properBes

Z(~x)2 dv⌦

Overview• Intro• IntegraBon over a domain• Mass• Center of Mass
• Moment of InerBa

Integration Formula is Convenient
Decomposing the integraBon region into simpler shapes

Zf dv =⌦⌦Zf dv +⌦1Zf dv⌦2⌦1⌦2

Integration Rules for the Simplex Shape• Simplex shapepointtriangle

line

tetrahedron

Integration Rules for the Simplex Shape• Simplex shape• DecomposiBon
simplestpointline~0triangle

tetrahedron

inverted or
skewed elements

FEM-sBle

Integration Rules: Analytical
Barycentric coordinate (L1 , L2 , L3 )A = A1 + A2 + A3A3 A2A1

Li = Ai /AIntegration Rules: Analytical
PosiBon and integrand are both represented using theBarycentric coordinate
posiBon~x1~x = ~x1 L1 + ~x2 L2 + ~x3 L3L2L3integrandf (~x) = f (L1 , L2 , L3 )

~x~x2

L1~x3

Integration Rules: Analytical
For polynomial integrands, there is an analyBc integraBon formulaf (L1 , L2 , L3 ) = La1 Lb2 Lc3
L3
L1L2IntegraBon over the triangle
Z

A

La1 Lb2 Lc3 da =a!b!c!2!
A(a + b + c + 2)!

Integration Rules: Analytical
1DZ

2DZ

3DZLAV

La1 Lb2 dl =a!b!1!
L(a + b + 1)!

La1 Lb2 Lc3 da =a!b!c!2!
A(a + b + c + 2)!

La1 Lb2 Lc3 Ld4 dv =a!b!c!d!3!
V(a + b + c + d + 3)!

Proof of them is VERY diﬃcult (need the Gamma funcBon) hIps://en.wikipedia.org/wiki/Beta_funcBon

Integration Rules: Numerical
Trapezoid rule
Trapezoid area approximate integraBon

f (x)
f (a)

f (b)

ab

Integration Rules: Numerical
Trapezoid rule

Newton-Cotes quadrature
Interpolate values with polynomial

f (x)

f (x)

aa+b2baa+b2bIntegration Rules: Numerical
Trapezoid rule

Gauss quadrature
Wisely chosenevaluaBon points

f (x)

f (x)

abab

Overview• Intro• IntegraBon over 3D domain• Mass• Center of Mass
• Moment of InerBa

Mass
M=

X

m2

mi

m1
m3

Mass
M=

M=

X
Z

m2

mi

m1
m3
Homogeneousdensity⇢(~x)dVVM =⇢ZdVV

Volume of a Triangle MeshⅠ
CompuBng volume integral using volume discreBzaBon

Area(Volume integral) = area( )+area( )+area( )+…
Divide the region into simplexes

Volume of a Triangle MeshⅠ
CompuBng volume integral using volume discreBzaBon

Area(Volume integral) = area( )+area( )+area( )+…
OK to be inverted. The area can be minus

Volume of a Triangle MeshⅠ
Volume of a tetrahedron

1Vtet = Ah3hA

Volume of a Triangle MeshⅠ
Volume of a tetrahedron~0h~x1~n1
Vtet = Ah
3
1= A(~x1 · ~n)3~x3
A
1 ~x1 + ~x2 + ~x3= A· ~n3
3~x2

Volume of a Triangle MeshⅠ
Volume of a tetrahedron can be computed from a parallelepiped~x1 ⇥ ~x2~x3

V = ~x3 · (~x1 ⇥ ~x2 )~x2~x1Volume of a Triangle MeshⅠ
Volume of a tetrahedron can be computed from a parallelepiped~x1 ⇥ ~x2vector triple product~x3~x2~x1

V = ~x3 · (~x1 ⇥ ~x2 )= ~x1 · (~x2 ⇥ ~x3 )= ~x2 · (~x3 ⇥ ~x1 )Volume of a Triangle MeshⅠ
Volume of a tetrahedron can be computed from a parallelepiped~x1 ⇥ ~x2~x31Vtet = ~x3 · (~x1 ⇥ ~x2 )6~x2~x1

Volume of a Triangle Mesh Ⅱ
CompuBng volume integraBon using surface integraBon
The Gauss’s divergence theoremZ⌦(r · F~ )dv =volume integraBon

Z@⌦(F~ · ~n)ds

surface integraBon

Volume of a Triangle Mesh ⅡZ⌦(r · F~ )dv =~vector ﬁeld F~nVSZ@⌦(F~ · ~n)ds

measures total outward
ﬂow through V's boundaryVolume of a Triangle Mesh Ⅱ
add up liIle bits ofoutward ﬂow in VZ⌦(r · F~ )dv =divergence@Fx@Fy@Fz
=++@x
@y@zZ

@⌦

(F~ · ~n)dsr · F~ > 0

r · F~ < 0

r · F~ = 0

Volume of a Triangle Mesh ⅡZdv =⌦Z⌦~ =1r·F(r · F~ )dv ==1Z@⌦

(F~ · ~n)ds~ looks like?
What’s the F

Volume of a Triangle Mesh Ⅱ~One example forF
1
1~F = ~x = (x~ex + y~ey + z~ez )3
3Z

dv =⌦Z@⌦✓◆

1~x · ~n ds =
3X Z

t2Tri

@⌦t

✓

◆

1~x · ~n ds3Volume of a Triangle Mesh Ⅱ~
One example forF
1
1~F = ~x = (x~ex + y~ey + z~ez )
3
3
Z

dv =
⌦ZZ@⌦✓◆

1~x · ~n ds =
3X Z

t2Tri

@⌦t

✓

◆

1~x · ~n ds
3

1
1 ~x1 + ~x2 + ~x3(L1 ~x1 + L2 ~x2 + L3 ~x3 ) · ~nds = A· ~n333@⌦tApplication of Mass: Buoyancy
Force on the surface is always innormal direcBon

f~ =~n⌦@⌦zf~⇢gz~n= T ~nCauchy stress

T =0z⇢g @ 000z
0100 Az

Cauchy Stress Tensor
nSymmetric matrix that relate cumng plane normal ~and force on the cumng plane f~~nf~ = T~n

T=✓1 00 0◆T=✓1 00 1◆

Application of Mass: Buoyancy
We can now proof Archimedes' principle.

F~ =Z

f~ds =@⌦Z@⌦(T · ~n)ds =?

~F

@⌦

f~

Application of Mass: Buoyancy
We can now proof Archimedes' principle.

F~ =Zf~ds =@⌦Z@⌦(T · ~n)ds =?

~F

The divergence theorem for tensorZ⌦(r · T)dv =Z@⌦(T · ~n)ds@⌦f~

Interesting Object: Cartesian DiverhIps://www.youtube.com/watch?v=sNOXFiJ4IDU

Research in CG: Buoyancy Optimization

Buoyancy OpBmizaBon, [Wang et al. 2016] hIp://vcl.cs.dartmouth.edu/publicaBons/eg-buoyancy/

Overview• Intro• IntegraBon over 3D domain• Mass• Center of Mass
• Moment of InerBa

The Center of Massweighted average of the posiBon~ =C1 XM

mi ~xi~x1 m1m2~x2m3 ~x3

The Center of Massweighted average of the posiBon

~ =C

1 X

M

1~ =CMZ

mi ~xi~x1 m1

m3 ~x
Homogeneousdensity⇢(~x)~xdv⌦m2~x2

⇢
~ =CM

Z

3~xdv
⌦

The Center of Mass and Balance
We can hang an object staBc by pumng string above CMgravity~C~gm1~x1~C↵~gm2~x2

The Center of Mass and Balance
We can hang an object staBc by pumng string above CM~C↵~g~x1

T1

m1~g

Torque from the right side of the object~
T1 = (m1~g ) ⇥ (C↵~g~x1 )The Center of Mass and Balance
We can hang an object staBc by pumng string above CMgravity~C~g

Sum of the torque is always zero

m1~x1

↵~g

m2~
C~x2X~(mi~g ) ⇥ (C↵~g~xi ) = 0

Balancing Toy

hIps://www.youtube.com/watch?v=wKvk-Q7U3nM

Criteria for Stability: Point Support

Criteria for Stability: Point Support
energy smallenergy large

CM Can be Outside: The Fosbury Flop
1968 summer Olympic in Mexico City[TED Ed, hIps://www.youtube.com/watch?v=RaGUW1d0w8g]

hIps://www.youtube.com/watch?v=Id4W6VA0uLc

Criteria for Stability: Standing

Center of mass should be above the support region

Criteria for Stability: Standing[Prevost et al. 2013]

Center of mass should be above the support region

SupporBng polygon(convex hull of touching points)

Criteria for Stability: Smooth Surface
Roly-poly toyenergy smallenergy large

Weight at the boIom
Nearly ﬂat surface

hIps://en.wikipedia.org/wiki/Roly-poly_toy

Center of Mass for Shell Triangle Mesh⌦⌦trihZ⌦X Z~xdv =ht2T~xds⌦tri~x1L2L3~xZ~xds =
⌦tri

Z~x2

L1~x3

(L1 ~x1 + L2 ~x2 + L3 ~x3 )ds⌦tri~x1 + ~x2 + ~x3=A3

Center of Mass for Solid Triangle MeshZ⌦~xdv =⌦XZ
t2T~0~xdv
⌦tet

⌦tet

~x1~0
Z~xdv =
⌦tet

Z~x~x3~x2(L1 ~x1 + L2 ~x2 + L3 ~x3 + L4~0)dv⌦tet=V~x1 + ~x2 + ~x34

Center of Mass for Solid Triangle MeshⅡThe divergence theorem for tensor

Z~xdv =⌦

r · T = ~xZ(r · T)dv =⌦ =~xZ@⌦(T · ~n)ds

What’s the T looks like?

Center of Mass for Solid Triangle MeshⅡThe divergence theorem for tensor

Z~xdv =⌦

r · T = ~xZ(r · T)dv =⌦ =~xZ@⌦(T · ~n)ds

What’s the T looks like?
One example:
02x
1@0
T=
200y20

1

00 Az2

Interesting Object: Sphericon

hIps://www.youtube.com/watch?v=L4KQmk7QEVQInteresting Object: Gomboc• Convex and homogeneous object that has asingle stable conﬁguraBon

hIps://www.youtube.com/watch?v=p96YazGhlY4

Research in CG: Make it Stand

Make It Stand, [Prevost et al. 2013], hIp://igl.ethz.ch/projects/make-it-stand/Overview• Intro• IntegraBon over 3D domain• Mass• Center of Mass
• Moment of InerBa

The Moment of Inertia

axis of rotaBon

We can deﬁne moment & energy ofrotaBng object using MIr2 m

I=X2
mi ri2m1 r1

r3m3

The Moment of Inertia

axis of rotaBon

We can deﬁne moment & energy ofrotaBng object using MI

r2 m

I=

I=ZX

2
mi ri2⇢(~x)r(~x) dv
⌦2

m1 r1

r3
HomogeneousdensityI=⇢

m3Z

2r(~x) dv⌦

Angular Momentum and MI!
~

angular momentum

mi~xi~0~ =L

X~xi ⇥ (mi~vi )Angular Momentum and MI!
~

angular momentum

mi~xi~0~ =L=

X

X~xi ⇥ (mi~vi )mi ~xi ⇥ (~! ⇥ ~xi )Angular Momentum and MI!
~

angular momentum

mi~xi~ =L=X

X~xi ⇥ (mi~vi )mi ~xi ⇥ (~! ⇥ ~xi )~a ⇥ (~b ⇥ ~c) = (~a · ~c)~b~0= I~!

(~a · ~b)~c

Conservation of Angular Momentum

hIps://www.youtube.com/watch?v=UZlW1a63KZs

Kinetic Energy and MI!
~KineBc Energyri

mi~xi~0

E=

X1

2

mi |~vi |2

Kinetic Energy and MI!
~KineBc Energyri

mi~xi~0E=

X1

mi |~vi |22
X1
2=mi (|w|r~ i)2
12= I|~!|2Example of Moment of Inertia• Same weight give a diﬀerent Moment of InerBa• Pumng weight outer ward give large Moment of InerBa

hIps://en.wikipedia.org/wiki/File:Moment_of_inerBa_examples.gif

Slope Version of Galileo’s Pisa ExperimenthIps://en.wikipedia.org/wiki/Moment_of_inerBa

Application: Flywheelsmall I

large IApplication: Flywheelsmall I

Smoothing output of engine

large I

Energy storage

ReacBon wheel

Moment of Inertia for a Tetrahedron!
~~x1~x~0~x3~x2~x = L1 ~x1 + L2 ~x2 + L3 ~x3 + L4~0
= Li xi

Moment of Inertia for a Tetrahedron!
~r!
~ · ~x2r = (~x · ~x)~x~0~x = L1 ~x1 + L2 ~x2 + L3 ~x3 + L4~0
= Li ~xi(~! · ~x)2

Moment of Inertia for a Tetrahedron!
~r!
~ · ~x2

r = (~x · ~x)~x~0~x = L1 ~x1 + L2 ~x2 + L3 ~x3 + L4~0
= Li ~xi(~! · ~x)

= (Li ~xi ) · (Lj ~xj )2(Li ~xi · !
~ ) · (Lj ~xj · !
~)Moment of Inertia for a Tetrahedron!
~r!
~ · ~x2

r = (~x · ~x)~x~0~x = L1 ~x1 + L2 ~x2 + L3 ~x3 + L4~0
= Li ~xi(~! · ~x)

2= (Li ~xi ) · (Lj ~xj )(Li ~xi · !
~ ) · (Lj ~xj · !
~)= Li Lj (~xi · ~xj )Li Lj (~xi · !
~ )(~xj · !
~)Moment of Inertia for a Tetrahedron!
~r!
~ · ~x2

r = (~x · ~x)~x~0~x = L1 ~x1 + L2 ~x2 + L3 ~x3 + L4~0
= Li ~xi(~! · ~x)

2= (Li ~xi ) · (Lj ~xj )(Li ~xi · !
~ ) · (Lj ~xj · !
~)= Li Lj (~xi · ~xj )Li Lj (~xi · !
~ )(~xj · !
~)integraBonZV

La1 Lb2 Lc3 Ld4 dv =a!b!c!d!3!
V(a + b + c + d + 3)!

VV(i 6= j),(i = j)20
10

Research in CG: Spin-It

Spin-It, [Baecher et al. 2014], hIps://www.disneyresearch.com/project/spin-it/Take aways• IntegraBon formula: divide region into simplexes• Switch a volume/surface integraBon using thedivergence theorem• Three moments of shapes– mass, center of mass, moment of inerBa• Many physics are given by the moments– ﬂoaBng, standing, rotaBon