FiberMesh: Designing Freeform Surfaces with 3D Curves

Similar documents
FiberMesh: Designing Freeform Surfaces with 3D Curves

Mesh Editing in ROI with Dual Laplacian

Interpolation of the Irregular Curve Network of Ship Hull Form Using Subdivision Surfaces

Modeling, Manipulating, and Visualizing Continuous Volumetric Data: A Novel Spline-based Approach

High-Boost Mesh Filtering for 3-D Shape Enhancement

Fair Triangle Mesh Generation with Discrete Elastica

A Binarization Algorithm specialized on Document Images and Photos

Mathematics 256 a course in differential equations for engineering students

Active Contours/Snakes

An Optimal Algorithm for Prufer Codes *

Hermite Splines in Lie Groups as Products of Geodesics

In the planar case, one possibility to create a high quality. curve that interpolates a given set of points is to use a clothoid spline,

Fitting: Deformable contours April 26 th, 2018

Parallelism for Nested Loops with Non-uniform and Flow Dependences

Smoothing Spline ANOVA for variable screening

Lecture 5: Multilayer Perceptrons

A MOVING MESH APPROACH FOR SIMULATION BUDGET ALLOCATION ON CONTINUOUS DOMAINS

S1 Note. Basis functions.

3D vector computer graphics

Range images. Range image registration. Examples of sampling patterns. Range images and range surfaces

Assignment # 2. Farrukh Jabeen Algorithms 510 Assignment #2 Due Date: June 15, 2009.

SLAM Summer School 2006 Practical 2: SLAM using Monocular Vision

Very simple computational domains can be discretized using boundary-fitted structured meshes (also called grids)

An Application of the Dulmage-Mendelsohn Decomposition to Sparse Null Space Bases of Full Row Rank Matrices

R s s f. m y s. SPH3UW Unit 7.3 Spherical Concave Mirrors Page 1 of 12. Notes


Lobachevsky State University of Nizhni Novgorod. Polyhedron. Quick Start Guide

Compiler Design. Spring Register Allocation. Sample Exercises and Solutions. Prof. Pedro C. Diniz

User Authentication Based On Behavioral Mouse Dynamics Biometrics

Computer Animation and Visualisation. Lecture 4. Rigging / Skinning

Wavefront Reconstructor

Quality Improvement Algorithm for Tetrahedral Mesh Based on Optimal Delaunay Triangulation

Support Vector Machines

Simplification of 3D Meshes

3D Virtual Eyeglass Frames Modeling from Multiple Camera Image Data Based on the GFFD Deformation Method

Improvement of Spatial Resolution Using BlockMatching Based Motion Estimation and Frame. Integration

Polyhedral Surface Smoothing with Simultaneous Mesh Regularization

2D Shape Deformation Based on Rigid Square Matching

The Codesign Challenge

D shape manipulation via topology-aware rigid grid. Introduction. By Wenwu Yang and Jieqing Feng *

Feature Reduction and Selection

Multi-Resolution Geometric Fusion

Topology Design using LS-TaSC Version 2 and LS-DYNA

NAG Fortran Library Chapter Introduction. G10 Smoothing in Statistics

Parameterization of Quadrilateral Meshes

Cluster Analysis of Electrical Behavior

LECTURE : MANIFOLD LEARNING

LS-TaSC Version 2.1. Willem Roux Livermore Software Technology Corporation, Livermore, CA, USA. Abstract

NUMERICAL SOLVING OPTIMAL CONTROL PROBLEMS BY THE METHOD OF VARIATIONS

Subspace clustering. Clustering. Fundamental to all clustering techniques is the choice of distance measure between data points;

Accounting for the Use of Different Length Scale Factors in x, y and z Directions

A Newton-Type Method for Constrained Least-Squares Data-Fitting with Easy-to-Control Rational Curves

A Fast Content-Based Multimedia Retrieval Technique Using Compressed Data

Learning the Kernel Parameters in Kernel Minimum Distance Classifier

A mathematical programming approach to the analysis, design and scheduling of offshore oilfields

The Greedy Method. Outline and Reading. Change Money Problem. Greedy Algorithms. Applications of the Greedy Strategy. The Greedy Method Technique

Wishing you all a Total Quality New Year!

VISUAL SELECTION OF SURFACE FEATURES DURING THEIR GEOMETRIC SIMULATION WITH THE HELP OF COMPUTER TECHNOLOGIES

Multiblock method for database generation in finite element programs

Load Balancing for Hex-Cell Interconnection Network

G 2 Surface Modeling Using Minimal Mean-Curvature-Variation Flow

Module Management Tool in Software Development Organizations

An Iterative Solution Approach to Process Plant Layout using Mixed Integer Optimisation

Feature-Preserving Mesh Denoising via Bilateral Normal Filtering

Outline. Type of Machine Learning. Examples of Application. Unsupervised Learning

Image Representation & Visualization Basic Imaging Algorithms Shape Representation and Analysis. outline

Harmonic Coordinates for Character Articulation PIXAR

As-Rigid-As-Possible Shape Manipulation

S.P.H. : A SOLUTION TO AVOID USING EROSION CRITERION?

Circuit Analysis I (ENGR 2405) Chapter 3 Method of Analysis Nodal(KCL) and Mesh(KVL)

TN348: Openlab Module - Colocalization

A Geometric Approach for Multi-Degree Spline

GSLM Operations Research II Fall 13/14

Meta-heuristics for Multidimensional Knapsack Problems

A Fast Visual Tracking Algorithm Based on Circle Pixels Matching

Type-2 Fuzzy Non-uniform Rational B-spline Model with Type-2 Fuzzy Data

Computer models of motion: Iterative calculations

Vectorization of Image Outlines Using Rational Spline and Genetic Algorithm

Fast Computation of Shortest Path for Visiting Segments in the Plane

Unsupervised Learning

6.854 Advanced Algorithms Petar Maymounkov Problem Set 11 (November 23, 2005) With: Benjamin Rossman, Oren Weimann, and Pouya Kheradpour

Real-time Motion Capture System Using One Video Camera Based on Color and Edge Distribution

High resolution 3D Tau-p transform by matching pursuit Weiping Cao* and Warren S. Ross, Shearwater GeoServices

Adaptive Fairing of Surface Meshes by Geometric Diffusion

Tsinghua University at TAC 2009: Summarizing Multi-documents by Information Distance

An Image Fusion Approach Based on Segmentation Region

Reading. 14. Subdivision curves. Recommended:

2x x l. Module 3: Element Properties Lecture 4: Lagrange and Serendipity Elements

On Some Entertaining Applications of the Concept of Set in Computer Science Course

Content Based Image Retrieval Using 2-D Discrete Wavelet with Texture Feature with Different Classifiers

Preconditioning Parallel Sparse Iterative Solvers for Circuit Simulation

The Theory and Application of an Adaptive Moving Least. Squares for Non-uniform Samples

Review of approximation techniques

Virtual Memory. Background. No. 10. Virtual Memory: concept. Logical Memory Space (review) Demand Paging(1) Virtual Memory

Overview. Basic Setup [9] Motivation and Tasks. Modularization 2008/2/20 IMPROVED COVERAGE CONTROL USING ONLY LOCAL INFORMATION

Structural Optimization Using OPTIMIZER Program

Term Weighting Classification System Using the Chi-square Statistic for the Classification Subtask at NTCIR-6 Patent Retrieval Task

For instance, ; the five basic number-sets are increasingly more n A B & B A A = B (1)

Explicit Formulas and Efficient Algorithm for Moment Computation of Coupled RC Trees with Lumped and Distributed Elements

Scan Conversion & Shading

Transcription:

To appear n the ACM SIGGRAPH conference proceedngs FberMesh: Desgnng Freeform Surfaces wth 3D Curves Andrew Nealen TU Berln Takeo Igarash The Unversty of Tokyo / PRESTO JST Olga Sorkne TU Berln Marc Alexa TU Berln Fgure 1: Modelng results usng FIBERMESH. The user nteractvely defnes the control curves, combnng sketchng and drect manpulaton, and the system contnuously presents far nterpolatve surfaces defned by these curves (blue = smooth curve, red = sharp curve). Abstract Ths paper presents a system for desgnng freeform surfaces wth a collecton of 3D curves. The user frst creates a rough 3D model by usng a sketchng nterface. Unlke prevous sketchng systems, the user-drawn strokes stay on the model surface and serve as handles for controllng the geometry. The user can add, remove, and deform these control curves easly, as f workng wth a 2D lne drawng. The curves can have arbtrary topology; they need not be connected to each other. For a gven set of curves, the system automatcally constructs a smooth surface embeddng by applyng functonal optmzaton. Our system provdes real-tme algorthms for both control curve deformaton and the subsequent surface optmzaton. We show that one can create sophstcated models usng ths system, whch have not yet been seen n prevous sketchng or functonal optmzaton systems. Keywords: Sketch Based Interfaces and Modelng, Dfferental Representatons, Sketchng, Deformatons, Far Surface Desgn 1 Introducton Current tools for free-form desgn, and the resultng desgn process, can be roughly categorzed nto two groups. The group of professonal modelng packages makes use of parametrc patches or subdvson surfaces [Maya 2007; 3ds Max 2007], where the user has to lay out the coarsest level patches n an ntal modelng stage, and then modfy control ponts to generate detals. Because t s dffcult for nexperenced users to generate the control structure for an ntended shape from scratch, a group of research tools [Igarash et al. 1999; Igarash and Hughes 2003; Schmdt et al. 2005; Karpenko and Hughes 2006; Kara and Shmada 2007] as well as n-game character edtors [Maxs 2007; Gngold 2007] are bult around ntutve modelng metaphors such as sketchng, tryng to hde the mathematcal subtletes of surface descrpton from the user. However, some of these tools lack a hgh-level control structure, makng t dffcult to teratvely refne the desgn, or re-use exstng desgns. We try to brdge the gap by usng curves, a unversally accepted modelng metaphor, as an nterface for desgnng a surface. Notce that curves appear n both tools mentoned above: they appear as parameter lnes, or seams where locally parameterzed patches meet; they are sketched to generate or modfy shape, or they are extracted from the current shape and used as handles. Also note that tradtonal desgn s mostly based on drawng characterstc curves. Yet, desgn s a process. We cannot expect a user to draw the control (or characterstc) curves of a shape nto free space. Our frst fundamental dea s to let the user defne control curves by drawng them onto the shape n ts current desgn stage. These curves can be used as handles for deformaton rght after ther defnton, as n other tools, or at any other tme n the desgn process. Of course, the effect of control curves can be modfed (.e. smooth vs. sharp edge), they can be removed from the current desgn, and there are no restrctons on ther placement and topologcal structure. Specfcally, they may be connected to or ntersect other curves, or not; ths s more general than recent developments for parameterzed surfaces [Sederberg et al. 2003; Schaefer et al. 2005]). The second fundamental prncple s that the shape s defned by the control curves at any stage of the desgn process. Whle we found t mportant to serve the process of constructon, and ths s also what defnes the topology of the surface, the result should be ndependent of when a control curve was modfed. We acheve ths by defnng the surface to mnmze certan functons of ts dfferentals [Moreton and Séqun 1992; Welch and Wtkn 1994], whle constranng t by the control curves. It s crucal that both the modfcaton of curves as well as the computaton of surface geometry allow for an nteractve and smoothly respondng system. For ths we buld on the recent advances n dscrete Laplacan [Sorkne et al. 2004; Yu et al. 2004; Botsch and Kobbelt 2004] and other hgher order or non-lnear functonals for surface processng [Huang et al. 2006; Botsch et al. 2006; Wardetzky et al. 2007]. Unquely combnng nterface metaphors (Secton 2) wth geometry processng technques (Secton 3), our contrbutons are A far surface defnton based on curve constrants, and an accompanyng functonal optmzaton algorthm, whch runs at nteractve rates. A detal preservng, real-tme 3D curve edtng and peelng nterface, and a curve deformaton algorthm based on dscrete co-rotatonal methods. The generaton and smooth embeddng of ntal surface components by sketchng a planar control curve on a canvas. An nterface that enables the desgn of 3D models wth 3D control curves. The user s 2D sketchng operatons turn nto 3D curves, and they serve as handles for subsequent edtng. 1

To appear n the ACM SIGGRAPH conference proceedngs Welch and Wtkn [1994] propose an nteractve modelng system where the user can cut up surfaces and paste them together, whle the system contnuously generates a far nterpolatve surface. They demonstrate the capablty of the approach by showng topologcally non-trval shapes such as branchng surfaces and a Klen bottle. Our work extends ths approach, allowng the user to desgn more practcal models such as 3D characters (Fg. 1), by ntroducng a hgh-level user nterface for curve control. Dscrete dfferental surface representatons are an actve research area [Sorkne 2006]. One of the key drvng forces s the use of hghly effcent sparse lnear solvers [Toledo 2003; Davs 2004]. They can effcently solve matrx systems of tens of thousands of entres, whch makes t possble to process nterestng 3D meshes n real-tme. Most efforts have been dedcated to the edtng of exstng 3D models. Our work s an attempt to apply these technques and tools to surface creaton from scratch. 2 User Interface From the user s pont of vew, our system can be seen as an extenson to a freeform modelng system based on slhouette sketchng, such as Teddy [Igarash et al. 1999]. The user nteractvely draws the slhouette of the desred geometry and the system automatcally constructs a (rotund) surface va functonal optmzaton, such that ts slhouette matches the user s sketch. However, unlke prevous systems, the user s orgnal stroke stays on the model surface and serves as a handle for further geometry control. The user can push and pull these curves nteractvely and the surface geometry changes accordngly. In addton, the user can freely add and remove control curves on the surface. These extensons enable the desgn of far more elaborate shapes than those possble wth sketchng alone. Fg. 2 shows an overvew of the process. sketch created curve added rotated pull pull Fgure 3: Sketchng operatons (from top to bottom): creaton, cut, extruson and tunnel. Our current modelng nterface conssts of fve tools (modes): sketchng tool, deformaton tool, rubbng tool, erasng tool, and type change tool. The user swtches between these tools va menu selecton or a keyboard shortcut. 2.1 Sketchng Tool Our system provdes fve knds of sketchng operatons: creaton, cut, extruson, tunnel (Fg. 3), and add-control-curve (Fg. 4). When the user draws a closed stroke on a blank canvas, the system automatcally nflates the closed area and presents an ntal 3D model. The user draws a stroke crossng the model to cut t. Drawng a closed stroke on the object surface followed by a slhouette stroke creates an extruson. If the user draws another closed loop on the opposte sde of the surface, the system generates a tunnel. These operatons are borrowed from the orgnal Teddy system, but the dfference s that the user s orgnal strokes stay on the model surface as control curves. These control curves lterally defne the surface shape (as postonal constrants n the surface optmzaton), and the user can modfy the shape by deformng these control curves. New control curves can be added by drawng an open stroke on the object surface, drawng a closed stroke followed by clckng, and by drawng a cuttng stroke followed by clckng (Fg. 4). The last method s very useful durng the early stages of model creaton, snce t allows the user to quckly generate a convenent handle to adjust the amount of nflaton (or fatness). The control curves are dvded nto two types: smooth curves (blue) and sharp curves (red). A smooth curve constrans the surface to be smooth across t, whle a sharp curve only places postonal constrants wth C 0 contnuty. These types are automatcally assgned to the newly added curves accordng to the sketchng operaton the user appled. The creaton operaton generates a smooth curve that corresponds to the slhouette. A cuttng operaton generates a sharp curve. An extruson generates one sharp curve along the base, and one smooth curve along the slhouette. When the user pants a new curve on the surface, t s ntally defned as a smooth curve. The type of these curves can be freely changed afterwards usng the type change tool. sketch result Fgure 2: An example modelng sequence. In a sense, our modelng process s smlar to tradtonal modelng methods, such as parametrc patches and subdvson surfaces: the user also defnes nets of curves and the system automatcally generates a smooth surface based on these. An advantage of our nterface s that the user does not need to worry about the topology of the curves. Tradtonal methods requre the user to cover the entre surface wth trangle or quad regons. Our method s much more flexble: curves need not be connected to other curves and much fewer curves can represent smple geometry. It s also mportant that, nstead of provdng ndvdual ponts as an nterface, our nterface treats curves as contnuous enttes. We beleve ths can help smooth the skll transfer from 2D drawng to 3D modelng. Varous nteractve modelng methods have been proposed n research contexts, ncludng drect 3D edtng [Perry and Frsken 2001], spatal deformaton operatons [Sngh and Fume 1998; Angelds et al. 2006; von Funck et al. 2006] and surface based deformaton tools [Zorn et al. 1997; Kobbelt et al. 1998; Nealen et al. 2005]. These modelng methods provde reduced degrees-offreedom handles (curves and control meshes) for surface control. The user can focus on the hgh-level control and the system automatcally mantans aesthetc consstency. Our approach s unque n that we use curves also as the defnton of the surface, not only as temporal handles for deformaton. 2.2 Deformaton Tool The deformaton tool lets the user grab a curve at any pont and pull t to the desred locaton. The curve deforms accordngly, preservng local detals as much as possble (see Fg. 5 and Secton 3.1). 2

To appear n the ACM SIGGRAPH conference proceedngs Fgure 6: Rubbng (smoothng) a curve. Fgure 7: Erasng a control curve (left: before erasng, mddle: mmedately after erasng, rght: after surface optmzaton). Fgure 4: Addng control curves: open stroke (top), closed stroke (mddle) and cuttng stroke (bottom). The user needs to clck after drawng a stroke to make t a control curve n case of closed stroke and cuttng stroke. Fgure 8: Changng the curve type (left: before the change, mddle: mmedately after the change, rght: after surface optmzaton). Fgure 5: Pullng a curve. The deformed curve segment s determned by how much of t the user peels off. changng the type of a control curve. Lke the erasng tool, the user drags the cursor along a curve to change the property. If the curve s a sharp curve, t converts t to a smooth curve (or curve segment), and vce versa. As wth the erasng tool, the system updates the surface geometry accordng to the property change and presents the result after the user fnshes the operaton (releases the mouse button, Fg. 8). Edtng operatons are always appled to the control curves, not drectly to the surface. If the user wants more control, new control curves must be added on the surface. Explct addton of control curves exposes the surface structure n a clear way, and the curves serve as a convenent handle for further edtng. We use a peelng nterface for the determnaton of the deformed curve segment (regon of nterest, ROI) [Igarash et al. 2005]. The sze of the curve segment to be deformed s proportonal to the amount of pullng. The more the user pulls, the larger the deformed curve segment becomes. Ths frees the user from manually specfyng the ROI before startng deformaton and enables dynamcal adjustment of the ROI durng deformaton. Ths peelng effect propagates to the other curves connected to the deformed curve, whch allows the user to deform a larger area of the surface. 2.3 3 Rubbng Tool The rubbng tool s used for smoothng a curve. As the user drags the mouse back and forth (rubs) near the target curve, the curve gradually becomes smooth. The more the user rubs, the smoother the curve becomes (Fg. 6). Ths tool s very mportant because the curves resultng from sketchng can contan nose, and localzed deformaton can also ntroduce jaggy parts. It mght be possble to automatcally apply denosng after each user nteracton, but t s not clear to whch extent smoothng should be appled. Our rubbng tool provdes an ntutve and convenent nterface for specfyng the target area to apply smoothng to, as well as the amount of smoothng. Our current mplementaton moves each vertex beng rubbed one by one so that t locally mproves nner and outer farness. 2.4 Algorthm To mplement the descrbed nterface we propose an algorthm whch conssts of two man steps: curve deformaton and surface optmzaton. The addtonal steps, mesh constructon and remeshng (Secton 3.3), only occur at the end of the modelng operatons creaton, extruson, cut, and deformaton. Instead of solvng for both curve postons and far surface smultaneously, we have found that decouplng the curve deformaton from the surface optmzaton step s fast, ntutve, produces aesthetcally pleasng results, and supports our fundamental prncple of defnng shape by control curves. The user frst deforms (pulls) the curve(s) usng the deformaton tool (Secton 3.1), after whch the new curve postons are fed to the surface optmzaton step as postonal constrants (Secton 3.2). Durng curve pullng, these two operatons are performed sequentally to acheve nteractve updates of both the curves and the surface they defne. 3.1 Curve Deformaton The user nterface for curve deformaton s a usual drect manpulaton method: the user grabs and drags a pont on a curve, and the curve deforms smoothly wthn the peeled ROI. The current mplementaton always moves the grabbed pont parallel to the screen. The algorthm we use s a varant of detal-preservng deformaton methods usng dfferental coordnates [Sorkne 2006], combned wth co-rotatonal methods [Felppa 2007]. Geometry s represented usng dfferental coordnates, and the fnal result s obtaned by solvng a sequence of lnear least-squares problems, whch satsfy the postonal constrants gven by the user. The man challenge n ths framework s the computaton of approprate rotatons for the dfferental coordnates. One approach s to explctly Erasng Tool and Type Change Tool The erasng tool works as a standard curve segment eraser: the user drags the cursor along a control curve to erase t. Ths s equvalent to removng constrants that defne the surface. The system optmzes the surface when the user fnshes an erasng operaton (releases the mouse button, Fg. 7). The type change tool s for 3

To appear n the ACM SIGGRAPH conference proceedngs compute rotatons beforehand, typcally by smoothly nterpolatng the prescrbed orentaton constrants defned by the user [Yu et al. 2004; Lpman et al. 2005; Zhou et al. 2005; Zayer et al. 2005]. These methods are not applcable n our settng because the user should only need to drag a vertex wthout specfyng rotatons. Another approach s to mplctly compute rotatons as a lnear combnaton of target vertex postons [Sorkne et al. 2004; Fu et al. 2007]. Our technque s smlar to these methods, but we explctly represent rotaton matrces as separate free varables. Ths s due to the fact that neghborng vertces along a curve are nearly collnear and napproprate for dervng rotatons from them. Conceptually, what we want to solve s the followng error mnmzaton problem arg mn v,r Fgure 9: Rotated local coordnate frames (red) after curve deformaton by pullng a sngle vertex. One remanng ssue s the choce of dfferental coordnates L. We have tested two optons: frst order dfferentals (L0 ) and second order dfferentals (L1 ) L0 = v v 1, kl(v ) R δ k2 + kv v0 k2 + C1 kr Rj k2f +,j E kr R0 k2f, v,r (1) L1 seems to be the popular choce for surface deformaton. However n our case, we found that L1 s not approprate for the estmaton of rotatons because t almost always degenerates (.e. s close to zero) n a smooth curve. On the other hand, L0 always has certan length n an approprately sampled curve and serves as a relable gude for estmatng rotatons. One problem wth L0 based geometry computaton s that t causes C 1 dscontnutes on the boundares of the ROI. Therefore, we frst use L0 for the teratve process of rotaton estmaton, and then swtch to L1 for computng the fnal vertex postons usng the estmated rotatons. Ths combnaton s a bt complcated, but gves the best results n our experments. C2 kl(v ) r R δ k2 +,j E Orgnal PrMo Our algorthm PrMo Our algorthm Fgure 10: Comparson of our curve deformaton to a physcally based approach nspred by PrMo. Physcally nspred methods, such as PrMo [Botsch et al. 2006], have become very popular n the context of surface modelng. For comparson and expermentaton purposes we have mplemented a varant of PrMo talored to 3D curves,.e. each curve segment defnes a (3D) prsm. Whle PrMo s an excellent choce for the smulaton of physcally plausble deformaton, we found t to be unsutable for our curve edtng tool. When the curve s compressed t shows undesrable bucklng, whle when stretched t loses local detal. Both phenomena result from length preservaton, nherent to all physcally nspred curve deformaton algorthms. In contrast, our unform dscretzaton of the Laplacan (L1 ) tolerates some scalng (see Fg 10). kv v0 k2 + C1 kr R rj Rj k2f + 1 vj. N j N where L( ) s the dfferental operator, v represents the vertex coordnates, R represents rotatons assocated wth these vertces n the deformed curve, k kf s the Frobenus norm, E s the set of curve edges, C1 and C2 are the sets of constraned vertces, and prmed values are gven constrants. The frst term mnmzes the dfference between the resultng dfferental coordnates and the rotated orgnal dfferental coordnates δ. The second term represents postonal constrants (we use three constrans: two at the boundary of the ROI and one at the handle). The thrd term ensures that the rotatons are smoothly varyng along the curve [Allen et al. 2003; Sumner and Popovc 2004; Fu et al. 2007], and the last term represents rotatonal constrants (we use two constrants at the boundary of the ROI). These four terms also need to be approprately weghted to obtan vsually pleasng results. We have omtted these weghts n the above equaton for smplcty. A problem wth ths approach s that R s not lnear. Unconstraned transformaton ncludes shearng, stretchng, and scalng, whch s undesrable for our applcaton. Smlar to [Sorkne et al. 2004], we therefore use a lnearzed rotaton matrx to represent small rotatons. In order to accommodate large rotatons, we teratvely compute the gross rotaton by concatenatng small delta rotatons obtaned by solvng a lnear system at each step. In summary, what we solve n each step s the followng mnmzaton problem arg mn L1 = v (2) kr R R0 k2f, C2 where R s the gross rotaton obtaned from the prevous teraton step and fxed n each mnmzaton step. r s a lnearzed ncremental rotaton represented as a skew symmetrc matrx wth three unknowns 1 rz ry 1 rx. r = rz ry rx 1 3.2 Surface Optmzaton It s mportant to provde real-tme vsual feedback to the user durng control curve deformaton. Ths constrant necesstates the use of a fast surface optmzaton algorthm. An ntutve choce appears to be dscrete surfaces defned as the soluton of sparse lnear systems [Sorkne 2006; Botsch and Sorkne 2007]. If we kept the system matrx constant durng nteracton, updatng the postons would only requre back-substtuton, whch s very fast. Unfortunately, n our settng we have encountered a shortcomng nherent to these algorthms, whch s due to the absence of normal constrants along the curves. Specfcally, f the postonal constrants As a whole, ths mnmzaton problem amounts to the soluton of a sparse lnear system and t returns optmal vertex postons and delta rotatons r. We update target gross rotatons as R r R, and also orthonormalze them usng polar decomposton [Fu et al. 2007]. Fgure 9 shows the resultng gross rotatons obtaned usng ths algorthm. 4

To appear n the ACM SIGGRAPH conference proceedngs Fgure 11: The results of least-squares meshes (left) and our nonlnear soluton (rght) for a planar curve. le n a subspace, the soluton wll also be constraned to le n ths subspace. In our tool, the ntally sketched curve s planar, so the resultng mesh geometry s also planar, see Fg. 11. We prove ths property for the constructons of [Botsch and Kobbelt 2004] and [Sorkne and Cohen-Or 2004] n [Nealen and Sorkne 2007]. Even n the presence of non-planar postonal constrants, surfaces from [Sorkne and Cohen-Or 2004] or the lnearzed thn plate surfaces of [Botsch and Kobbelt 2004] seem to concentrate curvature near the curves, see Fg. 12 (left column). The problem could be solved by askng the user to specfy normal constrants for the curves. In most mesh edtng tools, normal constrants are mplemented by fxng n-rngs of adjacent vertces. We have not consdered ths as an opton, snce t s our strct desgn goal to keep the nterface smple. Instead, we have chosen to mplement a soluton, whch generates a far surface that nterpolates the control curves by means of nonlnear functonal optmzaton. There are a varety of possble objectve functons to choose from. Welch and Wtkn [1994] mnmze the ntegral of squared prncple curvatures E p = (κ 2 1 + κ 2 2) da, (3) S also known as thn-plate energy, whle Bobenko and Schröder [2005] mnmze the closely related Wllmore energy E w = (κ 1 κ 2) 2 da, (4) S mplemented as a flow. They use ths flow for smoothng and hole fllng. Moreton and Séqun [1992] mnmze varaton of curvature ( ) 2 ( ) 2 dκn dκn E c = + da, (5) dê 1 dê 2 S whch s the ntegral of (squared) partal dervatves of normal curvature κ n w.r.t. the drectons ê 1, ê 2 of prncpal curvatures. Each objectve functon has ts own strengths and weaknesses, whch also heavly depend on how t s mplemented. Based on these prevous results and our own experences, we chose to compute a surface, whch results from a sequence of optmzaton problems. Ths s nspred by a surface constructon method presented by Schneder and Kobbelt [2001]. The PDE governng farness n ther work s defned as BH = 0, where B s the dscrete Laplace-Beltram operator, and H = (κ 1 + κ 2)/2 s the mean curvature. Ther basc dea s to factorze ths fourth order problem nto two second order problems and solve them sequentally. Frst they compute target mean curvatures (scalars) that smoothly nterpolate the curvatures specfed at the boundary, and then move the vertces, one vertex at a tme, to satsfy the target curvatures. However, the second stage of ther technque s not fast enough to provde nteractve updates of the geometry when the user pulls the curve. In addton, we are lackng curvature nformaton at the boundares. Our dea for a faster computaton, s to cast both second order problems as sparse lnear systems that use a constant system matrx. Ths allows factorng the matrces once and then performng only back-substtuton durng the teratons. In partcular, n the frst second-order system we replace the geometry dependent Laplace-Beltram operator by the unformly Fgure 12: Least squares mesh (= lnearzed thn plate surface 2 x = 0, left) and the results of our nonlnear soluton (rght). dscretzed Laplace operator and solve the followng least-squares mnmzaton problem { arg mn L(c ) 2 + } c c 2, (6) c where L( ) denotes the dscrete graph Laplacan, to obtan a set of smoothly varyng Laplacan magntudes (LMs) {c }, whch approxmate scalar mean curvature values. The frst term requres that the neghborng LMs vary smoothly and the second term requres the LMs at all vertces to be near the current LM c. In the frst teraton we set target LMs only for the constraned curves usng the scalar mean curvatures along these curves. Unlke [Schneder and Kobbelt 2001], where the curvature s fxed at the boundary, these ntal target LMs are lkely to change n subsequent teratons. To obtan a geometry that satsfes these target LMs we use the unformly dscretzed Laplacan as an estmator of the ntegrated mean curvature normal [Wardetzky et al. 2007]. The ntegrated target Laplacan δ = A c n per vertex s gven as the product of an area estmate A for vertex, the target LM c and an estmate of the normal n from the current face normals. Then new postons could then be computed by solvng the followng global least-squares system { arg mn v L(v ) δ 2 + C v v 2 }, (7) where the frst term requres that the vertex Laplacans are close to the ntegrated target Laplacans, and the second term places postonal constrants on all vertces n the control curve set C. However, our assumpton that the unformly dscretzed Laplacan s a reasonable estmate for the ntegrated mean curvature normal does not hold when the edges around a vertex are not of equal length. Rather than usng a geometry dependent dscretzaton, whch would requre recomputaton of the system matrx n each teraton, we try to acheve equal edge lengths by prescrbng target edge vectors. For ths, we frst compute desred scalar edge lengths, smlar to the computaton of desred target LMs, by solvng { arg mn e L(e ) 2 + e e 2 }, (8) for a smooth set {e } of target average edge lengths, from the current set of the average lengths e of edges ncdent on vertex. 5

To appear n the ACM SIGGRAPH conference proceedngs Agan, we start the teratons by usng only the edge lengths along the gven boundary curve. Note that the matrx for ths lnear system s dentcal to the system for computng target LMs, so that we can re-use the factored matrx. From these target average edge lengths, we derve target edge vectors for a subset B of the edges n the mesh η j = (e + e j)/2 (v v j)/ v v j. (9) Usng ths set of target edge vectors, we modfy the lnear system n Eqn. 7 to derve the updated vertex postons as follows: { arg mn L(v ) δ 2 + v v 2 + v C (10) v v j η j }. 2 (,j) B We have found that t s suffcent to only constran edges ncdent to the constraned curves, because settng the unformly dscretzed Laplacan equal to vectors n normal drecton automatcally mproves nner farness at all free vertces [Nealen et al. 2006]. The two-step process, consstng of solvng for target LMs and edge lengths and then updatng the postons, s repeated untl convergence. In practce, we observed that the computaton converges rather quckly, n approxmately 5 to 10 teratons. The system needs to repeatedly solve a few sparse lnear systems, but the expensve matrx factorzatons are requred only once at the begnnng (because left-hand sde matrces reman unchanged durng teraton). The system only needs to run backsubsttutons durng the teratons, whch s very fast. See the fgure on the rght for an overvew of one teraton. Current LMs (scalar) Target LMs (scalar) Target Laplacan vectors Current geometry Dffuson (smoothng) Scale current Laplacan and edge vectors Solve least squares Resultng geometry Current edge lengths (scalar) Target edge lengths (scalar) Target edge vectors Postonal constrants Whle the algorthm descrbed above s stable and robust, t s not entrely ndependent of tessellaton, snce we use the unformly weghted graph Laplacan as an approxmaton of the ntegrated mean curvature normal to avod matrx factorzaton n every teraton. To overcome ths, we could compute a mnmal energy surface as Schneder and Kobbelt [2001] propose. As an experment wth a non-lnear soluton that s ndependent of surface tessellaton, we have mplemented the nexact Newton method for Wllmore flow descrbed n [Wardetzky et al. 2007]. We have found that our algorthm tends to generate very smlar results f the dscretzaton s near-regular and that, as expected, there are stuatons where unequal edge lengths along the fxed boundares would beneft from the dscretzaton-ndependent soluton. However, not only are these technques sgnfcantly slower to an extent that makes them unsutable for most nteractve edtng stuatons, we have also encountered that the soluton can become unstable when usng nsuffcent boundary constrants,.e. curves wthout normals (ths s expected and mentoned n [Wardetzky et al. 2007]). 3.3 Meshng and re-meshng mplementatons The system generates a new mesh after the creaton, cut, and extruson operatons. In the case of cut, the system flattens the ntersecton (t s always developable) and generates a 2D mesh nsde Fgure 13: Intal mesh generaton. The sketch curve (left) s resampled, smoothed (2nd from left) and ntersected wth a regular trangular grd (3rd from left), resultng n the mesh topology used for surface optmzaton (rght). of t. In the cases of creaton and extruson, the system generates a 2D mesh on the mage plane wthn the regon surrounded by the nput stroke. The system frst resamples the nput stroke and then smoothes t by movng each vertex to the md pont of adjacent vertces. It s possble to skp ths process, but the resultng mesh s ncer for our purpose because t ends up generatng more trangles n hgh curvature areas. The resampled stroke s ntersected wth a regular trangular grd mesh, and each pont of the resampled stroke s connected to the nearest grd vertex. Both front and back sdes are created from the same 2D mesh and sttched together at the common boundary (Fg. 13). Note that ths merely defnes the mesh connectvty, not the actual geometry, whch s computed subsequently as descrbed n the prevous secton. As the geometry s changed by the user, t may become necessary to remesh the surface. One possble approach s to nterleave mesh topology updates and vertex poston updates as n [Welch and Wtkn 1994]. Unfortunately, our surface optmzaton algorthm heavly reles on pre-factorzaton of the Laplacan matrx, whch s defned by mesh topology. If the mesh topology changes durng optmzaton, the factorzaton must be computed agan, whch s a sgnfcant overhead. Therefore, we apply remeshng only when a large change occurs, and use a constant topology mesh durng (contnuous) deformaton and surface optmzaton to provde real-tme feedback. Specfcally, we apply remeshng after each sketch-based modelng operaton, and when the user releases the mouse button after a deformaton (pullng) operaton. We use a modfed verson of explct remeshng [Surazhsky and Gotsman 2003] n our system. 4 Results Fg. 14 shows shapes whch are dffcult to model wth mplct representatons [Turk and O Bren 2002; Karpenko et al. 2002; Schmdt et al. 2005]. CSG operatons allow the user to represent closed sharp curves along a boundary [Schmdt et al. 2005], but t s problematc to specfy an open sharp curve startng n the mddle of a smooth surface. It s also dffcult to represent pont sharp (e.g., the tp of a cone) usng the standard mplct representaton. Both can be modeled wth our system (Fg. 14). Markosan et al. [1999] show that t s possble to nclude some creases on the surface by tracng the mplct surface wth an explct mesh, but the basc geometry s defned by a user-defned polygonal skeleton, not by surface curves. Fgure 14: Open sharp curve (left) and pont-sharp curve (rght). 6

To appear n the ACM SIGGRAPH conference proceedngs Fgure 15: Some results obtaned usng FIBERMESH. Fgure 16: Some fshy results obtaned wth the FIBERMESH tool. Fgs. 15 and 16 show some more complex results obtaned wth our modelng tool. Whle the models shown n Fg. 1 each took a traned user approxmately 5-10 mnutes to create, those depcted n Fgs. 15 and 16 took between 10 mnutes (arm) and 1 hour (torso). See the accompanyng vdeo for more detals on the constructon process. We have conducted an nformal user study to test FIBERMESH. We traned frst-tme novce users for approxmately 10-15 mnutes, and then let them create some models (Fg. 17). We also asked a professonal 2D anmaton artst to evaluate our system (Fg. 18). To quote the artst: One great thng about ths system s that one can start doodlng wthout havng a specfc goal n mnd, as f doodlng on paper. One can just create somethng by drawng a stroke, and then gradually deform t guded by serendpty, whch s very mportant for creatve work. Tradtonal modelng systems (parametrc patches and subdvson surfaces) requre a specfc goal and careful plannng before startng to work on the model, whch can hnder the creatve process. Furthermore, we have learned that (a) FIBERMESH ndeed supports the skll transfer from tradtonal 2D sketchng to 3D modelng, (b) whle the system does requre some practce, the amount s reasonable and acceptable and (c) creatng separate models frst and then mergng, as well as anmaton tools would be very useful. Our current mplementaton s wrtten n Java runnng on the Wndows platform. Mesh processng routnes are wrtten n Java, but sparse matrx solvers are wrtten n natve code (lnked va JNI). We are testng the system on an Intel Pentum M 1GHz machne, where t runs n nteractve rates. Factorzaton takes less than a second, and nteractve curve deformaton (ncludng surface optmzaton) works n 10-15 fps n most of our examples (600-2000 vertces). We currently process the entre mesh as a sngle system throughout the deformaton, whch causes some slowdown when the model becomes complcated. Note though, that t s straghtforward to handle larger meshes by edtng only a subset of the mesh, whle fxng the rest. 5 Future Work Our current mplementaton uses a curve only as a seres of postonal constrants. However, we can expect that curves have more nformaton. For example, when an artst defnes a shape wth curves, t s often the case that these curves ndcate the prncpal curvature drecton of the surface. It s also natural to expect that the character lnes form curvature extrema. It mght be possble to obtan better (more ntutve and aesthetcally pleasng) surfaces by takng these ssues nto account durng optmzaton. One nterest- Fgure 17: Results obtaned from frst-tme novce users. Model creaton took 10, 10 and 20 mnutes, respectvely. ng drecton to explore would be to create a quad mesh that follows the drecton of the curves. Quad meshes naturally represent prncpal curvature drectons and would make t possble to handle mnmum and maxmum prncpal curvatures separately. Quad meshes are also desrable when the user wants to export the resultng model from our system and contnue edtng t n a standard modelng package. Mult-resoluton (herarchcal) structure would be necessary to construct more complcated models than those shown n ths paper. Our current mplementaton can successfully handle ndvdual body parts such as torso, fnger, and face, but the constructon of an entre body consstng of these parts would requre some mechansm to handle the part herarchy. One nterestng approach would be to allow the user to add a detaled mesh on top of a base mesh as n mult-resoluton approaches. Tradtonal multresoluton meshes requre fxed mesh topology, but our optmzaton framework mght be able to ntroduce a topologcally more flexble structure. In a smlar ven, we exclusvely focused on surface-based control (curves on the surface) n ths work. However, n practcal modelng purposes, a skeleton based approach mght be better n some cases, such as a modelng of smple tube-lke arms and legs. Welch and Wtkn [1994] actually combned surface-based control and skeleton based control. It mght be nterestng to explore further nto ths drecton, especally n the context of character anmaton. 6 Acknowledgements Ths work was supported n part by grants from the Japan Socety for the Promoton of Scence, the Alexander von Humboldt Foundaton and the German Academc Exchange Servce (DAAD). We would lke to thank Alexander Bobenko, Klaus Hldebrandt, Lef Kobbelt, Bors Sprngborn and Max Wardetzky for helpful dscussons, Kensh Takayama, Yuk Mor and UrumaDelv for model creaton, and the anonymous revewers for ther valuable comments and suggestons. 7

To appear n the ACM SIGGRAPH conference proceedngs Fgure 18: Creatons from a professonal 2D anmaton artst. Modelng took 10, 20 and 20 mnutes, respectvely. References 3DS MA, 2007. Autodesk, http://www.autodesk.com/3dsmax. ALLEN, B., CURLESS, B., AND POPOVIĆ, Z. 2003. The space of human body shapes: reconstructon and parameterzaton from range scans. ACM Trans. Graph. 22, 3, 587 594. ANGELIDIS, A., CANI, M.-P., WYVILL, G., AND KING, S. 2006. Swrlngsweepers: constant volume modelng. Grap. Models 68, 4, 324 332. BOBENKO, A. I., AND SCHROEDER, P. 2005. Dscrete Wllmore flow. In Eurographcs Symposum on Geometry Processng, 101 110. BOTSCH, M., AND KOBBELT, L. 2004. An ntutve framework for real-tme freeform modelng. ACM Trans. Graph. 23, 3, 630 634. BOTSCH, M., AND SORKINE, O. 2007. On lnear varatonal surface deformaton methods. IEEE Transactons on Vsualzaton and Computer Graphcs. To appear. BOTSCH, M., PAULY, M., AND GROSS, M. 2006. PrMo: coupled prsms for ntutve surface modelng. In Eurographcs Symposum on Geometry Processng, 11 20. DAVIS, T. A. 2004. UMFPACK V4.3 an unsymmetrc-pattern multfrontal method. ACM Trans. Math. Softw. 30, 2, 196 199. FELIPPA, C., 2007. Nonlnear fnte element methods. www.colorado.edu/ engneerng/cas/courses.d/nfem.d/. FU, H., AU, O. K.-C., AND TAI, C.-L. 2007. Effectve dervaton of smlarty transformatons for mplct Laplacan mesh edtng. Computer Graphcs Forum 21, 1, 34 45. GINGOLD, C., 2007. SPORE s magc crayons. Game Developers Conference. HUANG, J., SHI,., LIU,., ZHOU, K., WEI, L.-Y., TENG, S.-H., BAO, H., GUO, B., AND SHUM, H.-Y. 2006. Subspace gradent doman mesh deformaton. ACM Trans. Graph. 25, 3, 1126 1134. IGARASHI, T., AND HUGHES, J. F. 2003. Smooth meshes for sketch-based freeform modelng. In ACM Symposum on Interactve 3D Graphcs, 139 142. IGARASHI, T., MATSUOKA, S., AND TANAKA, H. 1999. Teddy: A sketchng nterface for 3D freeform desgn. In ACM SIGGRAPH, 409 416. IGARASHI, T., MOSCOVICH, T., AND HUGHES, J. F. 2005. As-rgd-as-possble shape manpulaton. ACM Trans. Graph. 24, 3, 1134 1141. KARA, L. B., AND SHIMADA, K. 2007. Sketch-based 3D shape creaton for ndustral stylng desgn. IEEE Computer Graphcs and Applcatons 27, 1, 60 71. KARPENKO, O. A., AND HUGHES, J. F. 2006. SmoothSketch: 3D free-form shapes from complex sketches. ACM Trans. Graph. 25, 3, 589 598. KARPENKO, O., HUGHES, J. F., AND RASKAR, R. 2002. Free-form sketchng wth varatonal mplct surfaces. Computer Graphcs Forum 21, 3, 585 594. KOBBELT, L., CAMPAGNA, S., VORSATZ, J., AND SEIDEL, H.-P. 1998. Interactve mult-resoluton modelng on arbtrary meshes. In ACM SIGGRAPH, 105 114. LIPMAN, Y., SORKINE, O., LEVIN, D., AND COHEN-OR, D. 2005. Lnear rotatonnvarant coordnates for meshes. ACM Trans. Graph. 24, 3, 479 487. MARKOSIAN, L., COHEN, J. M., CRULLI, T., AND HUGHES, J. 1999. Skn: a constructve approach to modelng free-form shapes. In ACM SIGGRAPH, 393 400. MAIS, 2007. SPORE TM. Electronc Arts, http://www.spore.com. MAYA, 2007. Autodesk, http://www.autodesk.com/maya. MORETON, H. P., AND SÉQUIN, C. H. 1992. Functonal optmzaton for far surface desgn. In ACM SIGGRAPH, 167 176. NEALEN, A., AND SORKINE, O., 2007. A note on boundary constrants for lnear varatonal surface desgn. Techncal Report, TU Berln. NEALEN, A., SORKINE, O., ALEA, M., AND COHEN-OR, D. 2005. A sketch-based nterface for detal-preservng mesh edtng. ACM Trans. Graph. 24, 3, 1142 1147. NEALEN, A., IGARASHI, T., SORKINE, O., AND ALEA, M. 2006. Laplacan mesh optmzaton. In ACM GRAPHITE, 381 389. PERRY, R. N., AND FRISKEN, S. F. 2001. Kzamu: a system for sculptng dgtal characters. In ACM SIGGRAPH, 47 56. SCHAEFER, S., WARREN, J., AND ZORIN, D. 2005. Loftng curve networks wth subdvson surfaces. In Symposum on Geometry Processng, 105 116. SCHMIDT, R., WYVILL, B., SOUSA, M., AND JORGE, J. 2005. ShapeShop: Sketchbased sold modelng wth blobtrees. In Eurographcs Workshop on Sketch-Based Interfaces and Modelng, 53 62. SCHNEIDER, R., AND KOBBELT, L. 2001. Geometrc farng of rregular meshes for free-form surface desgn. Computer Aded Geometrc Desgn 18, 4, 359 379. SEDERBERG, T. W., ZHENG, J., BAKENOV, A., AND NASRI, A. 2003. T-Splnes and T-NURCCs. ACM Trans. Graph. 22, 3, 477 484. SINGH, K., AND FIUME, E. L. 1998. Wres: A geometrc deformaton technque. In ACM SIGGRAPH, 405 414. SORKINE, O., AND COHEN-OR, D. 2004. Least-squares meshes. In Shape Modelng Internatonal, 191 199. SORKINE, O., LIPMAN, Y., COHEN-OR, D., ALEA, M., RÖSSL, C., AND SEIDEL, H.-P. 2004. Laplacan surface edtng. In Eurographcs Symposum on Geometry Processng, 179 188. SORKINE, O. 2006. Dfferental representatons for mesh processng. Computer Graphcs Forum 25, 4, 789 807. SUMNER, R., AND POPOVIĆ, J. 2004. Deformaton transfer for trangle meshes. ACM Trans. Graph. 23, 3, 399 405. SURAZHSKY, V., AND GOTSMAN, C. 2003. Explct surface remeshng. In Eurographcs Symposum on Geometry Processng, 20 30. TOLEDO, S. 2003. TAUCS: A Lbrary of Sparse Lnear Solvers. Tel Avv Unversty. TURK, G., AND O BRIEN, J. F. 2002. Modellng wth mplct surfaces that nterpolate. ACM Trans. Graph. 21, 4, 855 873. VON FUNCK, W., THEISEL, H., AND SEIDEL, H.-P. 2006. Vector feld based shape deformatons. ACM Trans. Graph. 25, 3, 1118 1125. WARDETZKY, M., BERGOU, M., HARMON, D., ZORIN, D., AND GRINSPUN, E. 2007. Dscrete quadratc curvature energes. CAGD (to appear). WELCH, W., AND WITKIN, A. 1994. Free-form shape desgn usng trangulated surfaces. In ACM SIGGRAPH, 247 256. YU, Y., ZHOU, K., U, D., SHI,., BAO, H., GUO, B., AND SHUM, H.-Y. 2004. Mesh edtng wth Posson-based gradent feld manpulaton. ACM Trans. Graph. 23, 3, 644 651. ZAYER, R., RÖSSL, C., KARNI, Z., AND SEIDEL, H.-P. 2005. Harmonc gudance for surface deformaton. Computer Graphcs Forum 24, 3, 601 609. ZHOU, K., HUANG, J., SNYDER, J., LIU,., BAO, H., GUO, B., AND SHUM, H.-Y. 2005. Large mesh deformaton usng the volumetrc graph Laplacan. ACM Trans. Graph, 24, 3, 496 503. ZORIN, D., SCHRÖDER, P., AND SWELDENS, W. 1997. Interactve multresoluton mesh edtng. In ACM SIGGRAPH, 259 268. 8