46
SIGGRAPH 2014輪講会 Sound & Light Session + Fabrication Session Yamo @yamo_o 7/29

SIGGRAPH 2014論文紹介 - Sound & Light + Fabrication Session

  • Upload
    yamoo

  • View
    744

  • Download
    2

Embed Size (px)

DESCRIPTION

SIGGRAPH 2014論文のうち、Sound & Light SessionとFabrication Sessionのものを紹介しています。

Citation preview

Page 1: SIGGRAPH 2014論文紹介 - Sound & Light + Fabrication Session

SIGGRAPH 2014輪講会Sound & Light Session

+ Fabrication Session

Yamo @yamo_o

7/29

Page 2: SIGGRAPH 2014論文紹介 - Sound & Light + Fabrication Session

このスライドは2014/7/29に行われたSIGGRAPH 2014 Preview Seminar で発表した資料に補足説明を加えたものです。

!Sound & Light SessionとFabrication Sessionの論文を紹介しています。

!!

Sound & Light Sessionではサウンドレンダリング関係の、 Fabrication Sessionでは3Dプリンタ関係の論文が集められています。

Page 3: SIGGRAPH 2014論文紹介 - Sound & Light + Fabrication Session

Parametric Wave Field Coding for Precomputed Sound Propagation

Nikunj Raghuvanshi, John Snyder

Parametric Wave Field Coding for Precomputed Sound Propagation

Nikunj Raghuvanshi John Snyder

Microsoft Research

� � �

� � �

� � � � � �

� � �

Ͳ � �� � � � � �Figure 1: Our wave coding transforms 7D pressure fields (dependent on source/listener location and time) generated by numerical wave simulation to time-invariant 6D fields based on four perceptual parameters. Consistent with everyday experience, these parameters vary smoothly in space, aiding compression.Scene geometry (‘Deck’) is shown on the left, followed by a 2D slice of the parameter fields for a single source (blue dot). Direct sound loudness (LDS )exhibits strong shadowing while early reflection loudness (LER) captures numerous scattered/diffracted paths, and consequently shadows less. Low LDS

combined with high LER conveys a distant and/or occluded source. Early decay time (TER) and late reverberation time (TLR) together indicate scene size,reflectivity and openness. TLR is spatially smoother than TER, being determined by many more weaker and higher-order paths in this complex space.

Abstract

The acoustic wave field in a complex scene is a chaotic 7D functionof time and the positions of source and listener, making it diffi-cult to compress and interpolate. This hampers precomputed ap-proaches which tabulate impulse responses (IRs) to allow immer-sive, real-time sound propagation in static scenes. We code thefield of time-varying IRs in terms of a few perceptual parametersderived from the IR’s energy decay. The resulting parameter fieldsare spatially smooth and compressed using a lossless scheme sim-ilar to PNG. We show that this encoding removes two of the sevendimensions, making it possible to handle large scenes such as entiregame maps within 100MB of memory. Run-time decoding is fast,taking 100

1 Introduction

Numerical wave simulation generates environmental sound effectsof compelling realism that complement visual effects, reveal infor-mation about occluded parts of the scene, and establish a scene-dependent mood. But it is too expensive to compute in real time.Precomputed approaches allow real-time performance for dynamicsources in static scenes by storing the simulated impulse response(IR) as a function of source and listener position. Memory cost isprohibitive, requiring hundreds of megabytes even for a constrained2D distribution of source locations in small scenes [Raghuvanshiet al. 2010]. To render the acoustics at run-time, a convolution isperformed on the anechoic (unpropagated) audio signal emitted byeach source with the IR between the source and receiver locations.This expensive processing is typically performed on a busy sharedaudio core, allowing only a few dynamic sources.

We take a novel parametric approach to more compactly encodethe wave field and render it faster. The acoustic field in a typicalenvironment is spatially chaotic, making it hard to compress di-rectly [Ajdler et al. 2006]. On the other hand, our perception of thatenvironment changes smoothly as we or the sound source moves– the human auditory system extracts only a few salient proper-ties such as loudness, directionality, and reverberance, not individ-ual information about the huge number of diffracted and scatteredwavefront arrivals [Gade 2007]. We therefore convert a field of IRsignals into a set of scalar fields corresponding to a few percep-tual parameters (Figure 1). We observe that even in scenes of highgeometric complexity, each resulting parameter field is smooth asexpected, which we exploit using lossless compression similar toPNG. Our approach reduces memory by orders of magnitude com-pared to [Raghuvanshi et al. 2010]. Scaling results (Section 7) showthat spatial compression essentially removes an entire spatial di-mension from the 6D field over 3D source and listener locations.

Our run-time engine reverses the encoding to apply IRs that con-form to the precomputed parameters. We capitalize on the consid-erable flexibility involved using a novel, fast rendering algorithm. Ituses a small set of

空間の全ての位置に音源と受音点を置いたときのインパルスレスポンス(残響)のコンパクトな表現を提案しています。

メリットはパラメトリックにIRを表現してるので全ての点での前計算をしなくても補間ができるということ。

Page 4: SIGGRAPH 2014論文紹介 - Sound & Light + Fabrication Session

ある音源からある受音点へのIRはDirect Sound, Early Reflection, Late Reverberation, 減衰率という4つの支配的なパラメータで特徴付けることができます。

� � � � � � �� � � � � � � � � � � � � � � �

� � � � � � � � � �� � � � � � � � � � � � � � � �

� � � � � � � �� � � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � � �� � � � � � � � � � � � � � �

� � � � � � � � � � � � � � � � � �� � � � � � � � � � � � � � � � � � � � � � � �

Figure 2: Path-dependent propagation effects.

moves the the computation’s dependence on the number of sources,providing a large speedup.

It is usual in acoustic analysis to segment an IR into three transientphases:

Takala and Hahn intro-duced interactive acoustics to CG using ray tracing [1992]. Beamtracing [Funkhouser et al. 2004] supports real-time walkthroughs ofstatic scenes with approximate diffraction from long straight edges(>1m). Accelerated beam-tracing [Laine et al. 2009] can handle amoving source. Frustum tracing [Chandak et al. 2008] computes a

fast conservative approximation to beam tracing using existing fastray tracers and supports dynamic sources.

The image source method (ISM) represents the global field as asuperposition of expanding spherical wavefronts centered at imagesources [Allen and Berkley 1979]. Their locations are computed byrecursively reflecting the actual source location through all planesin the scene and retaining ones with clear line-of-sight to the lis-tener. ISM is suitable for modeling specular reflections from large(meters across) flat reflectors, not for complex, scattering geometry.The number of image sources grows exponentially in the number ofreflections. Beam/frustum tracing can be seen as implementationsof ISM (each beam represents an angular section of a wavefront)thus sharing these limitations. [Tsingos 2009] proposes a fasterbut more approximate ISM-based technique that coarsely samplessources (one per room) and computes a set of image sources foreach, interpolating their locations when sources move. Scatteringand diffraction are ignored.

Recent systems [Taylor et al. 2009; Schröder 2011] combine suchISM techniques for specular reflections with Monte-Carlo raytracing for diffuse scattering on simplified scene models. Au-tomatic simplification remains a challenging problem [Siltanen2005]. Diffraction can be modeled using the Biot-Tolstoy-Medwin(BTM) diffraction theory [Svensson et al. 1999]. When a ray hitsan edge element, [Svensson et al. 1999] provides analytic direc-tivity functions for scattered rays in all directions. A probabilis-tic variant is better suited for energy-based methods which neglectphase [Stephenson and Svensson 2007].

All GA techniques use a Lagrangian model that propagates pres-sure/energy quanta along piecewise straight paths. Computationincreases exponentially as the number of reflection, scattering, anddiffraction events along the path (

Page 5: SIGGRAPH 2014論文紹介 - Sound & Light + Fabrication Session

IRを全部保存しておくんじゃなくて、この4パラメータを時間ドメイン差分法で前計算したIRから閾値適切に設定して抽出してランタイム時に使ってる。

parametric

representation

direct sound(DS)

early reflections(ER)

late reverberation(LR)

5ms 200ms

LDS LER

pres

sure

𝑃(P

a)

Impulse Response (IR)

10log

∫𝑃

(dB)

Loudness parameters

TER =

TLR =

Decay time parameters

Figure 3: Parametric IR encoding schematic (time not to scale). The four parameters we extract are shown in green on the right for an IR shown on the left.

precomputation to higher frequencies. Geometric and numericalwave techniques are compared in [Siltanen et al. 2010a].

Real-time wave acoustics Prior work proposes wave-based pre-computation with real-time auralization [Raghuvanshi et al. 2010].Our technique reduces memory by orders of magnitude (see Sec-tion 7), and accelerates the run-time. It also allows a true 3D(rather than 2D) sampling of source positions to support a flyingsource/listener. More recent work on large, outdoor spaces [Mehraet al. 2013; Yeh et al. 2013] requires that either the listener or thesources be static. These techniques also require manual partitioningof the scene into well-separated objects.

3 Precomputed Sound Simulation

The input to our system is the scene geometry represented as a“triangle soup” with associated materials, supporting typical gamemaps. Scene triangles are voxelized into a 3D occupancy grid forsimulation, along with their material codes. The maximum desiredsimulation frequency, ⌫

max

, determines the cell size �. The deci-sion is based on memory and computational constraints. We usethe ARD solver [Raghuvanshi et al. 2009] which determines voxelsize via � = 3/8�

min

, where �min

= c/⌫max

is the minimumwavelength and c is the speed of sound. This represents 2.7 sam-ples per wavelength. We typically fix ⌫ = 500Hz yielding

Parametric Wave Field Coding for Precomputed Sound Propagation • 38:3

Page 6: SIGGRAPH 2014論文紹介 - Sound & Light + Fabrication Session

High-Order Diffraction and Diffuse Reflections for Interactive Sound Propagation in Large Environments

High-Order Diffraction and Diffuse Reflections for Interactive Sound Propagationin Large Environments

Carl Schissler⇤ Ravish Mehra†University of North Carolina at Chapel Hill

Dinesh Manocha‡

Figure 1: Our high-order diffraction and diffuse reflection algorithms are used to generate plausible sound effects at interactive rates onlarge static and dynamic scenes: (left) interior office (154K triangles); (center) oil refinery (245K triangles); (right) city (254K triangles).

Abstract

We present novel algorithms for modeling interactive diffuse re-flections and higher-order diffraction in large-scale virtual environ-ments. Our formulation is based on ray-based sound propagationand is directly applicable to complex geometric datasets. We use anincremental approach that combines radiosity and path tracing tech-niques to iteratively compute diffuse reflections. We also presentalgorithms for wavelength-dependent simplification and visibilitygraph computation to accelerate higher-order diffraction at runtime.The overall system can generate plausible sound effects at interac-tive rates in large, dynamic scenes that have multiple sound sources.We highlight the performance in complex indoor and outdoor envi-ronments and observe an order of magnitude performance improve-ment over previous methods.

entertainment. In order to improve realism and immersion, it is im-portant to augment visual perceptions with matching sound stimuliand auralize the sound fields. The resulting auditory informationcan significantly help the user evaluate the environment in terms ofspaciousness and sound localization.

In this paper, we address the problem of interactive sound propaga-tion and rendering in large-scale virtual environments composed ofmultiple moving sources and objects. These include large urban en-vironments spanning kilometers and made up of tens or hundreds ofbuildings with multiple moving vehicles. Other scenarios includelarge indoor environments such as auditoriums, offices, or factorieswith volumes up to tens or hundreds of thousands of cubic meters.The model complexity and large dimensions of these spaces resultin many acoustic effects including reflections, scattering betweenthe objects, high-order diffraction, late reverberation, echoes, etc.

The most accurate propagation algorithms for modeling variousacoustic effects are based on numerically solving the acoustic waveequation. However, the complexity of these methods increases as alinear function of the surface area of the primitives or the volumeof the acoustic space, and as at least a cubic function of the max-imum simulated frequency. Recently, many wave-based precom-putation techniques have been proposed for interactive applications[James et al. 2006; Tsingos et al. 2007; Raghuvanshi et al. 2010;Mehra et al. 2013; Yeh et al. 2013]. However, current algorithmsare limited to static scenes and the computational and memory re-quirements increase significantly for large virtual environments.

Some of the widely used techniques for interactive sound propaga-tion are based on geometric acoustics (GA) and use computationsbased on ray theory. These are used to compute early reflections anddiffractions in static scenes [Funkhouser et al. 1998; Tsingos et al.2001; Chandak et al. 2009] or to precompute reverberation effects[Tsingos 2009; Antani et al. 2012b]. A major challenge is to ex-tend these GA techniques to complex virtual worlds with multiplemoving objects or sources. In a large environment, surface scatter-ing and edge diffraction components tend to overshadow specularreflections after a few orders of reflection [Kuttruff 1995]. Recentadvances in ray tracing are used to develop fast sound propaga-tion algorithms for dynamic scenes [Lentz et al. 2007; Pelzer andVorlander 2010; Taylor et al. 2012], but these methods still cannotcompute compute high-order edge diffraction or diffuse reflectionsat interactive rates.

Carl Schissler, Ravish Mehra, Dinesh Manocha

前計算無しで広いシーンでの残響をインタラクティブに計算する研究。

レイベースドでやっていて、障害物が動く動的なシーンにも対応できるのが特徴です。

Page 7: SIGGRAPH 2014論文紹介 - Sound & Light + Fabrication Session

S

L

(r1, s1)

(r2, s2) (r0, s0)

T1

T2 T0

111) ) )

S

Figure 2: An example set of 3rd-order diffuse ray paths. Raysleave the sound source S, hit the sequence of surface patches{T0(r0, s0), T1(r1, s1), T2(r2, s2)}, then hit the listener L. Rays

where vi

(~p, t) is the visibility function for patch[0, 1], which indicates the fraction of that patch visible to point~p. This formulation of sound-field computation benefits from lesssampling noise than path tracing, but it also requires a high de-gree of surface subdivision to accurately solve the acoustic render-ing equation. In addition, current radiosity-based algorithms aremainly limited to static environments, because recomputing viewfactors at runtime is expensive, and because the memory and timecomplexity grows with the surface area of the scene. This makesthem unsuitable for large-scale interactive diffuse sound propaga-tion in dynamic scenes.

Our approach combines path tracing with radiosity-like patch sub-division to reduce sampling noise for interactive diffuse reflec-tions. We reuse the rays traced during previous frames for the cur-rent frame. We assume that the changes in the locations of sound

光でも音でもレイベースドの手法で必要になるのは観測点で有効となるレイの割合を増やす事

です。

前の時間でのレイのパスを覚えておいて、僅かにモデルが動いた場合にも使い回して計算効率

を上げています。

レイのパス使い回す手法はレイトレーシングでは珍しくないですが、音の場合に異なるのは

レイに対していつどこで発せられた音なのかという情報が載っていることで、使い回すときにも注意しなければいけません。

Page 8: SIGGRAPH 2014論文紹介 - Sound & Light + Fabrication Session

E

e1 e2 e3 e4

e5 e6

e7

e8 ee5555

1

e2 e33 eeee44

ee6666

e

e9

e10

Figure 4: A top-down view of a portion of a diffraction edge visibil-ity graph for a small village scene, shown here for edge E. Edgese1..10 are visible to edge E and intersect the gray-shaded areas thatrepresent the shadow regions for E. Our approach only considersdiffraction effects in the shadow regions. These regions are defined

Figure 5: A second-order diffraction path. Source image positionsi1 and i2 are only valid if they lie behind the plane formed by thelast image position and the current edge. The diffracted sound takesthe shortest path over the edges and is valid only if the image posi-tions lie on the edge(s) and if the path is not obstructed.

The problem of finding high-order diffraction paths efficiently isdifficult due to the number of edge pairs that need to be consid-ered. A naive approach has running time that can be exponential

他には観測点から隠れてる面はカリングしたりして計算コストを抑えるのもまぁありがち

Page 9: SIGGRAPH 2014論文紹介 - Sound & Light + Fabrication Session

Input Mesh Surface Voxelization Marching Cubes Surface Decimation + Merge Edges Build Edge Visibility Graph

Figure 6: Stages of our simplification algorithm: surface-voxelization of input mesh; isosurface extractions; surface decimation based onedge-collapses; merge collinear diffraction edges; visibility graph computation

Runtime Computation: At runtime, our algorithm uses the pri-mary rays traced in the diffuse step to determine a set of trianglesvisible to each source. For each visible triangle, we check to seeif it has any diffraction edges. If so, we search the correspondingvisibility graph, moving towards the listener, with that edge as thestarting point. The recursive graph search proceeds in a depth-firstmanner until a maximum depth is reached, at which point the searchbacktracks and checks other sequences of edges. At each step in thegraph search, all diffraction edges that were preprocessed as visi-

the wavelength. There has been some work on simplifying geomet-ric models or use of level-of-detail techniques for acoustic simula-tion [Siltanen et al. 2008; Pelzer and Vorlander 2010; Tsingos et al.2007]. However, a key challenge in the field is to automatically gen-erate a simplification that preserves the basic acoustic principles,including reflections, scattering and diffraction. For example, sometechniques based on geometric reduction applied to room modelscan change the reverberation time of the simplified model [Siltanenet al. 2008]. And, in many cases, geometric simplification is per-

音の場合は周波数ごとに独立してシミュレーションしないといけないんですけど、周波数に

よって十分な3Dモデルの解像度が異なります。

具体的には高い周波数のシミュレーションを行うときほど境界は細かくしないといけないの

で、この研究では空間をレベルセットで離散化してマーチングキューブで表面生成してます。マーチングキューブのグリッドの解像度を周波数ごとに変える事で効率を上げています。

Page 10: SIGGRAPH 2014論文紹介 - Sound & Light + Fabrication Session

Eigenmode Compression for Modal Sound Models

Eigenmode Compression for Modal Sound Models

Timothy R. Langlois Steven S. An Kelvin K. Jin Doug L. James

Cornell University

Figure 1: Eigenmode Compression: (Left) This complex Heptoroid model’s displacement eigenmode matrix has 194 audible modes, 81884vertices, and consumes 186 MB. By approximating each eigenmode with moving least squares (MLS), and nonlinearly optimizing the controlpoints (shown in white), we compressed the entire model down to 3.1 MB—a 60:1 compression ratio—with negligible audible difference.

Timothy R. Langlois, Steven S. An, Kelvin K. Jin, Doug L. James

物体の衝突音なんかを生成する際に一般的な方法は、一定の周波数で振動する単純な変形モードの足し合わせとして表現することです。 ! 人間の可聴域は20~20kHzなのでその範囲で実用的なモードの数は数千程度、これは一つのオブジェクトで数GBほどになります。 実際にゲームなんかで一つのシーンに一種類のオブジェクトしか無いなんてことは無いわけでこれはオブジェクトの数だけメモリ上に置いておかなくてはいけません。なのでちょっと現実的に使うのは難しいですね。 !この研究ではこのモードのデータを1/100程度に圧縮する方法を提案しています

Page 11: SIGGRAPH 2014論文紹介 - Sound & Light + Fabrication Session

sociated displacement values w = (wi

)

n

i=1 from which an MLSapproximation can reconstruct the original mode accurately. Oncewe have them, we can evaluate a scalar component of the modeat x, by first constructing an m-degree polynomial, f(p � x) =

cTb(p � x) 2 ⇧

3m

, with d= (3+m)!3!m! coefficients c 2 Rd, where

b(p � x) 2 Rd is a vector of monomial basis functions. Giventhe control parameters p and w, the coefficients c are computed byminimizing the MLS error,

c⇤ = argmin

c

nX

i=1

[wi

� f(pi

� x)]

2 ✓(pi

� x). (3)

Each xyz component of f is computed separately, by replacing wi

with wi,x

, wi,y

or wi,z

in (3); we use a QR factorization to solvethe least-squares problem, which involves solving with three (xyz)right-hand sides. Once f is fitted, the mode approximation at vertexx is simply f(0). The weighting function ✓ controls the influenceof each control point; we use the adaptive ✓(v) = exp(�||v||

2/h2)

defined in [Pauly et al. 2002], where h = r/3, with r the radius ofthe enclosing sphere of the k nearest neighbors of x. This weightfunction allows the approximation to adapt to varying control pointdensities, and also improves performance since it is essentially zerofor control points with ||p

j

� x|| > r.

Since the MLS approximation,wsquares optimization of eigenmode error at vertices

We perform this nonlinear least-squares optimization using theLevenberg-Marquardt (LM) algorithm; we use theplementation [to compute the Jacobian

Multi-level optimization:few control parameters,not its linear solve, but rather the Jacobian computation which hascost dependent on the number of vertices,this cost, we use a 3-stage multi-level approach: we first run LMto convergence using onlythis initial guess by running LM to convergence usingvertices,This dramatically reduces the number of expensive all-vertex Jaco-bian evaluations, since there are much fewer expensive LM itera-tions due to the improved starting guess. We use non-nested vertexsets,importance sampled from

computationally expensive MLS-fitting preprocess, but subsequentrandom-access decompression is fast. In later sections, we also de-scribe how we gain further compression by: (1) when appropriate,we exploit intra- and inter-mode symmetry, and (2) we adjust each

based how well it radiates, as well as human

with as-from which an MLS

approximation can reconstruct the original mode accurately. Oncewe have them, we can evaluate a scalar component of the mode

) =

, whereis a vector of monomial basis functions. Given

are computed by

(3)

Number of points

Figure 5: MLS error convergence versus n: Adaptive MLS pro-vides fair compression at the target error, "goal = 0.084, but ouroptimized MLS fit requires even fewer control points (lower n).

4.2 Control Point Optimization

By further optimizing the n control points and weights, we can sig-nificantly improve compression over adaptive MLS (see Figure 5).Since the MLS approximation, u, is a function of the controls p,w 2 R3n, we optimize their values using the nonlinear least-squares optimization of eigenmode error at vertices V,

min

p,w||u(p,w)� u||22 = min

p,w

X

i2V

||ui

� ui

||

22. (4)

We perform this nonlinear least-squares optimization using theLevenberg-Marquardt (LM) algorithm; we use the Ceres Solver im-plementation [Agarwal et al. ] which uses automatic differentiationto compute the Jacobian J = ru(p,w).

圧縮する方法は2つで、まず1つ目は各変形モードの全ての頂点で値を保持しないで

Moving Least Squareでパラメトリック表現します。

この論文ではこのMoving Least Square問題を非線形最小二乗問題に置き換えて

Levenberg-Marquardt法で解いています。Moving Least Squareをそのまま解かないのは

こっちのほうが制御点の数を少なくできるからだそうです。

u: mode vector

w: weight

p: control points

x: displacements

Page 12: SIGGRAPH 2014論文紹介 - Sound & Light + Fabrication Session

Mode 3, 1.9 kHz Mode 15, 9.3 kHz Mode 33, 16 kHz

Figure 6: Intra-mode symmetry examples: (Left) mirror symme-try; (Middle) 4-way rotational symmetry, plus several mirror sym-metries; (Right) cylindrical symmetry.

5.1 Intra-mode symmetryThe first symmetry we exploit is intra-mode or self symmetry (seeFigures 2 and 6). We slightly modify the geometric-symmetrymethod of [Martinet et al. 2006] to detect object and eigenmodesymmetries simultaneously. Instead of a purely geometric gener-alized moment function, we compute the generalized geometry-eigenmode moment function of order 2p,

(a) (b) (c)Figure 7: Intra-mode symmetry example:mode (a), we detect symmetries and only save a small patch of themode. In (b), a 4-way rotational symmetry is used, and in (c), amirror symmetry is exploited.

needed to match the eigenmode patch’s vector displacements. Weuse a least-squares solve on vertex data to estimate any (orthog-onal) displacement transformation,u(x)=T u(Rx

Symmetry tolerances:eigenmode symmetry (due to meshing, MLS interpolation, numer-ical eigenanalysis, etc.) we use a tolerance when confirming eigen-mode symmetry; in our results, we use 0.02.

5.2 Inter-mode symmetry

The first symmetry we exploit is intra-mode or self symmetry (see). We slightly modify the geometric-symmetry

] to detect object and eigenmodesymmetries simultaneously. Instead of a purely geometric gener-

generalized geometry-

(5)

is a vector from the surface’s center of mass to a point on. It follows that their real-valued spherical harmonic

(6)

(7)

Martinet et al., we find candi-

date symmetry axes, and then classify the symmetries of the eigen-mode magnitudes as either cylindrical, n-way rotation, or mirror

]. In our imple-

After detecting symmetries using our general-ized moment function, we find a patch of the object to approxi-mate with MLS for storage. First, the symmetries are sorted inorder of their expected compression contribution: cylindrical sym-metries, n-way rotational symmetries, and finally mirror symme-tries. Then the symmetries are checked in order. If a symmetryworks for the current set of vertices, only a patch of the vertices areMLS-compressed and stored, and the process continues with this

slice of the ob-ject’s surface. For mirror symmetries we store one side of the mir-

o

slice. However, often there are orthogonal mirror symmetries tothe n-way rotational symmetries which can provide additional sav-

use a least-squares solve on vertex data to estimate any (orthog-onal) displacement transformation, T (with kT k2 ⇡ 1) such thatu(x)=T u(Rx).

Symmetry tolerances: Given the approximate nature of discreteeigenmode symmetry (due to meshing, MLS interpolation, numer-ical eigenanalysis, etc.) we use a tolerance when confirming eigen-mode symmetry; in our results, we use 0.02.

5.2 Inter-mode symmetry

Beyond symmetry within a single mode, an interesting character-istic of cylindrically and n-way rotationally symmetric objects isthat they can have degenerate eigenmodes, i.e., modes with near-equal eigen-frequencies, which form rotationally congruent pairs(see Figures 2 and 8). If we can detect a congruent pair (j, j0), weonly need to store one of them along with the relative rotation whichmaps one to the other. We detect these pairs by summarizing the an-gular structure of the modes in a low-dimensional Fourier basis tofind a candidate rotation, and then perform a rigorous verificationof the candidate. Furthermore, we observe that congruent pairs areusually close to each other in frequency, so instead of doing thisfor all pairs (j, j0), we only do it for pairs such that j0 = j + 1

(assuming modes are numbered in order of increasing frequency).

Mode 10 Mode 11 Mode 19 Mode 207 kHz 7 kHz 11.78 kHz 11.78 kHz

Figure 8: Inter-mode symmetry: Pairs of rotationally congru-ent eigenmodes (shown here for Lego and Wine Glass models) justneed to store one of the modes and a relative rotation.

For a given pair of modes (j, j0), we first focus on the problem offinding a best rotation angle �

j,j

0 about a known symmetry axis.For mode j, we compute Fourier-like moments,

aj

m

=

RS

kuj

(x)k eim�(x) dSx

, m = �m . . . mthat describe the mode’s amplitude variation about the rotation axis,

j

Pm

j �im�

2つ目のアプローチはモデルの対称性に着目したものです。

これは人口の3Dモデルが大概シンメトリーな形状をしてるから有効、らしいです。

Intra-mode symmetry Inter-mode symmetry

これはさらに2通りに分かれて、単一の変形モードの中での対称性と

異なる2つのモードにおける対称性があります。

Page 13: SIGGRAPH 2014論文紹介 - Sound & Light + Fabrication Session

(a) (b) (c)Figure 7: Intra-mode symmetry example: Starting with a fullmode (a), we detect symmetries and only save a small patch of themode. In (b), a 4-way rotational symmetry is used, and in (c), amirror symmetry is exploited.

5.1 Intra-mode symmetryThe first symmetry we exploit is intra-mode or self symmetry (seeFigures 2 and 6). We slightly modify the geometric-symmetrymethod of [Martinet et al. 2006] to detect object and eigenmodesymmetries simultaneously. Instead of a purely geometric gener-alized moment function, we compute the generalized geometry-eigenmode moment function of order 2p,

M2p(

ˆ

v) =

Z

s2S

||s⇥ ˆ

v||

2p||u(s)||2p ds, (5)

where s is a vector from the surface’s center of mass to a point onthe surface, S. It follows that their real-valued spherical harmonicrepresentation is given by

M2p(

ˆ

v) =

pX

l=0

2lX

m=�2l

C2p2l,m Y m

2l (ˆv), (6)

C2p2l,m = Sl

p

Z

s2S

ksk2p ||u(s)||2p D0,m2l (Rs) ds, (7)

where formulae for Sl

p

and D0,m2l (Rs) are given in [Martinet et al.

2006]. By searching among roots of rM2p(

ˆ

v)=0, we find candi-date symmetry axes, and then classify the symmetries of the eigen-mode magnitudes as either cylindrical, n-way rotation, or mirrorsymmetries as described in [Martinet et al. 2006]. In our imple-mentation, we use order 2p = 8 moment functions.

onal) displacement transformation,u(x)=T u(

Symmetry tolerances:eigenmode symmetry (due to meshing, MLS interpolation, numer-ical eigenanalysis, etc.) we use a tolerance when confirming eigen-mode symmetry; in our results, we use 0.02.

5.2 Inter-mode symmetry

Beyond symmetry within a single mode, an interesting character-istic of cylindrically and n-way rotationally symmetric objects isthat they can have degenerate eigenmodes, i.e., modes with near-equal eigen-frequencies, which form rotationally congruent pairs(see Figuresonly need to store one of them along with the relative rotation whichmaps one to the other. We detect these pairs by summarizing the an-gular structure of the modes in a low-dimensional Fourier basis tofind a candidate rotation, and then perform a rigorous verificationof the candidate. Furthermore, we observe that congruent pairs areusually close to each other in frequency, so instead of doing thisfor all pairs(assuming modes are numbered in order of increasing frequency).

モデルの対称性をみつけるのは過去にたくさん研究があって、ここで使ってるのは簡単に言うとモデル形状の対称性はモデルをシェルだとみなしたときのモーメントの対称性としてとらえると計算できる[Martinet et al. 2006]、っていう方法です。

Pizza cut

対称性がみつかるとこんなふうにピザみたいにモードを分割して対称軸と一緒に保存して

サイズを削っていきます。

さらに変形モードというのは物体の内部の振動なんですけど、物体から放射された後の音

の伝搬についても変形モードと同じ対称性を持っているのでここでもサイズ削減できますよ、っていうことが書かれています。

Page 14: SIGGRAPH 2014論文紹介 - Sound & Light + Fabrication Session

Inverse-Foley Animation: Synchronizing rigid-body motions to sound

Timothy R. Langlois, Doug L. James

�� � �� ��������������������������������������������������������

録音された音からそれを表現できるような剛体アニメーションを逆に作る研究です。

条件をかなり絞っていて、剛体は無限平面上に自由落下、途中に障害物などは一切無いことを仮定しています。ここがもっと自由度が高くなると実用的なものになると思います。

Page 15: SIGGRAPH 2014論文紹介 - Sound & Light + Fabrication Session

流れとしては、ある3Dモデルをいろんな角度と速度, 角速度で平面に落としてシ

ミュレーションして、モデルがバウンドして静止するまでの動きをデータベースとして持っておいて、あとは音に合わせて違和感ないようにそれらを補間しつつ繋げてやる、ということをしています。

� �� � � ��� � � � �� � �� � �� �� � � ���� ��� � � ��� � � � � � �� �� �� � � ��

� �� � ���� � � � � �

� ����� ��� � � �� � � � �

� � � �� �

� ��� �� ��� � � ��� �� � � �

Figure 2: Overview

with the input sound. Our contact-event graph can be searched forplausible motion paths, and supports constraints so the final con-tact event occurs at a contact-event node which is a terminal restingstate. Additional contact constraints can be also be introduced, suchas to make an object land in a particular orientation, or to matchcontact locations observed in a video capture (see Figure 14). Anoverview of our approach is shown in Figure 2.

Using our approach we were able to generate plausible rigid-bodyanimations with realistic synchronized sound. Our system has suc-cessfully synthesized motions for dozens of objects (see Figure 13)and hundreds of sounds, many of which would be hard to synthesizesounds for digitally, e.g., a scruffy bulb of garlic.

Our technique also provides a new way for animators to use soundto design physics-based animations. Unlike in space-time keyfram-ing or other motion control techniques, our method only requires

guess to help nonlinear optimization methods converge. In con-trast, Inverse-Foley Animation is essentially a time-based sketch,which lacks spatial information to help nonlinear optimization.

Random sampling techniques have been used to explore the spaceof initial conditions and other simulation parameters, that couldproduce desired outcomes [Tang et al. 1995]. Barzel et al. [1996]introduced the idea of plausibility for animations, arguing that therecan be many acceptable simulations. Markov chain Monte Carlo(MCMC) has been used to sample animations satisfying specifiedconstraints [Chenney and Forsyth 2000]. Similar sampling methodscan be used to optimize contact-event times, however downsidesare that optimization times can be long, and that some methods(such as MCMC) require extensive parameter tuning. In addition,we found that forward sampling methods have a hard time hittingall of the contact event times, necessitating frequent restarts, andthat it can be very hard to find plausible contact events that lead

(a) (b) (c) (d)

Figure 9: Contact Registration (top down view): (a) To transition from state i

to state j+1

, we register state j

to state i

. (b) First aplanar translation is applied to align

j

with i

. (c) Then a planar rotation is applied to minimize the orientation error between i

and j

.(d) Then we can evaluate the transition from

i

to j+1

.

boundary value problem, and we use a forward shooting methodthat starts at , then seeks to hit while keeping the initial

Page 16: SIGGRAPH 2014論文紹介 - Sound & Light + Fabrication Session

録音された音からいつどのくらいの間衝突しているか、っていう情報はユーザに手作業でアノテーションさせています。アノテーションは2種類あって、単純に一回だけ床に当たってバウンドするのと、短い間隔でスライドしながら連続的に床に衝突する場合を指定します。

thesize motion that aligned to an input MIDI signal. Lee and] used a “music graph” and retiming techniques to mod-

ify background music and animation curves simultaneously. Inconstrast, our contact-event graph method is heavily constrainedby rigid-body contact physics. We also use time-warping tech-

] but only to adjust simulated

In computer vision, the estimation of ballistic rigid-body motionscan be challenging for fast motions and nonsmooth trajectories due

], and physics-based models can im-]. For example, Bhat et

] estimate ballistic rigid-body motion from video usingan optimization method that exploits the smoothness of free-flightmotion to track translational and rotational motion. In contrast,

Figure 4: Input sound with user-annotated contact-event times.

Contact event amplitudes: Given the user-annotated sound sig-nal, we can automatically estimate contact event amplitudes, a

1

,. . ., a

n

, from the sound signal. For a discrete event at time ¯

t

k

,we set the amplitude a

k

to be that of the nearest peak in a smalltime window—we use 20 ms in our setup. For continuous events,

Page 17: SIGGRAPH 2014論文紹介 - Sound & Light + Fabrication Session

Contact Event Graph Approach

(d) (e)

Figure 7: Motion Sampling: To sample initial simulation param-eters, we (a) sample a random orientation, (b) push the object intocontact, (c) sample linear (red) and angular (blue) velocities, (d)simulate forwards until the object comes to rest, and (e) simulatebackwards to obtain pre-contact ballistic motion.

5.2 Contact-Event Graph Construction

The motion database is turned into a contact-event graph whereeach node represents a contact event, and edges represent inter-contact motions that transition between these contact states (seeFigure 8). The weight on each edge represents how expensive eachtransition is, which measures both rigid-body contact state errors,as well as synchronization errors when used for a specific contact-event time.

Figure 8: Contact nodes and edges: Nodes represent contactstates, and edges represent transitions between these states. Solidarrows are physically simulated transitions, and dotted arrows are

Figure 10: Transitions: Given two simulated contact sequences

i

!

i+1

and j

!

j+1

registering j

to i

and computing a motion connection.

5.3.1 Registering contact events

To evaluate contact state similarity (for edge weight determination)or to evaluate a motion transition, we exploit translational and ro-tational invariance on the plane to rigidly register contact events,thereby increasing the fit quality. To register two contact statesj, we can transform state jregistration of the two contact states at the post-contact times,and t

j+

(see Figure 9). The rigid transformation involves (1) a 2Dtranslation that best aligns the center of masses of the two bodies,and (2) a planar rotation that best aligns the orientations,q

j+

. There is an analytical formula for this rotation [2001].

5.3.2 Motion Connections

Given two similar contact statesistered, we can smoothly transition from statecomputing a modified rigid-body trajectory that connects the states.However, unless these two motions areterpolating the rigid-body trajectories through time, e.g., using ro-tational slerp or other methods for SE(3) interpolation [Kumar 2002; Hofer and Pottmann 2004cal distortion for motions with very large and/or different angularvelocities. Instead, we propose a different approach that involvescomputing a perturbation to thethe resulting motion matches the (registered) position and orienta-tion at j + 1. In our implementation, we compute momentum per-turbations separately for the linear and angular components giventhe over-constrained nature of the boundary value problem.

PlasticSpoon TapeDispenser

Figure 13: Virtual models (left) and real-world objects (right)

over the n-contact motion sequence,

Score = (

Y

i

f

v

f

q

f

t

f

a

f

l

f

c

)

16n

.

To shed light on motion quality, we also report the Score indepen-dent of the sound amplitude factors,

Scorew/o sound = (

Y

i

f

v

f

q

f

t

)

13n

.

Optional speedups: Since searching large contact-event graphscan be slow, we use several optional speedups. To avoid spend-ing time exploring obviously poor transitions, we only exploreedges where log(f

v

) > �10 and log(f

q

) > �10. Furthermore,we use the k-d tree to quickly find and search only the best 5children/transitions of each node, thereby reducing the number of

Figure 13: Virtual models (left) and real-world objects (right) used in over 434 IFA experiments.

over the n-contact motion sequence,

Score = (

Y

i

f

v

f

q

f

t

f

a

f

l

f

c

)

16n

. (12)

To shed light on motion quality, we also report the Score indepen-dent of the sound amplitude factors,

Scorew/o sound = (

Y

i

f

v

f

q

f

t

)

13n

. (13)

Optional speedups: Since searching large contact-event graphscan be slow, we use several optional speedups. To avoid spend-ing time exploring obviously poor transitions, we only exploreedges where log(f

v

) > �10 and log(f

q

) > �10. Furthermore,we use the k-d tree to quickly find and search only the best 5children/transitions of each node, thereby reducing the number oftransitions that must be considered during the branch-and-boundsearch. For each recorded sound, we also use an “early exit” condi-tion, that terminates the search (and returns the found motion) if the

Score is sufficiently high; in our examples, we “early exit” if Score� 0.3. We also enforced a maximum search time of 1 hour to timeout on potentially infeasible problems.

Lazy evaluation of blends:for edges during the graph search, to avoid the cost of computingblends for non-simulation edges in the graph, which is potentiallyvery high, e.g., in graphs with hundreds of thousands of edges canrequire many hours of Newton solves. In practice, we only requireblends for edges used in the final animation. Some transitions canintroduce ground interpenetration when blending sufficiently dis-similar motions. Since interpenetration can be perceptually both-ersome it is not allowed. We initially assume that all edges arefeasible, and then once we find an optimal sub-path we computeits blends, then if any edges are infeasible we discard them andrecompute the optimal sub-path. In practice, blending costs are re-duced enormously, and the search is still fast since very few edgesare infeasible. We note that blends depend only on the motions,and not the input sound. While they could be precomputed, this

一番違和感無い動きを計算するような最適化問題なので当然最小化すべき目的関数があってこの研究では、音とのシンクロ率と動きのエラー関数の値の積を使っています。

動きのエラー値っていうのはある状態から他の状態への遷移しにくさ、みたいなものです。

Page 18: SIGGRAPH 2014論文紹介 - Sound & Light + Fabrication Session

Contact Event Graph Approach

(d) (e)

Figure 7: Motion Sampling: To sample initial simulation param-eters, we (a) sample a random orientation, (b) push the object intocontact, (c) sample linear (red) and angular (blue) velocities, (d)simulate forwards until the object comes to rest, and (e) simulatebackwards to obtain pre-contact ballistic motion.

5.2 Contact-Event Graph Construction

The motion database is turned into a contact-event graph whereeach node represents a contact event, and edges represent inter-contact motions that transition between these contact states (seeFigure 8). The weight on each edge represents how expensive eachtransition is, which measures both rigid-body contact state errors,as well as synchronization errors when used for a specific contact-event time.

Figure 8: Contact nodes and edges: Nodes represent contactstates, and edges represent transitions between these states. Solid

Figure 10: Transitions: Given two simulated contact sequences

i

!

i+1

and j

!

j+1

registering j

to i

and computing a motion connection.

5.3.1 Registering contact events

To evaluate contact state similarity (for edge weight determination)or to evaluate a motion transition, we exploit translational and ro-tational invariance on the plane to rigidly register contact events,thereby increasing the fit quality. To register two contact statesj, we can transform state jregistration of the two contact states at the post-contact times,and t

j+

(see Figure 9). The rigid transformation involves (1) a 2Dtranslation that best aligns the center of masses of the two bodies,and (2) a planar rotation that best aligns the orientations,q

j+

. There is an analytical formula for this rotation [2001].

5.3.2 Motion Connections

Given two similar contact statesistered, we can smoothly transition from statecomputing a modified rigid-body trajectory that connects the states.However, unless these two motions areterpolating the rigid-body trajectories through time, e.g., using ro-tational slerp or other methods for SE(3) interpolation [Kumar 2002; Hofer and Pottmann 2004cal distortion for motions with very large and/or different angularvelocities. Instead, we propose a different approach that involvescomputing a perturbation to thethe resulting motion matches the (registered) position and orienta-tion at j + 1. In our implementation, we compute momentum per-turbations separately for the linear and angular components giventhe over-constrained nature of the boundary value problem.

PlasticSpoon TapeDispenser

Figure 13: Virtual models (left) and real-world objects (right)

over the n-contact motion sequence,

Score = (

Y

i

f

v

f

q

f

t

f

a

f

l

f

c

)

16n

.

To shed light on motion quality, we also report the Score indepen-dent of the sound amplitude factors,

Scorew/o sound = (

Y

i

f

v

f

q

f

t

)

13n

.

Optional speedups: Since searching large contact-event graphscan be slow, we use several optional speedups. To avoid spend-ing time exploring obviously poor transitions, we only exploreedges where log(f

v

) > �10 and log(f

q

) > �10. Furthermore,we use the k-d tree to quickly find and search only the best 5

Figure 13: Virtual models (left) and real-world objects (right) used in over 434 IFA experiments.

over the n-contact motion sequence,

Score = (

Y

i

f

v

f

q

f

t

f

a

f

l

f

c

)

16n

. (12)

To shed light on motion quality, we also report the Score indepen-dent of the sound amplitude factors,

Scorew/o sound = (

Y

i

f

v

f

q

f

t

)

13n

. (13)

Optional speedups: Since searching large contact-event graphscan be slow, we use several optional speedups. To avoid spend-ing time exploring obviously poor transitions, we only exploreedges where log(f

v

) > �10 and log(f

q

) > �10. Furthermore,we use the k-d tree to quickly find and search only the best 5children/transitions of each node, thereby reducing the number oftransitions that must be considered during the branch-and-boundsearch. For each recorded sound, we also use an “early exit” condi-tion, that terminates the search (and returns the found motion) if the

Score is sufficiently high; in our examples, we “early exit” if Score� 0.3. We also enforced a maximum search time of 1 hour to timeout on potentially infeasible problems.

Lazy evaluation of blends:for edges during the graph search, to avoid the cost of computingblends for non-simulation edges in the graph, which is potentiallyvery high, e.g., in graphs with hundreds of thousands of edges canrequire many hours of Newton solves. In practice, we only requireblends for edges used in the final animation. Some transitions canintroduce ground interpenetration when blending sufficiently dis-similar motions. Since interpenetration can be perceptually both-ersome it is not allowed. We initially assume that all edges arefeasible, and then once we find an optimal sub-path we computeits blends, then if any edges are infeasible we discard them andrecompute the optimal sub-path. In practice, blending costs are re-duced enormously, and the search is still fast since very few edgesare infeasible. We note that blends depend only on the motions,and not the input sound. While they could be precomputed, this

これをいわゆるHMMと同じ感じで最小コストの経路を探索してやります。

グラフつくるためには近い状態のノードを探して枝で繋いでやる必要がありますが、この研究ではこれを剛体のパラメータ空間における、2つの12次元k-dツリーを使って探索してい

ます。なんで2つかというと、物体が静止する、っていう状態と運動途中を分けて考えてい

るからです。

Page 19: SIGGRAPH 2014論文紹介 - Sound & Light + Fabrication Session

面白いのは、音楽なんかを与えて物理的にそれらしく動く、音楽を演奏する剛体オブジェクトみたいなのが作れたりします。

Page 20: SIGGRAPH 2014論文紹介 - Sound & Light + Fabrication Session

Bridging the Gap: Automated Steady Scaffoldings for 3D Printing

Left: Scaffolding for the DNA model. Middle: AfterRight: After cleanup. Print time: 3h36, 8.7m of filament.

very few points through thin beams while our approach builds a fullbridge. For this object, with both the Makerware and MeshMixermodels we had to use a raft for the part to remain stable on theheated bed. In all other cases we use significantly less plastic thanMakerware. Our print times are comparable to Makerware, whichis in large part due to the printing of the many small connectors.We believe print times could be significantly reduced by groupingconnectors supported by a same bridge into continuous connectors.

6.1 Additional ResultsFigure 15: Left: Scaffolding for the DNA model. Middle: After

Figure 16: Models printed with our technique, scaffoldings on theleft and cleanup model on the right. Top: The Gymnast model.Middle: The curved Hilbert cube model. Bottom: The 5cm BunnyPeel model. Hilbert cube model: thingiverse.com/thing:16343 by tbuser.Bunny peel model: thingiverse.com/thing:131054 by user meshmixer.

in approximatively 12 % of cases, leaving hanging filament in theprint. This is visible in figures showing the print before cleanup.This has little impact on surface quality as falling filament coolsquickly and does not bond with the surface below.

7 Conclusion

We have shown how to exploit a specific property of FFF printers— their ability to print bridges across gaps — to construct reliablescaffoldings. Their geometry gives to our scaffolding interesting me-chanical properties that makes them sturdier and more stable, evenat the smallest thickness ensuring that they print correctly. Our struc-tures could probably benefit other processes such as stereolithogra-phy — but the set of requirements are different.

Further reducing the quantity of material usage while preservingreliability will require a precise modeling of the mechanical prop-erties of the structure and object throughout the print process. Thisis a challenging task since the plastic deposited in layers has ananisotropic behavior which we expect to become highly nonlinearon thin slanted structures. This is nevertheless an exciting venueof future work. In the meantime our technique provides a simpleand reliable way to print interesting and complex geometries with a

Jérémie Dumas, Jean Hergel, Sylvain Lefebvre

積層型の3Dプリントするときのサポート材の構造を最適化をする研究。

ブリッジとそれを支える垂直な柱からなるサポート材を自動で生成します。

Page 21: SIGGRAPH 2014論文紹介 - Sound & Light + Fabrication Session

ALLAIRE, G. 2006. Conception optimale de structuresISBN 3-540-36710-1.

ALLEN, S., AND DUTTA, D. 1995. Determination and evaluationof support structures in layered manufacturing.

ALLISON, J. W., CHEN, T. P., COHEN, A. L., SSNEAD, D. E., AND VORGITCH, T. J., 1988. Boolean layercomparison slice. US Patent 5854748, 3D Systems Inc.

CHALASANI, K., JONES, L., AND ROSCOEgeneration for fused deposition modeling. InFabrication Symposium, 229–241.

CHENG, W., FUH, J., NEE, A., WONGMIYAZAWA, T. 1995. Multi-objective optimization of part- build-ing orientation in stereolithography. Rapid Prototyping Journal1, 12–23.

EGGERS, G., AND RENAP, K., 2007. Method and apparatus forautomatic support generation for an object made by means ofa rapid prototype production method. US Patent 20100228369,Materialize.

FRANK, D., AND FADEL, G. 1995. Expert system-based selectionof the preferred direction of build for rapid prototyping processes.Journal of Intelligent Manufacturing 6, 5, 339–345.

HEIDE, E., 2011. Method for generating and building support struc-tures with deposition-based digital manufacturing systems, 07.US Patent 20110178621 A1.

HUANG, X., YE, C., MO, J., AND LIU, H.support generation algorithm for fused deposition modeling.inghua Science and Technology 14, S1, 223–228.

HUANG, X., YE, C., WU, S., GUO, K., ANDwall structure support generation for fused deposition modeling.The International Journal of Advanced Manufacturing Technol-ogy 42, 11-12, 1074–1081.

KRITCHMAN, E., GOTHAIT, H., AND MILLER

左が提案手法で右がMeshMixerで出力した従来の木構造サポート。木構造だと見た目からして強度に不安がありそうな感じします。

Page 22: SIGGRAPH 2014論文紹介 - Sound & Light + Fabrication Session

tional bias — such as axis aligned bridges only — would generatea larger number of pillars when supporting features at an angle. Wealso note that while thin slanted pillars become less reliable as theirlength increases, they can print reliably on short distances. Thisis particularly useful when trying to support several points with arectilinear bridge: perfect alignments are unlikely. Our algorithmtherefore has the ability to connect vertical pillars to other elementsby adding a small slanted connector at their top.

5.1 Bridge Gain and Score

Our algorithm enumerates and selects new bridges that improvethe current solution. It therefore requires a function to estimatethe benefit of a new bridge. We approximate the bridge benefitby counting the gain and loss in terms of pillar and bridge length.

Z

hb

wb

lmin

lmax

Following notations in the inset, a bridge oflength w

b

at height hb

supporting k elementsprovides a gain of G

ain

(b) = (k � 2)hb

� w

b

.Clearly, only bridges supporting more than twopoints can be beneficial. Our algorithm onlyinserts bridges where G

ain

(b) > 0.

When deciding which bridge to insert we com-pute a score for each bridge. The score is:Score

(b) = Gain

(b) � k · lmax

(b), wheremax

(b) is computed as the maximum lengthof the structure connecting an element above to the bridge. It takesinto account non vertical parts that may occur when an elementabove is not in the vertical plane of the bridge. The score penalizesuneven distributions of connection lengths above the bridge. Thebridge giving the best (possibly negative) score will be selected.

To enlarge a BoS we iteratively add points until the CoM disk isfully covered. At each iteration we add the candidate enlarging theBoS with the largest coverage of the CoM disk. Due to the arbitraryinsertion order, some points added in the first iterations may nolonger contribute to the final BoS. We remove these and tag theselected points as requiring support. The added points may not bein contact with the surface, in which case we add a small bridgebetween the candidate point and the surface point (Figure 6, right,purple segments). This bridge is given as an input to the scaffolding

, left illustrates the bridge structure resulting from the stabil-ity analysis only. Note in particular how the BoS has been enlargedby adding bridges at the first layer, providing an automated raftfeature for small contact surfaces with the bed. Timings for this

l

max

(b) is computed as the maximum lengthof the structure connecting an element above to the bridge. It takesinto account non vertical parts that may occur when an elementabove is not in the vertical plane of the bridge. The score penalizesuneven distributions of connection lengths above the bridge. Thebridge giving the best (possibly negative) score will be selected.

In cases where the bridge extremities are above the object, we usethe free length of each vertical pillar instead of the bridge height:Gain

(b) = k ·hb

�h1 �h2 �w

b

with h1 and h2 the heights of thepillars before reaching the object.

l

min

(see the inset) is a parameter fixing the minimal distance be-tween a bridge and a supported point (1.6 mm in our implemen-tation). Note that lowering the bridge would only reduce its gain.Thus bridges have maximal gain at a distance l

min

below the lowerof the elements they support. This provides a way to efficientlyenumerate possible bridge heights.

5.2 Construction Algorithm

ブリッジの強度はサポートする点の数kと幅wと高さhの関数になっていて、こ

れを最大化するようにブリッジを配置していきます。

サポートが必要な点は、ノズルの直径の半分以上が下のレイヤーからはみ出した点として定義されています。

Page 23: SIGGRAPH 2014論文紹介 - Sound & Light + Fabrication Session

X

Y

sweep

bridges?

Figure 7: Two bridges and an isolated point as well as their cor-responding anchoring segments for a sweep along the X axis. Thegreen squares are events considered during the sweep. The pur-ple line illustrates the YZ sweep plane when examining one event.Bridges will be searched along the Y and Z axis. All intersected

Algorithm 2:Input: A set of required points

bridgesOutput:

1 Initialize the active set of elements with2 while true3 bestBridge

4 for i

5 S6 P

current sweeping plane

7 Q

8 while9

平面をスイープさせてサポート点群をスキャンしていって、繋げられる2点が見つかるとブリッジを生成、それで強度が上がれば採用っていうGreedyなア

プローチでやってるようです。

Page 24: SIGGRAPH 2014論文紹介 - Sound & Light + Fabrication Session

Computational Light Routing: 3D Printed Optical Fibers For Sensing and DisplayPrinceton University / Disney Research Boston

Despite recent interest in digital fabrication, there are still few algorithmsthat provide control over how light propagates inside a solid object. Existingmethods either work only on the surface or restrict themselves to light dif-fusion in volumes. We use multi-material 3D printing to fabricate objectswith embedded optical fibers, exploiting total internal reflection to guide

an object. We introduce automatic fiber design algorithms to-gether with new manufacturing techniques to route light between two arbi-trary surfaces. Our implicit algorithm optimizes light transmission by min-imizing fiber curvature and maximizing fiber separation while respectingconstraints such as fiber arrival angle. We also discuss the influence of dif-ferent printable materials and fiber geometry on light propagation in the vol-ume and the light angular distribution when exiting the fiber. Our methodsenable new applications such as surface displays of arbitrary shape, touch-based painting of surfaces and sensing a hemispherical light distribution in

Computer Graphics]: Compu-Physically based modeling

Fig. 1. Total internal reflection happens because of the higher refractiveindex in the core. This allows good propagation of light inside an opticalfiber.

1. INTRODUCTIONDespite recent advances there are still few fabrication techniquesand algorithms that let us control how light propagates inside asolid object. Existing methods design surfaces that reflect [Weyrichet al. 2009; Matusik et al. 2009] and refract light [Papas et al. 2011;Finckh et al. 2010] or restrict themselves to reproducing light dif-fusion in solid objects [Dong et al. 2010; Hasan et al. 2010]. Wepresent automatic object design algorithms that, coupled with 3D

2 • T. Pereira et al.

Fig. 2. We use 3D printing to fabricate objects with embedded optical fibers that route light between two interfaces. We use this pipeline it to create displaysof arbitrary shape, such as this animated face. Given a parameterized output surface (left), our algorithm automatically designs the fibers (middle-left) tomaximize light transmission. We use a micro-projector to input an image (inset) on the printed object’s (middle) flat interface, and it is routed to the surface(middle-right). We also present a painting application in which fibers are used for sensing and display. The light from a touch-sensitive infrared pen (right) isrouted through the object to a camera.

THIAGO PEREIRA, SZYMON RUSINKIEWICZ, WOJCIECH MATUSIK

3Dプリンタで好きな形の立体形状ディスプレイを作る研究。

Page 25: SIGGRAPH 2014論文紹介 - Sound & Light + Fabrication Session

Computational Light Routing: 3D Printed Optical Fibers For Sensing and DisplayPrinceton University / Disney Research Boston

Despite recent interest in digital fabrication, there are still few algorithmsthat provide control over how light propagates inside a solid object. Existingmethods either work only on the surface or restrict themselves to light dif-fusion in volumes. We use multi-material 3D printing to fabricate objectswith embedded optical fibers, exploiting total internal reflection to guide

an object. We introduce automatic fiber design algorithms to-gether with new manufacturing techniques to route light between two arbi-trary surfaces. Our implicit algorithm optimizes light transmission by min-imizing fiber curvature and maximizing fiber separation while respectingconstraints such as fiber arrival angle. We also discuss the influence of dif-ferent printable materials and fiber geometry on light propagation in the vol-ume and the light angular distribution when exiting the fiber. Our methodsenable new applications such as surface displays of arbitrary shape, touch-based painting of surfaces and sensing a hemispherical light distribution in

Computer Graphics]: Compu-Physically based modeling

Fig. 1. Total internal reflection happens because of the higher refractiveindex in the core. This allows good propagation of light inside an opticalfiber.

1. INTRODUCTIONDespite recent advances there are still few fabrication techniquesand algorithms that let us control how light propagates inside asolid object. Existing methods design surfaces that reflect [Weyrichet al. 2009; Matusik et al. 2009] and refract light [Papas et al. 2011;Finckh et al. 2010] or restrict themselves to reproducing light dif-fusion in solid objects [Dong et al. 2010; Hasan et al. 2010]. Wepresent automatic object design algorithms that, coupled with 3D

2 • T. Pereira et al.

Fig. 2. We use 3D printing to fabricate objects with embedded optical fibers that route light between two interfaces. We use this pipeline it to create displaysof arbitrary shape, such as this animated face. Given a parameterized output surface (left), our algorithm automatically designs the fibers (middle-left) tomaximize light transmission. We use a micro-projector to input an image (inset) on the printed object’s (middle) flat interface, and it is routed to the surface(middle-right). We also present a painting application in which fibers are used for sensing and display. The light from a touch-sensitive infrared pen (right) isrouted through the object to a camera.

THIAGO PEREIRA, SZYMON RUSINKIEWICZ, WOJCIECH MATUSIK

一面だけ平面になっててそこに平面ディスプレイをくっつけると光ファイバーの束に光が入ってきて, モデルの中を通って表面に表示されます。

光ファイバーなのでもちろんタッチパネルにすることもできます。

Page 26: SIGGRAPH 2014論文紹介 - Sound & Light + Fabrication Session

Computational Light Routing: 3D Printed Optical Fibers For Sensing and DisplayPrinceton University / Disney Research Boston

Despite recent interest in digital fabrication, there are still few algorithmsthat provide control over how light propagates inside a solid object. Existingmethods either work only on the surface or restrict themselves to light dif-fusion in volumes. We use multi-material 3D printing to fabricate objectswith embedded optical fibers, exploiting total internal reflection to guide

an object. We introduce automatic fiber design algorithms to-gether with new manufacturing techniques to route light between two arbi-trary surfaces. Our implicit algorithm optimizes light transmission by min-imizing fiber curvature and maximizing fiber separation while respectingconstraints such as fiber arrival angle. We also discuss the influence of dif-ferent printable materials and fiber geometry on light propagation in the vol-ume and the light angular distribution when exiting the fiber. Our methodsenable new applications such as surface displays of arbitrary shape, touch-based painting of surfaces and sensing a hemispherical light distribution in

Computer Graphics]: Compu-Physically based modeling

Fig. 1. Total internal reflection happens because of the higher refractiveindex in the core. This allows good propagation of light inside an opticalfiber.

1. INTRODUCTIONDespite recent advances there are still few fabrication techniquesand algorithms that let us control how light propagates inside asolid object. Existing methods design surfaces that reflect [Weyrichet al. 2009; Matusik et al. 2009] and refract light [Papas et al. 2011;Finckh et al. 2010] or restrict themselves to reproducing light dif-fusion in solid objects [Dong et al. 2010; Hasan et al. 2010]. Wepresent automatic object design algorithms that, coupled with 3D

2 • T. Pereira et al.

Fig. 2. We use 3D printing to fabricate objects with embedded optical fibers that route light between two interfaces. We use this pipeline it to create displaysof arbitrary shape, such as this animated face. Given a parameterized output surface (left), our algorithm automatically designs the fibers (middle-left) tomaximize light transmission. We use a micro-projector to input an image (inset) on the printed object’s (middle) flat interface, and it is routed to the surface(middle-right). We also present a painting application in which fibers are used for sensing and display. The light from a touch-sensitive infrared pen (right) isrouted through the object to a camera.

THIAGO PEREIRA, SZYMON RUSINKIEWICZ, WOJCIECH MATUSIK

2種類の材質を使って光ファイバーごとモデルを3Dプリントしてやります。

ユーザが与えるのはモデル表面のうちディスプレイ当てる平面と表示面のuvコーディネート。

Page 27: SIGGRAPH 2014論文紹介 - Sound & Light + Fabrication Session

Curvature

Computational Light Routing: 3D Printed Optical Fibers For Sensing and Display • 5

Fig. 8. Light propagation inside a poorly designed object cross-section.Since we are imaging from the side what we actually observe is scatteringalong the volume. While some light arrived at its destination even for com-plex routes, much light is leaking and scattering through the volume. Themiddle image also shows how more leaking happened at a high curvature

Computational Light Routing: 3D Printed Optical Fibers For Sensing and Display • 5

Fig. 8. Light propagation inside a poorly designed object cross-section.Since we are imaging from the side what we actually observe is scatteringalong the volume. While some light arrived at its destination even for com-plex routes, much light is leaking and scattering through the volume. Themiddle image also shows how more leaking happened at a high curvatureregion. We see how many light rays escape along the tangent direction.

place the diffuser sheet directly on the screen to get a measurement

We assume the attenuation coefficient only depends on the bend-is the length of a

. Each measurement is not onlyinfluenced by the coefficient associated with its bending radius, butalso by the straight segment loss. We performed two fittings to this

. This exponentialdecrease of attenuation has been commonly observed both in theoryand practice with traditional optical fibers for both fibers with di-ameter comparable and larger than light’s wavelength [Gloge 1972;

1R), where at-corresponds to the straight

fiber attenuation. This gives us a mean relative error of 15% and 68

33%. While thiserror is non-negligible, these fitting results support the exponentialattenuation model with length and the exponential decrease of ↵.Figure 7 shows the transmission of the curved part of our measuredfibers where brighter green means higher transmission. These arecompensated measurements where the loss of the straight segmentwas estimated. The length axis measures only the curved part ofeach fiber. We plot two concentric circles for each measurement,the ratio of their radius is our model’s relative fitting error.

15 bending at-10% and now 68

%. Figure 7 shows bothattenuation coefficients

in blue. We chose to plot the straight fiber attenuation coefficient ascm; this value is actually at infinite radius.

All these measurements confirm that transmission is greatly re-duced as the bending radius decreases which motivates our algo-

In theory, fibers carry light with no loss because of total internal re-flection. In practice, however, limited printer resolution introducesa minimum spacing between neighboring fibers and printer voxelquantization introduces surface irregularities that cause light to leak

In this section, we present an algorithm to design fibers to routelight to a user provided surface. We present different objective func-

Fig. 9. Sample results show curvature optimized routes while respectinguser provided parametrization constraints. The input and output surfacescan be arbitrary as shown in these cylinder and sphere routings.

Fig. 10. On the right, fibers generated by minimizing the thin-plate energyresulting in higher curvature in concentrated regions. On the left, minimiz-ing the third derivative energy which results in more uniform curvature.Plots display color coded curvature at different scales.

parameterization. We also show how to incorporate additional de-grees of freedom into our optimization by automatically selectinga parameterization of the volume’s flat interface (Subsection 4.3).

We propose an implicit formulation for the routing problem. Ouralgorithm receives as input both an input and an output surface,together with their u, v parameterizations. It then calculates u, v

coordinates for every point in space by solving a variational prob-lem. Each fiber can be seen as the set of points in space that have agiven u0, v0 coordinate — in other words, a level set. In our currentformulation, we solve for both u and v as separate optimizationproblems, so from now on we will only discuss u.

Figure 9 shows sample results of our algorithm for motivation.The green and blue points represent the input and output surfaceswhich can be arbitrary. We will denote the base by B and the tar-

Fig. 8. Light propagation inside a poorly designed object cross-section.Since we are imaging from the side what we actually observe is scatteringalong the volume. While some light arrived at its destination even for com-plex routes, much light is leaking and scattering through the volume. Themiddle image also shows how more leaking happened at a high curvature

place the diffuser sheet directly on the screen to get a measurement

We assume the attenuation coefficient only depends on the bend-is the length of a

. Each measurement is not onlyinfluenced by the coefficient associated with its bending radius, butalso by the straight segment loss. We performed two fittings to this

. This exponentialdecrease of attenuation has been commonly observed both in theoryand practice with traditional optical fibers for both fibers with di-ameter comparable and larger than light’s wavelength [Gloge 1972;

, where at-corresponds to the straight

68

%. While thiserror is non-negligible, these fitting results support the exponential

↵.Figure 7 shows the transmission of the curved part of our measuredfibers where brighter green means higher transmission. These arecompensated measurements where the loss of the straight segmentwas estimated. The length axis measures only the curved part ofeach fiber. We plot two concentric circles for each measurement,

bending at-68

%. Figure 7 shows bothattenuation coefficients

in blue. We chose to plot the straight fiber attenuation coefficient as

All these measurements confirm that transmission is greatly re-duced as the bending radius decreases which motivates our algo-

In theory, fibers carry light with no loss because of total internal re-flection. In practice, however, limited printer resolution introducesa minimum spacing between neighboring fibers and printer voxelquantization introduces surface irregularities that cause light to leak

Fig. 9. Sample results show curvature optimized routes while respectinguser provided parametrization constraints. The input and output surfacescan be arbitrary as shown in these cylinder and sphere routings.

Fig. 10. On the right, fibers generated by minimizing the thin-plate energyresulting in higher curvature in concentrated regions. On the left, minimiz-ing the third derivative energy which results in more uniform curvature.Plots display color coded curvature at different scales.

parameterization. We also show how to incorporate additional de-grees of freedom into our optimization by automatically selectinga parameterization of the volume’s flat interface (Subsection 4.3).

We propose an implicit formulation for the routing problem. Ouralgorithm receives as input both an input and an output surface,together with their u, v parameterizations. It then calculates u, v

coordinates for every point in space by solving a variational prob-lem. Each fiber can be seen as the set of points in space that have agiven u0, v0 coordinate — in other words, a level set. In our currentformulation, we solve for both u and v as separate optimizationproblems, so from now on we will only discuss u.

Fig. 12. By optimizing the base parameterization jointly with fiber routing(right column), we obtain fibers with much less curvature (last row) andonly slightly more compression (third row). On the top right, we show thebase of the printed face model with its optimized fiber placement.

Fig. 13. We add a stretch energy term to keep the base from growing too

u, v and solve for the corresponding x, y position to start the fiber.When there are multiple answers we found it adequate simply tochoose the one nearest to the projected center of the mesh.

Base layout introduced an undesirable side effect when design-ing an inward looking hemisphere that routes light from a plane(Figure 14, right). Both our energies force the base to grow verylarge, since that reduces both curvature and compression (Figure13, left). Since it is impractical to make these very large objects,we added an extra objective term to keep stretch low. This termworks as a weak quadratic prior that pulls u

x

, u

y

, v

x

, v

y

towardstheir mean values on the target surface. Figure 13 shows how thisterm provides control over stretch. Both curvature and compressionare volumetric terms, while stretch is an area term. We normalizeall energies by volume and area respectively before adding them.

After the addition of the base layout constraints and the stretchenergy term, our optimization problem is written below.

minimizeu

C(u) + w

k

K(u) + w

s

S(u)

subject to u(x) =

X

i

i

h

i

(x), x 2 B,

u(x) = g(x), x 2 Q,

ru(x) · n(x) = 0, x 2 Q [B.,

Using this algorithm, we routed and printed a few different sur-faces (Figure 14). The parameters used and some summary statis-tics of routing quality including curvature and compression areshown in Table I. Execution time, number of fibers and voxels can

Compression Stretching

u: displacements

綺麗に表示させるためにはいくつか条件があって、例えば

モデルの中を通る光ファイバーはできる限りまっすぐ伸びていたほうがロスが少ないので曲率は最小化する必要があります。

また、光ファイバー同士の距離が近過ぎると干渉するので

できる限り距離は最大化(逆数を最小化)します。

あとは表示面での歪みも最小化してやる必要があるので3

つ目の項が入ってきます。 これを内点法で最小化してます。

Page 28: SIGGRAPH 2014論文紹介 - Sound & Light + Fabrication Session

An Asymptotic Numerical Method for Inverse Elastic Shape Design

An Asymptotic Numerical Method for Inverse Elastic Shape Design

Xiang Chen⇤ Changxi Zheng† Weiwei Xu‡ Kun Zhou⇤§

State Key Lab of CAD&CG, Zhejiang University †Columbia University ‡Hangzhou Normal University

Inverse shape design for elastic objects greatly eases the design ef-forts by letting users focus on desired target shapes without thinkingabout elastic deformations. Solving this problem using classic it-erative methods (e.g., Newton-Raphson methods), however, oftensuffers from slow convergence toward a desired solution. In thispaper, we propose an asymptotic numerical method that exploitsthe underlying mathematical structure of specific nonlinear materialmodels, and thus runs orders of magnitude faster than traditionalNewton-type methods. We apply this method to compute rest shapesfor elastic fabrication, where the rest shape of an elastic object iscomputed such that after physical fabrication the real object deformsinto a desired shape. We illustrate the performance and robustnessof our method through a series of elastic fabrication experiments.

I.3.5 [Computer Graphics]: Computational Geom-etry and Object Modeling—Physically based modeling;

elastic fabrication, 3D printing, finite element methods,

(a) (b) (c)

3754 seconds 7 seconds

(d) (e)

Figure 1: Plant: Top: Our method computes the rest shape of aplant model (a), given its desired target shape (b) under gravity.

Xiang Chen, Changxi Zheng, Weiwei Xu, Kun Zhou

やわからめの材質でモデルを3Dプリントした場合に例えばこんな木だと垂れ下がってしまうの

で、力が加わったときの変形後の形状をユーザが指定して、そこから変形前の3Dプリントすべ

き元形状を求める研究。

Page 29: SIGGRAPH 2014論文紹介 - Sound & Light + Fabrication Session

An Asymptotic Numerical Method for Inverse Elastic Shape Design

An Asymptotic Numerical Method for Inverse Elastic Shape Design

Xiang Chen⇤ Changxi Zheng† Weiwei Xu‡ Kun Zhou⇤§

State Key Lab of CAD&CG, Zhejiang University †Columbia University ‡Hangzhou Normal University

Inverse shape design for elastic objects greatly eases the design ef-forts by letting users focus on desired target shapes without thinkingabout elastic deformations. Solving this problem using classic it-erative methods (e.g., Newton-Raphson methods), however, oftensuffers from slow convergence toward a desired solution. In thispaper, we propose an asymptotic numerical method that exploitsthe underlying mathematical structure of specific nonlinear materialmodels, and thus runs orders of magnitude faster than traditionalNewton-type methods. We apply this method to compute rest shapesfor elastic fabrication, where the rest shape of an elastic object iscomputed such that after physical fabrication the real object deformsinto a desired shape. We illustrate the performance and robustnessof our method through a series of elastic fabrication experiments.

I.3.5 [Computer Graphics]: Computational Geom-etry and Object Modeling—Physically based modeling;

elastic fabrication, 3D printing, finite element methods,

(a) (b) (c)

3754 seconds 7 seconds

(d) (e)

Figure 1: Plant: Top: Our method computes the rest shape of aplant model (a), given its desired target shape (b) under gravity.

Xiang Chen, Changxi Zheng, Weiwei Xu, Kun Zhou

ANM自体は以前からあるんですけど、それを物理シミュレーションに利用したのがこの論文の

新しいところです。

特にNeo-Hookeanっていう超弾性体のモデルでANMを使えるように定式化してます。

Page 30: SIGGRAPH 2014論文紹介 - Sound & Light + Fabrication Session

inverse shape design tool automatically computing a rest shape thatdeforms into a desired target shape under given external forces (seeFigure 1(a-c)).

In general, the inverse shape design problem amounts to solving astatic equilibrium equation,

f(x,X) + g = 0,

[email protected], [email protected]@[email protected] author

解くべき問題はこんな式で表されます。gは重力だとか外力でfがモデル内部

の力です。

ある外力を与えたときにユーザが変形してほしいと思うときの変位xから変

形前の変位Xを求めたいわけです。

!f: internal forces x: displacements after deformed X: displacements at rest pose g: external forces (ex gravity)

Page 31: SIGGRAPH 2014論文紹介 - Sound & Light + Fabrication Session

4.1 Asymptotic Numerical Method

Our goal is to solve Eq. (2), in which x is provided by the user,and X is the unknown rest shape. First, consider a parameterizedversion (a so-called homotopy) of Eq. (2),

f(x,X) + �g = 0,

where � is a loading parameter in the range [0, 1]. When � = 0the solution of Eq. (5) is clearly X = x up to a rigid transforma-tion, since only an undeformed shape produces a vanishing internalforce. When � = 1, its solution is what we desired, i.e., the solutionof Eq. (2). The basic idea of ANM is derived from numerical contin-uation methods [Allgower and Georg 1990]: in a step-wise manner,it changes the parameter � by following an implicitly defined curvea) starting from �(0) = 0. At each step, a new a is selected and

これをこんなふうに新しい変数をつけて表します。解きたいのは当然λが1の場

合です。あとλ=0のときは変形しないので既知です。

提案手法は、これを最初からいきなりλ=1で解くよりもλを0から少しずつ1に

向かって近づけながら解いていったほうがずっと速く解ける、というものです。

!f: internal forces x: displacements after deformed X: displacements at rest pose g: external forces (ex gravity) λ: [0,1]

Page 32: SIGGRAPH 2014論文紹介 - Sound & Light + Fabrication Session

� � � � � � � ��

� � � � � � � � � � � �

� � � �� � � � � � �� � � �� � � � � � � �

� � � � � � � � � � � � �

� � � � � � � � � � � �� � � � � � � � � � � � � � � � � � � � �

Figure 3: Visualization of ANM Steps: The x-axis indicates the norm of kX(a)� xk2, while the y-axis indicates the corresponding �(a)such that X(a) solves f(x,X(a)) + �(a)g = 0. Given a target cactus shape named as bifur3 (in the inset), the ANM first computes anasymptotic expansion of (X(a),�(a)) (green curve in the first figure) at a = 0 to track the solution branch locally. It then changes the valueof a along the expansion branch as far as possible, until the convergence radius is reached. From there, it refines the solution and creates anew expansion (green curve in the second figure). This process is repeated, until �(a) = 1 is reached.

solution X , causing slow convergence or even instability in theiterative solver. We refer the reader to [Allgower and Georg 1990]for a detailed explanation of the motivation of introducing a.

Tracking Solution using Asymptotic Expansions. Consider a sin-gle step of ANM. Let a0 denote the current parameter value of astep. We have �0 = �(a0) and the corresponding solution X0 thatsatisfies f(x,X0) + �0g = 0. Without an explicit definition of�(a), ANM expresses �(a) and its corresponding solution using apower series expansion around a0

X(a)

�⇡X0�+

nX(a� a )k

X

k

�, (6)

4.2.1. Mathematical Insights Before diving into our derivationdetails of computing the coefficients {X

k

,�

k

} for Eq. (6), we firstpresent the critical insights that lead to fast solves for the coefficients.Suppose for a moment the force function f has a quadratic form ofX . Namely,

f(x,X) = L0 +L[X] +Q[X,X], (7)

where L[?] and Q[?, ?] are respectively a linear and bilinear vectorvalued operators of vector inputs. Substituting the expansion (6) ofX(a) into this expression yields a quadratic series,

Algorithm 1 ANM Tracing

Set X0 = x, �0 = 0, a0 = 0; {initial starting point}while � < 1 do

Solve the polynomial coefficients {Xk

,�

k

}, k = 1...n;Calculate reliable change of a based on residual estimation;Refine X(a) by Newton-Raphson method;Set X0 = X(a), �0 = �(a), a0 = a;

end while

However, both X

k

and �

constrained linear system within (10). To get a full-rank system, we introduce one more constraintas suggested by Cochelin et al. [

(X(a)�X0)T

Essentially, this constraint requires that the parameterthe projection of state incrementtangent vector (X1,�1). After substituting the power series of

and �(a) into Eq. (11), and equating the coefficients of powers of(a� a0), we have one more equation for every (X

k

,�

k

),

X

T

k

X1 + �

k

�1 = �

k1, k = 1...n,

where �

k1 is the Kronecker delta: �

k1 = 1 if k = 1, and zerootherwise. When k = 1, Eq. (12) requires [X1,�1] to have aunit 2-norm. We therefore simply normalize one solution of theunder-constrained linear system (9). When k > 1, putting theconstraint (12) together with Eq. (10) yields a full-rank linear systemof (X

k

,�

k

) (see details in Appendix A).

We note that all the linear systems for (Xk

,�

k

) are very fast tosolve. Indeed, as detailed in Appendix A, all the linear systems,

A

X

k

k

�= b

k

,

share the same matrix A, which is exactly the Jacobian of the non-linear function f(x,X) + �g at (X0,�0). Namely,

A =@

@(X,�)(f(x,X) + �g)

����(X0,�0)

.

Figure 3: Visualization of ANM Steps: The x-axis indicates the norm of kX(a)� xk2, while the y-axis indicates the correspondingsuch that X(a) solves f(x,X(a)) + �(a)g = 0. Given a target cactus shape named as bifur3 (in the inset), the ANM first computes anasymptotic expansion of (X(a),�(a)) (green curve in the first figure) at a = 0 to track the solution branch locally. It then changes the value

along the expansion branch as far as possible, until the convergence radius is reached. From there, it refines the solution and creates anew expansion (green curve in the second figure). This process is repeated, until �(a) = 1 is reached.

solution X , causing slow convergence or even instability in theiterative solver. We refer the reader to [Allgower and Georg 1990]for a detailed explanation of the motivation of introducing a.

Tracking Solution using Asymptotic Expansions. Consider a sin-gle step of ANM. Let a0 denote the current parameter value of astep. We have �0 = �(a0) and the corresponding solution X0 thatsatisfies f(x,X0) + �0g = 0. Without an explicit definition of

, ANM expresses �(a) and its corresponding solution using apower series expansion around a0

X(a)�(a)

�⇡X0

�0

�+

nX

k=1

(a� a0)k

X

k

�k

�, (6)

where n is the truncation order; the set of coefficients,�

k

}, k = 1...n, are what we need to compute at the currentstep. After establishing this local power series, we start to change a

toward the value satisfying �(a) = 1. Inevitably, as we move a awaya0, the asymptotic expansion of X(a) deviates away from the

4.2.1. Mathematical Insights Before diving into our derivationdetails of computing the coefficientspresent the critical insights that lead to fast solves for the coefficients.Suppose for a moment the force functionX . Namely,

f(x,X) = L0 +L

where L[?] and Q[?, ?] are respectively a linear and bilinear vectorvalued operators of vector inputs. Substituting the expansionX(a) into this expression yields a quadratic series,

f(x,X(a)) = L0 +L[X0] +Q

+ (a� a0) (L[X1

+nX

k=2

(a� a0)k

L[X

k

] + 2Q[X

X: displacements at rest pose a: implicit parameter

and �(a) into Eq. (11), and equating the coefficients of powers of(a� a0), we have one more equation for every (X

k

,�

k

)

X

T

k

X1 + �

k

�1 = �

k1, k = 1...n,

where �

k1 is the Kronecker delta: �

k1 = 1 if k = 1, and zerootherwise. When k = 1, Eq. (12) requires [X1,�1]unit 2-norm. We therefore simply normalize one solution of theunder-constrained linear system (9). When k > 1, putting theconstraint (12) together with Eq. (10) yields a full-rank linear systemof (X

k

,�

k

) (see details in Appendix A).

We note that all the linear systems for (Xk

,�

k

) are very fast tosolve. Indeed, as detailed in Appendix A, all the linear systems,

A

X

k

k

�= b

k

,

share the same matrix A, which is exactly the Jacobian of the non-linear function f(x,X) + �g at (X0,�0). Namely,

A =@

@(X,�)(f(x,X) + �g)

����(X0,�0)

.

Recall that as described in §4.1, after we change a to a new value,we refine the solution X(a) using the Newton-Raphson method,

このλと求めるレストポーズXはaっていうパラメータの多項式で表現されていてa=0のときλは0になります。

Page 33: SIGGRAPH 2014論文紹介 - Sound & Light + Fabrication Session

� � � � � � � ��

� � � � � � � � � � � �

� � � �� � � � � � �� � � �� � � � � � � �

� � � � � � � � � � � � �

� � � � � � � � � � � �� � � � � � � � � � � � � � � � � � � � �

Figure 3: Visualization of ANM Steps: The x-axis indicates the norm of kX(a)� xk2, while the y-axis indicates the corresponding �(a)such that X(a) solves f(x,X(a)) + �(a)g = 0. Given a target cactus shape named as bifur3 (in the inset), the ANM first computes anasymptotic expansion of (X(a),�(a)) (green curve in the first figure) at a = 0 to track the solution branch locally. It then changes the valueof a along the expansion branch as far as possible, until the convergence radius is reached. From there, it refines the solution and creates anew expansion (green curve in the second figure). This process is repeated, until �(a) = 1 is reached.

solution X , causing slow convergence or even instability in theiterative solver. We refer the reader to [Allgower and Georg 1990]for a detailed explanation of the motivation of introducing a.

Tracking Solution using Asymptotic Expansions. Consider a sin-gle step of ANM. Let a0 denote the current parameter value of astep. We have �0 = �(a0) and the corresponding solution X0 thatsatisfies f(x,X0) + �0g = 0. Without an explicit definition of�(a), ANM expresses �(a) and its corresponding solution using apower series expansion around a0

X(a)

�⇡X0�+

nX(a� a )k

X

k

�, (6)

4.2.1. Mathematical Insights Before diving into our derivationdetails of computing the coefficients {X

k

,�

k

} for Eq. (6), we firstpresent the critical insights that lead to fast solves for the coefficients.Suppose for a moment the force function f has a quadratic form ofX . Namely,

f(x,X) = L0 +L[X] +Q[X,X], (7)

where L[?] and Q[?, ?] are respectively a linear and bilinear vectorvalued operators of vector inputs. Substituting the expansion (6) ofX(a) into this expression yields a quadratic series,

Algorithm 1 ANM Tracing

Set X0 = x, �0 = 0, a0 = 0; {initial starting point}while � < 1 do

Solve the polynomial coefficients {Xk

,�

k

}, k = 1...n;Calculate reliable change of a based on residual estimation;Refine X(a) by Newton-Raphson method;Set X0 = X(a), �0 = �(a), a0 = a;

end while

However, both X

k

and �

constrained linear system within (10). To get a full-rank system, we introduce one more constraintas suggested by Cochelin et al. [

(X(a)�X0)T

Essentially, this constraint requires that the parameterthe projection of state incrementtangent vector (X1,�1). After substituting the power series of

and �(a) into Eq. (11), and equating the coefficients of powers of(a� a0), we have one more equation for every (X

k

,�

k

),

X

T

k

X1 + �

k

�1 = �

k1, k = 1...n,

where �

k1 is the Kronecker delta: �

k1 = 1 if k = 1, and zerootherwise. When k = 1, Eq. (12) requires [X1,�1] to have aunit 2-norm. We therefore simply normalize one solution of theunder-constrained linear system (9). When k > 1, putting theconstraint (12) together with Eq. (10) yields a full-rank linear systemof (X

k

,�

k

) (see details in Appendix A).

We note that all the linear systems for (Xk

,�

k

) are very fast tosolve. Indeed, as detailed in Appendix A, all the linear systems,

A

X

k

k

�= b

k

,

share the same matrix A, which is exactly the Jacobian of the non-linear function f(x,X) + �g at (X0,�0). Namely,

A =@

@(X,�)(f(x,X) + �g)

����(X0,�0)

.

Figure 3: Visualization of ANM Steps: The x-axis indicates the norm of kX(a)� xk2, while the y-axis indicates the correspondingsuch that X(a) solves f(x,X(a)) + �(a)g = 0. Given a target cactus shape named as bifur3 (in the inset), the ANM first computes anasymptotic expansion of (X(a),�(a)) (green curve in the first figure) at a = 0 to track the solution branch locally. It then changes the value

along the expansion branch as far as possible, until the convergence radius is reached. From there, it refines the solution and creates anew expansion (green curve in the second figure). This process is repeated, until �(a) = 1 is reached.

solution X , causing slow convergence or even instability in theiterative solver. We refer the reader to [Allgower and Georg 1990]for a detailed explanation of the motivation of introducing a.

Tracking Solution using Asymptotic Expansions. Consider a sin-gle step of ANM. Let a0 denote the current parameter value of astep. We have �0 = �(a0) and the corresponding solution X0 thatsatisfies f(x,X0) + �0g = 0. Without an explicit definition of

, ANM expresses �(a) and its corresponding solution using apower series expansion around a0

X(a)�(a)

�⇡X0

�0

�+

nX

k=1

(a� a0)k

X

k

�k

�, (6)

where n is the truncation order; the set of coefficients,�

k

}, k = 1...n, are what we need to compute at the currentstep. After establishing this local power series, we start to change a

toward the value satisfying �(a) = 1. Inevitably, as we move a awaya0, the asymptotic expansion of X(a) deviates away from the

4.2.1. Mathematical Insights Before diving into our derivationdetails of computing the coefficientspresent the critical insights that lead to fast solves for the coefficients.Suppose for a moment the force functionX . Namely,

f(x,X) = L0 +L

where L[?] and Q[?, ?] are respectively a linear and bilinear vectorvalued operators of vector inputs. Substituting the expansionX(a) into this expression yields a quadratic series,

f(x,X(a)) = L0 +L[X0] +Q

+ (a� a0) (L[X1

+nX

k=2

(a� a0)k

L[X

k

] + 2Q[X

X: displacements at rest pose a: implicit parameter

and �(a) into Eq. (11), and equating the coefficients of powers of(a� a0), we have one more equation for every (X

k

,�

k

)

X

T

k

X1 + �

k

�1 = �

k1, k = 1...n,

where �

k1 is the Kronecker delta: �

k1 = 1 if k = 1, and zerootherwise. When k = 1, Eq. (12) requires [X1,�1]unit 2-norm. We therefore simply normalize one solution of theunder-constrained linear system (9). When k > 1, putting theconstraint (12) together with Eq. (10) yields a full-rank linear systemof (X

k

,�

k

) (see details in Appendix A).

We note that all the linear systems for (Xk

,�

k

) are very fast tosolve. Indeed, as detailed in Appendix A, all the linear systems,

A

X

k

k

�= b

k

,

share the same matrix A, which is exactly the Jacobian of the non-linear function f(x,X) + �g at (X0,�0). Namely,

A =@

@(X,�)(f(x,X) + �g)

����(X0,�0)

.

Recall that as described in §4.1, after we change a to a new value,we refine the solution X(a) using the Newton-Raphson method,

で、aを少しずつ増加させていくとλとXも変化していって、ある程度までいくと誤差が増大します。

Page 34: SIGGRAPH 2014論文紹介 - Sound & Light + Fabrication Session

� � � � � � � ��

� � � � � � � � � � � �

� � � �� � � � � � �� � � �� � � � � � � �

� � � � � � � � � � � � �

� � � � � � � � � � � �� � � � � � � � � � � � � � � � � � � � �

Figure 3: Visualization of ANM Steps: The x-axis indicates the norm of kX(a)� xk2, while the y-axis indicates the corresponding �(a)such that X(a) solves f(x,X(a)) + �(a)g = 0. Given a target cactus shape named as bifur3 (in the inset), the ANM first computes anasymptotic expansion of (X(a),�(a)) (green curve in the first figure) at a = 0 to track the solution branch locally. It then changes the valueof a along the expansion branch as far as possible, until the convergence radius is reached. From there, it refines the solution and creates anew expansion (green curve in the second figure). This process is repeated, until �(a) = 1 is reached.

solution X , causing slow convergence or even instability in theiterative solver. We refer the reader to [Allgower and Georg 1990]for a detailed explanation of the motivation of introducing a.

Tracking Solution using Asymptotic Expansions. Consider a sin-gle step of ANM. Let a0 denote the current parameter value of astep. We have �0 = �(a0) and the corresponding solution X0 thatsatisfies f(x,X0) + �0g = 0. Without an explicit definition of�(a), ANM expresses �(a) and its corresponding solution using apower series expansion around a0

X(a)

�⇡X0�+

nX(a� a )k

X

k

�, (6)

4.2.1. Mathematical Insights Before diving into our derivationdetails of computing the coefficients {X

k

,�

k

} for Eq. (6), we firstpresent the critical insights that lead to fast solves for the coefficients.Suppose for a moment the force function f has a quadratic form ofX . Namely,

f(x,X) = L0 +L[X] +Q[X,X], (7)

where L[?] and Q[?, ?] are respectively a linear and bilinear vectorvalued operators of vector inputs. Substituting the expansion (6) ofX(a) into this expression yields a quadratic series,

Algorithm 1 ANM Tracing

Set X0 = x, �0 = 0, a0 = 0; {initial starting point}while � < 1 do

Solve the polynomial coefficients {Xk

,�

k

}, k = 1...n;Calculate reliable change of a based on residual estimation;Refine X(a) by Newton-Raphson method;Set X0 = X(a), �0 = �(a), a0 = a;

end while

However, both X

k

and �

constrained linear system within (10). To get a full-rank system, we introduce one more constraintas suggested by Cochelin et al. [

(X(a)�X0)T

Essentially, this constraint requires that the parameterthe projection of state incrementtangent vector (X1,�1). After substituting the power series of

and �(a) into Eq. (11), and equating the coefficients of powers of(a� a0), we have one more equation for every (X

k

,�

k

),

X

T

k

X1 + �

k

�1 = �

k1, k = 1...n,

where �

k1 is the Kronecker delta: �

k1 = 1 if k = 1, and zerootherwise. When k = 1, Eq. (12) requires [X1,�1] to have aunit 2-norm. We therefore simply normalize one solution of theunder-constrained linear system (9). When k > 1, putting theconstraint (12) together with Eq. (10) yields a full-rank linear systemof (X

k

,�

k

) (see details in Appendix A).

We note that all the linear systems for (Xk

,�

k

) are very fast tosolve. Indeed, as detailed in Appendix A, all the linear systems,

A

X

k

k

�= b

k

,

share the same matrix A, which is exactly the Jacobian of the non-linear function f(x,X) + �g at (X0,�0). Namely,

A =@

@(X,�)(f(x,X) + �g)

����(X0,�0)

.

Figure 3: Visualization of ANM Steps: The x-axis indicates the norm of kX(a)� xk2, while the y-axis indicates the correspondingsuch that X(a) solves f(x,X(a)) + �(a)g = 0. Given a target cactus shape named as bifur3 (in the inset), the ANM first computes anasymptotic expansion of (X(a),�(a)) (green curve in the first figure) at a = 0 to track the solution branch locally. It then changes the value

along the expansion branch as far as possible, until the convergence radius is reached. From there, it refines the solution and creates anew expansion (green curve in the second figure). This process is repeated, until �(a) = 1 is reached.

solution X , causing slow convergence or even instability in theiterative solver. We refer the reader to [Allgower and Georg 1990]for a detailed explanation of the motivation of introducing a.

Tracking Solution using Asymptotic Expansions. Consider a sin-gle step of ANM. Let a0 denote the current parameter value of astep. We have �0 = �(a0) and the corresponding solution X0 thatsatisfies f(x,X0) + �0g = 0. Without an explicit definition of

, ANM expresses �(a) and its corresponding solution using apower series expansion around a0

X(a)�(a)

�⇡X0

�0

�+

nX

k=1

(a� a0)k

X

k

�k

�, (6)

where n is the truncation order; the set of coefficients,�

k

}, k = 1...n, are what we need to compute at the currentstep. After establishing this local power series, we start to change a

toward the value satisfying �(a) = 1. Inevitably, as we move a awaya0, the asymptotic expansion of X(a) deviates away from the

4.2.1. Mathematical Insights Before diving into our derivationdetails of computing the coefficientspresent the critical insights that lead to fast solves for the coefficients.Suppose for a moment the force functionX . Namely,

f(x,X) = L0 +L

where L[?] and Q[?, ?] are respectively a linear and bilinear vectorvalued operators of vector inputs. Substituting the expansionX(a) into this expression yields a quadratic series,

f(x,X(a)) = L0 +L[X0] +Q

+ (a� a0) (L[X1

+nX

k=2

(a� a0)k

L[X

k

] + 2Q[X

X: displacements at rest pose a: implicit parameter

and �(a) into Eq. (11), and equating the coefficients of powers of(a� a0), we have one more equation for every (X

k

,�

k

)

X

T

k

X1 + �

k

�1 = �

k1, k = 1...n,

where �

k1 is the Kronecker delta: �

k1 = 1 if k = 1, and zerootherwise. When k = 1, Eq. (12) requires [X1,�1]unit 2-norm. We therefore simply normalize one solution of theunder-constrained linear system (9). When k > 1, putting theconstraint (12) together with Eq. (10) yields a full-rank linear systemof (X

k

,�

k

) (see details in Appendix A).

We note that all the linear systems for (Xk

,�

k

) are very fast tosolve. Indeed, as detailed in Appendix A, all the linear systems,

A

X

k

k

�= b

k

,

share the same matrix A, which is exactly the Jacobian of the non-linear function f(x,X) + �g at (X0,�0). Namely,

A =@

@(X,�)(f(x,X) + �g)

����(X0,�0)

.

Recall that as described in §4.1, after we change a to a new value,we refine the solution X(a) using the Newton-Raphson method,

この誤差が閾値を超えたところでNewton-Raphson法を使ってλとXを修正してやって、またそこを初期値としてaを変化させます。

Page 35: SIGGRAPH 2014論文紹介 - Sound & Light + Fabrication Session

� � � � � � � ��

� � � � � � � � � � � �

� � � �� � � � � � �� � � �� � � � � � � �

� � � � � � � � � � � � �

� � � � � � � � � � � �� � � � � � � � � � � � � � � � � � � � �

Figure 3: Visualization of ANM Steps: The x-axis indicates the norm of kX(a)� xk2, while the y-axis indicates the corresponding �(a)such that X(a) solves f(x,X(a)) + �(a)g = 0. Given a target cactus shape named as bifur3 (in the inset), the ANM first computes anasymptotic expansion of (X(a),�(a)) (green curve in the first figure) at a = 0 to track the solution branch locally. It then changes the valueof a along the expansion branch as far as possible, until the convergence radius is reached. From there, it refines the solution and creates anew expansion (green curve in the second figure). This process is repeated, until �(a) = 1 is reached.

solution X , causing slow convergence or even instability in theiterative solver. We refer the reader to [Allgower and Georg 1990]for a detailed explanation of the motivation of introducing a.

Tracking Solution using Asymptotic Expansions. Consider a sin-gle step of ANM. Let a0 denote the current parameter value of astep. We have �0 = �(a0) and the corresponding solution X0 thatsatisfies f(x,X0) + �0g = 0. Without an explicit definition of�(a), ANM expresses �(a) and its corresponding solution using apower series expansion around a0

X(a)

�⇡X0�+

nX(a� a )k

X

k

�, (6)

4.2.1. Mathematical Insights Before diving into our derivationdetails of computing the coefficients {X

k

,�

k

} for Eq. (6), we firstpresent the critical insights that lead to fast solves for the coefficients.Suppose for a moment the force function f has a quadratic form ofX . Namely,

f(x,X) = L0 +L[X] +Q[X,X], (7)

where L[?] and Q[?, ?] are respectively a linear and bilinear vectorvalued operators of vector inputs. Substituting the expansion (6) ofX(a) into this expression yields a quadratic series,

Algorithm 1 ANM Tracing

Set X0 = x, �0 = 0, a0 = 0; {initial starting point}while � < 1 do

Solve the polynomial coefficients {Xk

,�

k

}, k = 1...n;Calculate reliable change of a based on residual estimation;Refine X(a) by Newton-Raphson method;Set X0 = X(a), �0 = �(a), a0 = a;

end while

However, both X

k

and �

constrained linear system within (10). To get a full-rank system, we introduce one more constraintas suggested by Cochelin et al. [

(X(a)�X0)T

Essentially, this constraint requires that the parameterthe projection of state incrementtangent vector (X1,�1). After substituting the power series of

and �(a) into Eq. (11), and equating the coefficients of powers of(a� a0), we have one more equation for every (X

k

,�

k

),

X

T

k

X1 + �

k

�1 = �

k1, k = 1...n,

where �

k1 is the Kronecker delta: �

k1 = 1 if k = 1, and zerootherwise. When k = 1, Eq. (12) requires [X1,�1] to have aunit 2-norm. We therefore simply normalize one solution of theunder-constrained linear system (9). When k > 1, putting theconstraint (12) together with Eq. (10) yields a full-rank linear systemof (X

k

,�

k

) (see details in Appendix A).

We note that all the linear systems for (Xk

,�

k

) are very fast tosolve. Indeed, as detailed in Appendix A, all the linear systems,

A

X

k

k

�= b

k

,

share the same matrix A, which is exactly the Jacobian of the non-linear function f(x,X) + �g at (X0,�0). Namely,

A =@

@(X,�)(f(x,X) + �g)

����(X0,�0)

.

Figure 3: Visualization of ANM Steps: The x-axis indicates the norm of kX(a)� xk2, while the y-axis indicates the correspondingsuch that X(a) solves f(x,X(a)) + �(a)g = 0. Given a target cactus shape named as bifur3 (in the inset), the ANM first computes anasymptotic expansion of (X(a),�(a)) (green curve in the first figure) at a = 0 to track the solution branch locally. It then changes the value

along the expansion branch as far as possible, until the convergence radius is reached. From there, it refines the solution and creates anew expansion (green curve in the second figure). This process is repeated, until �(a) = 1 is reached.

solution X , causing slow convergence or even instability in theiterative solver. We refer the reader to [Allgower and Georg 1990]for a detailed explanation of the motivation of introducing a.

Tracking Solution using Asymptotic Expansions. Consider a sin-gle step of ANM. Let a0 denote the current parameter value of astep. We have �0 = �(a0) and the corresponding solution X0 thatsatisfies f(x,X0) + �0g = 0. Without an explicit definition of

, ANM expresses �(a) and its corresponding solution using apower series expansion around a0

X(a)�(a)

�⇡X0

�0

�+

nX

k=1

(a� a0)k

X

k

�k

�, (6)

where n is the truncation order; the set of coefficients,�

k

}, k = 1...n, are what we need to compute at the currentstep. After establishing this local power series, we start to change a

toward the value satisfying �(a) = 1. Inevitably, as we move a awaya0, the asymptotic expansion of X(a) deviates away from the

4.2.1. Mathematical Insights Before diving into our derivationdetails of computing the coefficientspresent the critical insights that lead to fast solves for the coefficients.Suppose for a moment the force functionX . Namely,

f(x,X) = L0 +L

where L[?] and Q[?, ?] are respectively a linear and bilinear vectorvalued operators of vector inputs. Substituting the expansionX(a) into this expression yields a quadratic series,

f(x,X(a)) = L0 +L[X0] +Q

+ (a� a0) (L[X1

+nX

k=2

(a� a0)k

L[X

k

] + 2Q[X

X: displacements at rest pose a: implicit parameter

and �(a) into Eq. (11), and equating the coefficients of powers of(a� a0), we have one more equation for every (X

k

,�

k

)

X

T

k

X1 + �

k

�1 = �

k1, k = 1...n,

where �

k1 is the Kronecker delta: �

k1 = 1 if k = 1, and zerootherwise. When k = 1, Eq. (12) requires [X1,�1]unit 2-norm. We therefore simply normalize one solution of theunder-constrained linear system (9). When k > 1, putting theconstraint (12) together with Eq. (10) yields a full-rank linear systemof (X

k

,�

k

) (see details in Appendix A).

We note that all the linear systems for (Xk

,�

k

) are very fast tosolve. Indeed, as detailed in Appendix A, all the linear systems,

A

X

k

k

�= b

k

,

share the same matrix A, which is exactly the Jacobian of the non-linear function f(x,X) + �g at (X0,�0). Namely,

A =@

@(X,�)(f(x,X) + �g)

����(X0,�0)

.

Recall that as described in §4.1, after we change a to a new value,we refine the solution X(a) using the Newton-Raphson method,

これがλ=1になるまで繰り返せばめでたく正しいレストポーズXが求まっている、というのが大枠です。

Page 36: SIGGRAPH 2014論文紹介 - Sound & Light + Fabrication Session

この手法のいいところはxと Xをひっくり返せばそのまま逆問題だけじゃなく普通

の静的解析にも使えるという点で、いろんな3次元のインタラクティブな物理シ

ミュレーションを高速化できるよと言っています。

� � � �

� � � �

� � � � � � � � � � � �Figure 7: Phone Holder: We compute a rest shape of a phone holder (a) based on its target shape under working forces (b) for clamping acell phone. We then fabricate the computed rest shape (c). As shown in (d), its mouth clamps a cell phone tightly as predicted.

Figure 8: Hanger: We compute a rest shape of hanger model (a) given its target shape under gravity (b) and target shape under workingforces (c). The fabrication of the rest shape has a horizontal bottom bar under gravity (d). The shape under the target work load (e) is visuallysimilar to the designed target shape. The weight of cloth is shown in (f).

Figure 7: Phone Holder: We compute a rest shape of a phone holder (a) based on its target shape under working forces (b) for clamping acell phone. We then fabricate the computed rest shape (c). As shown in (d), its mouth clamps a cell phone tightly as predicted.

� � � � � � � � � �

� � � � � � � � � � � � �

� � � � � � � � � � � �� � � � � �Figure 8: Hanger: We compute a rest shape of hanger model (a) given its target shape under gravity (b) and target shape under workingforces (c). The fabrication of the rest shape has a horizontal bottom bar under gravity (d). The shape under the target work load (e) is visuallysimilar to the designed target shape. The weight of cloth is shown in (f).

Figure 7: Phone Holder: We compute a rest shape of a phone holder (a) based on its target shape under working forces (b) for clamping acell phone. We then fabricate the computed rest shape (c). As shown in (d), its mouth clamps a cell phone tightly as predicted.

Figure 8: Hanger: We compute a rest shape of hanger model (a) given its target shape under gravity (b) and target shape under workingforces (c). The fabrication of the rest shape has a horizontal bottom bar under gravity (d). The shape under the target work load (e) is visuallysimilar to the designed target shape. The weight of cloth is shown in (f).

� � � � � � �� � � � � � � � � � � �

� � � � � �

Figure 9: Multi-target Dinosaur: We compute a rest shape for the dinosaur model given multiple designed target shapes (top row). Whenapplying the forces to the fabricated shape, we observe deformations that are visually similar to the corresponding target shapes (bottom row).

Page 37: SIGGRAPH 2014論文紹介 - Sound & Light + Fabrication Session

Build-to-Last: Strength to Weight 3D Printed Objects

Lin Lu, Andrei Sharf, Haisen Zhao, Yuan Wei, Qingnan Fan, Xuelin Chen, Yann Savoye, Changhe Tu, Daniel Cohen-Or, Baoquan Chen

Build-to-Last: Strength to Weight 3D Printed Objects

Lin Lu1⇤Andrei Sharf2 Haisen Zhao1 Yuan Wei1 Qingnan Fan1 Xuelin Chen1Yann Savoye2 Changhe Tu1 Daniel Cohen-Or3 Baoquan Chen1†

1 Shandong University 2 Ben-Gurion University 3 Tel Aviv University

Figure 1: We reduce the material of a 3D kitten (left), by carving porous in the solid (mid-left), to yield a honeycomb-like interior structurewhich provides an optimal strength-to-weight ratio, and relieves the overall stress illustrated on a cross-section (mid-right). The 3D printedhollowed solid is built-to-last using our interior structure (right).

Abstract

The emergence of low-cost 3D printers steers the investigation ofnew geometric problems that control the quality of the fabricatedobject. In this paper, we present a method to reduce the materialcost and weight of a given object while providing a durable printedmodel that is resistant to impact and external forces.

We introduce a hollowing optimization algorithm based on theconcept of honeycomb-cells structure. Honeycombs structures areknown to be of minimal material cost while providing strength

Links: DL PDF

1 Introduction

Recent years have seen a growing interest in 3D printing technolo-gies, capable of generating tangible solid objects from their digitalrepresentation. Typically, physically printed objects are built bysuccessively stacking cross-section layers of powder-based mate-rial. Layers are generated through fused-deposition modeling andliquid polymer jetting. Hence, the production cost of the result-ing model is directly related to the volume of material effectivelyemployed in the printing process. In turn, this can be a costly oper-

“Honeycombs structures are known to be of minimal material cost while providing strength in tension”

材料のコストを抑えつつ、できるだけ軽く、かつ頑丈なモデルを3Dプリンタで出

力できるように最適化する研究です。

honeycomb-cells structure、つまり蜂の巣状の内部構造をモデルに持たせます。

Page 38: SIGGRAPH 2014論文紹介 - Sound & Light + Fabrication Session

Build-to-Last: Strength to Weight 3D Printed Objects

Lin Lu, Andrei Sharf, Haisen Zhao, Yuan Wei, Qingnan Fan, Xuelin Chen, Yann Savoye, Changhe Tu, Daniel Cohen-Or, Baoquan Chen

Build-to-Last: Strength to Weight 3D Printed Objects

Lin Lu1⇤Andrei Sharf2 Haisen Zhao1 Yuan Wei1 Qingnan Fan1 Xuelin Chen1Yann Savoye2 Changhe Tu1 Daniel Cohen-Or3 Baoquan Chen1†

1 Shandong University 2 Ben-Gurion University 3 Tel Aviv University

Figure 1: We reduce the material of a 3D kitten (left), by carving porous in the solid (mid-left), to yield a honeycomb-like interior structurewhich provides an optimal strength-to-weight ratio, and relieves the overall stress illustrated on a cross-section (mid-right). The 3D printedhollowed solid is built-to-last using our interior structure (right).

Abstract

The emergence of low-cost 3D printers steers the investigation ofnew geometric problems that control the quality of the fabricatedobject. In this paper, we present a method to reduce the materialcost and weight of a given object while providing a durable printedmodel that is resistant to impact and external forces.

We introduce a hollowing optimization algorithm based on theconcept of honeycomb-cells structure. Honeycombs structures areknown to be of minimal material cost while providing strength

Links: DL PDF

1 Introduction

Recent years have seen a growing interest in 3D printing technolo-gies, capable of generating tangible solid objects from their digitalrepresentation. Typically, physically printed objects are built bysuccessively stacking cross-section layers of powder-based mate-rial. Layers are generated through fused-deposition modeling andliquid polymer jetting. Hence, the production cost of the result-ing model is directly related to the volume of material effectivelyemployed in the printing process. In turn, this can be a costly oper-

“Honeycombs structures are known to be of minimal material cost while providing strength in tension”

まぁいわゆるボロノイ的なあれですね。

材料の量と強度のトレードオフをユーザがコントロールできるところが売りのようです。

Page 39: SIGGRAPH 2014論文紹介 - Sound & Light + Fabrication Session

(a) (b) (c) (d) (e)

Figure 2: Given a 3D shape of a shark and external forces we compute an initial stress map (a) and generate a corresponding interior pointdistribution (b). We compute the lightest interior that sustains the given stress through an optimization process. We show here two steps (c-d)of the optimization and an optimal strength-to-weight ratio in (e).

set of sites, the Voronoi diagram defines a space partitioning in-to closed-cells of nearest regions with respect to the sites [Voronoi1908]. As the number of sites increases, Voronoi cells convergeto hexagonal honeycomb-like shapes [Bronstein et al. 2008], pro-ducing a structure of high strength-to-weight ratio for any mate-rial [Wilson 1990]. In our work, we utilize an adaptive centroidal

the object strength and interior amount of material.

2 Related Work

Recent years have shown a growing interest in 3D printing tech-nologies, capable of generating tangible solid objects from their

最初にストレスマップというのを作ります。これはモデル内部にかかる内力

の分布を表しています。

この分布からボロノイテッセレーションしてまず初期状態とします。

ここからセルの総数とセル内部の空洞部の割合をアダプティブなモンテカル

ロ法を使って最適化してやります.

stress map

Page 40: SIGGRAPH 2014論文紹介 - Sound & Light + Fabrication Session

Results

Figure 10: We build-to-last and 3D print our models as well as their hollowed honeycomb-like interiors. A standard key is as the sizereference.

Model Solid Vol.(cm3)

Result Vol.(cm3)

Ratio(%)

Stress(N/m2)

Chair 719.24 472.03 65.6 4.00e7Cup 214.4 89.33 41.7 4.01e7

Fertility 54.24 20.02 36.9 4.01e7Hangingball 226.66 58.5 25.8 2.65e7

Page 41: SIGGRAPH 2014論文紹介 - Sound & Light + Fabrication Session

Spin-It: Optimizing Moment of Inertia for Spinnable Objects

Moritz Bacher, Emily Whiting, Bernd Bickel, Olga Sorkine-Hornung

3Dプリンタで好きな形のコマとかヨーヨーみたいな回転体を作ることができるってやつです。Spin-It: Optimizing Moment of Inertia for Spinnable Objects

Moritz BacherDisney Research Zurich

Emily WhitingETH Zurich

Bernd BickelDisney Research Zurich

Olga Sorkine-HornungETH Zurich

(a) unstable input (b) hollowed, optimized model (c) our spinning top design (d) elephant in motion

Figure 1: We introduce an algorithm for the design of spinning tops and yo-yos. Our method optimizes the inertia tensor of an input modelby changing its mass distribution, allowing long and stable spins even for complex, asymmetric shapes.

Abstract 1975], and evidence of clay tops has been found in ancient cities

Page 42: SIGGRAPH 2014論文紹介 - Sound & Light + Fabrication Session

Spin-It: Optimizing Moment of Inertia for Spinnable Objects

Moritz Bacher, Emily Whiting, Bernd Bickel, Olga Sorkine-Hornung

去年make it standっていうモデルをバランスよくちゃんと立つようにする研究があり

ましたがそれの続き的な感じで回してみたらしい。

ちなみに需要があるのかどうかは謎。

ヨーヨーってミニ四駆と並んで10年周期ぐらいで流行ってるから次のブームのときに

は自分でオリジナルのデザインができる要素も入ってくると面白いのかも。

Spin-It: Optimizing Moment of Inertia for Spinnable Objects

Moritz BacherDisney Research Zurich

Emily WhitingETH Zurich

Bernd BickelDisney Research Zurich

Olga Sorkine-HornungETH Zurich

(a) unstable input (b) hollowed, optimized model (c) our spinning top design (d) elephant in motion

Figure 1: We introduce an algorithm for the design of spinning tops and yo-yos. Our method optimizes the inertia tensor of an input modelby changing its mass distribution, allowing long and stable spins even for complex, asymmetric shapes.

Abstract 1975], and evidence of clay tops has been found in ancient cities

Page 43: SIGGRAPH 2014論文紹介 - Sound & Light + Fabrication Session

1. 重心が回転軸上にあること 2. 重心位置が接地点になるべく近く、さらに軽いこと 3. 回転軸と最大となる主要慣性軸が平行であること 4. 最大となる主要慣性軸の大きさが他の主要慣性軸に比べて支配的であること

For yo-yos, the gravitational torque remains zero throughout thespin if we neglect the effect of an uneven coiling of the string.

Moment of inertia is the analog of mass for rotational motionand measures the resistance to rotations about a given axis. Eu-ler’s equations from classical mechanics (see, e.g., [Goldstein et al.2001]) conveniently describe the rotating motion of a rigid body inits body frame, whose axes are the three principal axes of inertiaand the origin is c. Since there is no external torque acting on thebody (for c on the spinning axis), we can only spin about an axiswith constant angular velocity if it is a principal axis of inertia.

For an arbitrary rigid body, there existsan equivalent ellipsoid with the sameinertial properties. We can discussthe preferable axis using an ellipsoidE with half-axeskh

b

k kE’s principal axes of inertia are parallelto its half-axes, and the correspondingmomentssum of squares of the two other half-

axes’ lengths (omitting a common scale factor), as illustrated inthe inset. Hence, the maximal principal axis of inertia correspondsto the shortest axis h

c

, and we havethe ellipsoid with a constant angular velocity

�� ��

� �

� ���� � � � � � ��

��

��� ��

� �

� �

T

�� � � � � � � ��

� � � � T

(a) (b) (c)

Figure 2: Spinning Yo-yos and Tops stably: For spinning tops,the center of mass must lie on the user-specified spinning axis a,otherwise it will cause an unbalanced external torque |⌧ | = Mgd

relative to p (a). For slower angular velocities, the precession an-

モデルが回転するための条件

Page 44: SIGGRAPH 2014論文紹介 - Sound & Light + Fabrication Session

この条件を満たすようにモデル内部をオクツリーボクセルで埋めていきます

Figure 9: “Teapot”: (Left) Hollowed result showing voxelized inte-rior mass and aligned axes using ftop = fyo-yo. (Middle) Loweringof the center of mass shifts the mass distribution closer to the con-tact point. If we include mass reduction (right), mass is reducedinward out, resulting in the design with highest rotational stability.

Figure 11: “Dancing Couple”. (Top: left to right) Initial designwith principal axes rotated away from spin frame; after hollowing,the dominant primary axis is still not aligned; optimized result af-ter deformation. (Middle: left to right) Initial (red) and deformed

96:8 • M. Bächer et al.

rior mass distribution of the Heart in Fig. 3 left, bottom). We there-fore employ a multi-resolution voxelization based on an adaptiveoctree, thereby significantly reducing the number of fill variables.Our discretized volume integrals then become

s⌦�⌦0= s⌦ �

X

k

k

s⌦k

where ⌦

i

=

Sk

k

is a partitioning of the interior into octree cells. The void space ⌦

0 consists of all cells ⌦k

for which �

k

= 1.

5.3 Optimization approach

Given our adaptive voxel discretization, since the fill values are bi-nary, the resulting minimization problem would be combinatorial.In order to take advantage of continuous optimization techniques,we propose a relaxation approach that allows �

k

to take on a con-tinuous value in the interval [0, 1].

The goal of the optimization eventually is to assign binary fill valuesto each voxel. In practice, we observed that fill variables �

k

witha fractional value only occur on the boundary between voids andsolid regions. Hence, we sample these regions at a high resolution,

we check whether all fill valuescells ⌦

k

optimization.

Our functionalsTo prevent an under-determined minimization problem, we use auniform symmetric Laplacianneighboring cells. This results in the following optimization:

where � is a vector containing allftop(�) or fyo-yo

5.4 Implementation details

Cells overlapping the boundary need special handling. We rep-resent the content of such cells with a tree itself, rooted atthe cell’s level, refined to highest resolution in close proxim-ity to the boundary of

boundaryshell

interior

initialization

iterations

merge

split

� � � �

� � � � � �

boundary

Figure 3: Hollowing: (Left) Our input encloses a volume ⌦. By introducing voids ⌦0, we can compensate for an unfavorable mass distribu-tion. (Right) To reduce the number of variables and overall time complexity for our voids optimization, we summarize contributions of octreeleaf cells in a partition of larger cells shown here for a boundary and an interior cell.

Spin-It: Optimizing Moment of Inertia for Spinnable Objects • 96:5

s: objective function β: [0,1]

Page 45: SIGGRAPH 2014論文紹介 - Sound & Light + Fabrication Session

ボクセルごとに目的関数を定義してこれが最小化されるように埋めていきます。βは0のとき空洞、1のとき完全に埋まるようになってて、βが0と1の間のときにどんどん再帰的にオクツリーを細分化させていきます。

Figure 9: “Teapot”: (Left) Hollowed result showing voxelized inte-rior mass and aligned axes using ftop = fyo-yo. (Middle) Loweringof the center of mass shifts the mass distribution closer to the con-tact point. If we include mass reduction (right), mass is reducedinward out, resulting in the design with highest rotational stability.

Figure 11: “Dancing Couple”. (Top: left to right) Initial designwith principal axes rotated away from spin frame; after hollowing,the dominant primary axis is still not aligned; optimized result af-ter deformation. (Middle: left to right) Initial (red) and deformed

96:8 • M. Bächer et al.

rior mass distribution of the Heart in Fig. 3 left, bottom). We there-fore employ a multi-resolution voxelization based on an adaptiveoctree, thereby significantly reducing the number of fill variables.Our discretized volume integrals then become

s⌦�⌦0= s⌦ �

X

k

k

s⌦k

where ⌦

i

=

Sk

k

is a partitioning of the interior into octree cells. The void space ⌦

0 consists of all cells ⌦k

for which �

k

= 1.

5.3 Optimization approach

Given our adaptive voxel discretization, since the fill values are bi-nary, the resulting minimization problem would be combinatorial.In order to take advantage of continuous optimization techniques,we propose a relaxation approach that allows �

k

to take on a con-tinuous value in the interval [0, 1].

The goal of the optimization eventually is to assign binary fill valuesto each voxel. In practice, we observed that fill variables �

k

witha fractional value only occur on the boundary between voids andsolid regions. Hence, we sample these regions at a high resolution,

we check whether all fill valuescells ⌦

k

optimization.

Our functionalsTo prevent an under-determined minimization problem, we use auniform symmetric Laplacianneighboring cells. This results in the following optimization:

where � is a vector containing allftop(�) or fyo-yo

5.4 Implementation details

Cells overlapping the boundary need special handling. We rep-resent the content of such cells with a tree itself, rooted atthe cell’s level, refined to highest resolution in close proxim-ity to the boundary of

boundaryshell

interior

initialization

iterations

merge

split

� � � �

� � � � � �

boundary

Figure 3: Hollowing: (Left) Our input encloses a volume ⌦. By introducing voids ⌦0, we can compensate for an unfavorable mass distribu-tion. (Right) To reduce the number of variables and overall time complexity for our voids optimization, we summarize contributions of octreeleaf cells in a partition of larger cells shown here for a boundary and an interior cell.

Spin-It: Optimizing Moment of Inertia for Spinnable Objects • 96:5

s: objective function β: [0,1]

Page 46: SIGGRAPH 2014論文紹介 - Sound & Light + Fabrication Session

All our models were printed on an Objet Connex350 with an ABS-like plastic (green surface finish) and Objet’s“Vero White” material (white finish). The printer has a resolutionof 600 and 1600 DPI on the two horizontal and vertical axes, re-spectively. The Connex 350 – like most other 3D printers – buildsmodels layer-by-layer in a bottom-up manner, requiring a support-ing structure for fabricating overhanging parts. Because we cannotremove any support from the interior without introducing holes inthe models’ shells, we cut them prior to printing and glue them af-

We validated our approach by designing and fab-ricating a variety of spinning tops, ranging from posed charactersand abstract shapes to household objects. For the models presentedin Figs. 6, 7, 8, and 9, we use an adaptive octree with a maximumrefinement level of nine during the optimization. On a standard

cores, the complete process-ing time for each takes less than a minute. This includes loadingthe input mesh, initializing the octree, performing hollowing opti-mization, and writing the output mesh. The hollowing optimization

In the figures below we illustrate the before-and-after body frameswith black spheres for the center of mass, and red, green, and bluearrows for the maximal, mid-, and minimal principal axes of inertia(see, e.g., Fig. 7): the Ellipsoid in Fig. 6 demonstrates how we can

Finally, two break-dancing Armadillos are shown in Fig. 8, onespinning on his back shell, one on the tip of his finger. Our hollow-ing successfully aligns the maximal principal axis of inertia with theuser-specified one, even if it is far off as for the Armadillo spinningon his shell (compare left and right visualizations). Both Armadil-los “dance” very stably around a, as we demonstrate in our video.

Figure 8: “Break-dancing Armadillos”: Through our hollowingoptimization, the Armadillos can perform spinning dance moves.For each design, the unstable input (left), and the optimized stableoutput (right) are shown. The Armadillo on its shell is particularly

Spin-It: Optimizing Moment of Inertia for Spinnable Objects • 96:7

Figure 9: “Teapot”: (Left) Hollowed result showing voxelized inte-rior mass and aligned axes using ftop = fyo-yo. (Middle) Loweringof the center of mass shifts the mass distribution closer to the con-tact point. If we include mass reduction (right), mass is reducedinward out, resulting in the design with highest rotational stability.

Figure 10: Yo-yo designs: (Left to right) 3D print; input model;optimized output model after hollowing. (Top) “Cuboid”: Our op-timization rotates the original principal axes frame about the mid-magnitude axis. (Bottom) “Woven Ring”: The axis of dominantprincipal moment is precisely aligned to the spin direction.

Figure 11:with principal axes rotated away from spin frame; after hollowing,the dominant primary axis is still not aligned; optimized result af-ter deformation. (Middle: left to right) Initial (red) and deformed(green) models; voxelization after hollowing; voxelization with de-formation optimization. (Bottom) The 3D printed result.

96:8 • M. Bächer et al.

(Left) Hollowed result showing voxelized inte-rior mass and aligned axes using ftop = fyo-yo. (Middle) Loweringof the center of mass shifts the mass distribution closer to the con-tact point. If we include mass reduction (right), mass is reducedinward out, resulting in the design with highest rotational stability.

(Left to right) 3D print; input model;optimized output model after hollowing. (Top) “Cuboid”: Our op-timization rotates the original principal axes frame about the mid-magnitude axis. (Bottom) “Woven Ring”: The axis of dominantprincipal moment is precisely aligned to the spin direction.

Alternatively, we also handle multiple densities. The interior ofthe Sumone model (Fig. 5) consists of tin-solder material with sig-

= 8.1 g/cm3) compared to our printer). While dual material optimization ex-

Figure 11: “Dancing Couple”. (Top: left to right) Initial designwith principal axes rotated away from spin frame; after hollowing,the dominant primary axis is still not aligned; optimized result af-ter deformation. (Middle: left to right) Initial (red) and deformed(green) models; voxelization after hollowing; voxelization with de-formation optimization. (Bottom) The 3D printed result.

'��

中身埋めるだけじゃうまくいかないときは仕方ないのでサーフェースのほうを少し変形させます。 あと単独の材料で最適化がうまくいかない場合は密度の異なる複数の材料で埋めるのもサポートしてます。