Computer Aided Geometric Design. Volumetric parameterization and trivariate B-spline fitting using harmonic functions

Similar documents
Volumetric Parameterization and Trivariate B-spline Fitting using Harmonic Functions

Hermite Splines in Lie Groups as Products of Geodesics

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

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

S1 Note. Basis functions.


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

Parameterization of Quadrilateral Meshes

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

Parallelism for Nested Loops with Non-uniform and Flow Dependences

Simplification of 3D Meshes

Harmonic Coordinates for Character Articulation PIXAR

Computer Animation and Visualisation. Lecture 4. Rigging / Skinning

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

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

Mathematics 256 a course in differential equations for engineering students

An Optimal Algorithm for Prufer Codes *

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

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

Lecture 5: Multilayer Perceptrons

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

Active Contours/Snakes

Quality Improvement Algorithm for Tetrahedral Mesh Based on Optimal Delaunay Triangulation

Analysis of Continuous Beams in General

Reading. 14. Subdivision curves. Recommended:

Mesh Editing in ROI with Dual Laplacian

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

Electrical analysis of light-weight, triangular weave reflector antennas

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

Module Management Tool in Software Development Organizations

UNIT 2 : INEQUALITIES AND CONVEX SETS

Support Vector Machines

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

Barycentric Coordinates. From: Mean Value Coordinates for Closed Triangular Meshes by Ju et al.

Multiblock method for database generation in finite element programs

Fitting: Deformable contours April 26 th, 2018

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

SLAM Summer School 2006 Practical 2: SLAM using Monocular Vision

A Binarization Algorithm specialized on Document Images and Photos

Scan Conversion & Shading

An Image Fusion Approach Based on Segmentation Region

Problem Set 3 Solutions

Scan Conversion & Shading

High-Boost Mesh Filtering for 3-D Shape Enhancement

3D vector computer graphics

Feature Reduction and Selection

A MOVING MESH APPROACH FOR SIMULATION BUDGET ALLOCATION ON CONTINUOUS DOMAINS

y and the total sum of

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

Programming in Fortran 90 : 2017/2018

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

CS 534: Computer Vision Model Fitting

Learning the Kernel Parameters in Kernel Minimum Distance Classifier

Radial Basis Functions

TN348: Openlab Module - Colocalization

Cluster Analysis of Electrical Behavior

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

An Accurate Evaluation of Integrals in Convex and Non convex Polygonal Domain by Twelve Node Quadrilateral Finite Element Method

NAG Fortran Library Chapter Introduction. G10 Smoothing in Statistics

Fast Computation of Shortest Path for Visiting Segments in the Plane

12/2/2009. Announcements. Parametric / Non-parametric. Case-Based Reasoning. Nearest-Neighbor on Images. Nearest-Neighbor Classification

GSLM Operations Research II Fall 13/14

The Codesign Challenge

Some Tutorial about the Project. Computer Graphics

FEATURE EXTRACTION. Dr. K.Vijayarekha. Associate Dean School of Electrical and Electronics Engineering SASTRA University, Thanjavur

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

The Shortest Path of Touring Lines given in the Plane

Solving two-person zero-sum game by Matlab

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

A Fast Visual Tracking Algorithm Based on Circle Pixels Matching

5 The Primal-Dual Method

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

Recognizing Faces. Outline

Module 6: FEM for Plates and Shells Lecture 6: Finite Element Analysis of Shell

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

Dynamic wetting property investigation of AFM tips in micro/nanoscale

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

A Geometric Approach for Multi-Degree Spline

Analysis of 3D Cracks in an Arbitrary Geometry with Weld Residual Stress

Face Recognition University at Buffalo CSE666 Lecture Slides Resources:

Applications of DEC:

AMath 483/583 Lecture 21 May 13, Notes: Notes: Jacobi iteration. Notes: Jacobi with OpenMP coarse grain

USING GRAPHING SKILLS

Consistent Spherical Parameterization

Parallel Numerics. 1 Preconditioning & Iterative Solvers (From 2016)

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

Wavefront Reconstructor

Accelerating X-Ray data collection using Pyramid Beam ray casting geometries

2D Raster Graphics. Integer grid Sequential (left-right, top-down) scan. Computer Graphics

Steps for Computing the Dissimilarity, Entropy, Herfindahl-Hirschman and. Accessibility (Gravity with Competition) Indices

Collision Detection. Overview. Efficient Collision Detection. Collision Detection with Rays: Example. C = nm + (n choose 2)

LECTURE : MANIFOLD LEARNING

Related-Mode Attacks on CTR Encryption Mode

Load Balancing for Hex-Cell Interconnection Network

Parallel matrix-vector multiplication

Smoothing Spline ANOVA for variable screening

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

MULTISPECTRAL IMAGES CLASSIFICATION BASED ON KLT AND ATR AUTOMATIC TARGET RECOGNITION

Helsinki University Of Technology, Systems Analysis Laboratory Mat Independent research projects in applied mathematics (3 cr)

Data Representation in Digital Design, a Single Conversion Equation and a Formal Languages Approach

Transcription:

Computer Aded Geometrc Desgn 26 2009) 648 664 Contents lsts avalable at ScenceDrect Computer Aded Geometrc Desgn www.elsever.com/locate/cagd Volumetrc parameterzaton and trvarate B-splne fttng usng harmonc functons T. Martn a,, E. Cohen a, R.M. Krby a,b a School of Computng, Unversty of Utah, Salt Lake Cty, UT, USA b Scentfc Computng and Imagng Insttute, Unversty of Utah, Salt Lake Cty, UT, USA a r t c l e n f o abstract Artcle hstory: Receved 26 June 2008 Accepted 11 September 2008 Avalable onlne 9 October 2008 Keywords: Trvarate b-splne modelng and generaton Volumetrc parameterzaton Model acquston for smulaton We present a methodology based on dscrete volumetrc harmonc functons to parameterze a volumetrc model n a way that t can be used to ft a sngle trvarate B-splne to data so that smulaton attrbutes can also be modeled. The resultng model representaton s sutable for sogeometrc analyss [Hughes, T.J., Cottrell, J.A., B., Y., 2005. Isogeometrc analyss: Cad, fnte elements, nurbs, exact geometry, and mesh refnement. Computer Methods n Appled Mechancs and Engneerng 194, 4135 4195]. Input data conssts of both a closed trangle mesh representng the exteror geometrc shape of the object and nteror trangle meshes that can represent materal attrbutes or other nteror features. The trvarate B-splne geometrc and attrbute representatons are generated from the resultng parameterzaton, creatng trvarate B-splne materal property representatons over the same parameterzaton n a way that s related to [Martn, W., Cohen, E., 2001. Representaton and extracton of volumetrc attrbutes usng trvarate splnes. In: Symposum on Sold and Physcal Modelng, pp. 234 240] but s sutable for applcaton to a much larger famly of shapes and attrbutes. The technque constructs a B-splne representaton wth guaranteed qualty of approxmaton to the orgnal data. Then we focus attenton on a model of smulaton nterest, a femur, consstng of hard outer cortcal bone and nner trabecular bone. The femur s a reasonably complex object to model wth a sngle trvarate B-splne snce the shape overhangs make t mpossble to model by sweepng planar slces. The representaton s used n an elastostatc sogeometrc analyss, demonstratng ts ablty to sutably represent objects for sogeometrc analyss. 2008 Elsever B.V. All rghts reserved. 1. Introducton A frequently occurrng problem s to convert 3D data, for nstance mage data acqured through a CT-scan, to a representaton on whch physcal smulaton can be appled as well as for shape representaton. Grds or meshes, based on prmtves lke trangles, tetrahedra, quadrlaterals and hexahedra are frequently used representatons for both geometry and analyss purposes. Mesh generaton software lke S 2005) generates an unstructured tetrahedral mesh from gven nput trangle meshes. Unstructured grds modelng technques Hua et al., 2004) mprove the modelng and renderng of mult-dmensonal, physcal attrbutes of volumetrc objects. However, unstructured grd technques have drawbacks and certan types of smulaton solvers have a preference for structured grds. Creatng a structured quadrlateral surface representaton and an ntegrated structured hexahedral nternal volume representaton from unstructured data s a problem that has undergone sgnfcant * Correspondng author. E-mal addresses: martn@cs.utah.edu T. Martn), cohen@cs.utah.edu E. Cohen), krby@cs.utah.edu R.M. Krby). 0167-8396/$ see front matter 2008 Elsever B.V. All rghts reserved. do:10.1016/j.cagd.2008.09.008

T. Martn et al. / Computer Aded Geometrc Desgn 26 2009) 648 664 649 Fg. 1. a) Trangle mesh of Bmba statue; b) correspondng trvarate B-splne, where nteror represents materal nformaton used n smulaton. research. Though topologcally lmted, structured grds have advantages especally wth growng mesh szes. For nstance, smulaton lke lnear elastcty, multresoluton algorthms lke wavelet decomposton or multresoluton edtng can be effcently appled to them. Such structured hexahedral meshes are hghly przed n many types of fnte element smulatons, and generally stll requre sgnfcant manual nteracton. For smoothly modelng geometry, attrbutes, and smulatons smultaneously, trvarate tensor product B-splnes have been proposed n sogeometrc analyss Hughes et al., 2005; Zhou and Lu, 2005), that apples the physcal analyss drectly to the geometry of a B-splne model representaton that ncludes specfed attrbute data Martn and Cohen, 2001) such as Lamé parameters used n lnear elastcty). The user gets feedback drectly as attrbutes of the B-splne model analyss representaton, avodng both the need to generate a fnte element mesh and the need to reverse engneer from the fnte element mesh. However, t s necessary to have a representaton of the B-splne model sutable for ths analyss. Generatng a structured hexahedral grd, parameterzng the volume, and generatng a sutable trvarate B-splne model from unstructured geometry and attrbutes s the man focus n ths paper. Our contrbutons n ths work nclude ) A framework to model a sngle trvarate B-splne representaton from an exteror boundary, and possbly nteror boundares that have the same genus as the exteror boundary. The boundares are trangle surfaces, representng geometry or materal nformaton, possbly generated from mage data. ) A technque to create a trvarate B-splne that has a consstent parameterzaton across gven sosurfaces. ) Demonstraton of our framework on real unstructured data, a femur obtaned through a CT-scan and apply stress smulaton to t see Fg. 2). A femur conssts of a cortcal bone, wth hgh denstes, and an nteror part consstng of a porous, trabecular bone. The transton between cortcal and trabecular part s smooth, makng trvarate B-splnes a canddate to model such a scenaro. After dscussng related lterature, we revew trvarate B-splnes and harmonc functons n Secton 3. A framework overvew s gven n Secton 4. On a global vew, modelng the exteror Secton 5) s the frst stage n our framework, followed by modelng the nteror n Secton 6. A trvarate B-splne s ftted aganst an ntermedate hexahedral mesh n Secton 7. In the last sectons 8, 9), we dscuss extensons to our framework and experments, respectvely. 2. Prevous work Parameterzaton s a hard problem for surfaces and even more so for volumes. In addton to use n modelng and remeshng, surface parameterzaton technques have a wde varety of applcatons ncludng texture mappng, detal transfer, fttng and morphng. For a more detaled descrpton, please refer to the surveys Sheffer et al. 2006), Floater and Hormann 2005). Surface parameterzng technques such as Loop 1994), Grmm and Hughes 1995), Tong et al. 2006) deal wth surface related ssues and are not desgned to be extended to model volumes. For nstance, the authors n Allez et al. 2003) motvate ansotropc remeshng and algn mesh elements usng the prncpal drecton of curvature of the respectve trangle mesh. Ther approach yelds a hgh qualty quadrlateral mesh that has no relatonshp to the nteror. If one were to offset the mesh n the normal drecton, one would quckly get self ntersectons among the elements. Even f ths can be avoded, eventually the hexahedral elements have degeneraces and eventually touch each other wthout proper algnment. Requrng parameterzaton of the nteror makes ths problem even more dffcult snce t s prone to self ntersectng offsets and has to deal wth skewed and twsted parameterzatons. Usually, the above-mentoned technques nvolve patch glung where a certan level of smoothness along the patch boundares s desred. In Loop 1994), quadratc B-splnes are generalzed to ft arbtrary meshes creatng hybrd trangular

650 T. Martn et al. / Computer Aded Geometrc Desgn 26 2009) 648 664 Fg. 2. A femur conssts of two materals: The outer sold part, or cortcal bone, represented by the volume between the nput trangle meshes; and the nner soft part, or trabecular bone, represented by the volume of the nteror trangle mesh red). For nterpretaton of the references to color n ths fgure legend, the reader s referred to the web verson of ths artcle.) These volumes are parameterzed mddle) and a sngle trvarate tensor product B-splne s ftted aganst t rght), respectng the nput trangle meshes n ts parameterzaton. Ths makes t easer to specfy respectve materal propertes. Black solnes represent knotlnes n the trvarate parameterzaton. and rectangular surface patches. The lack of structure n the rregulartes makes t clear that volumetrc extensons do not mmedately follow. Smlarly, manfold splnes Grmm and Hughes, 1995) extend B-splnes to surfaces of arbtrary topology, by modelng the doman of the surfaces wth a manfold whose topology matches that of the polyhedral mesh, then t embeds ths doman nto 2-space usng a bass-functon/control-pont formulaton. The doman of ths technque s more complcated than the doman of a standard tensor product surface. As n Loop 1994), ths approach also generates splne patches and glues them together by overlappng them, to get a match n the parameterzaton. The glue conssts of mathematcal operatons such as control pont constrants. In the case of a volume, patch boundares are surfaces. Establshng smoothness and contnuty between them s very dffcult. Convertng a trangle mesh nto a sngle trvarate B-splne has two advantages: Frst, smoothness s preserved throughout the object, whch smplfes analyss. Second, modelng s smplfed, avodng any glung. The nature of B-splne surfaces or volumes does not naturally lend tself to bfurcatons whch may exst n the data. Also, objects wth hgher genus are dffcult to model. However, n many applcatons, lke for nstance, n the case of the femur, the object has a topology of a cylnder but shows local concavtes and overhangs, that are not bfurcatons, but cause representatonal complexty. Solutons to handle these concavtes have been proposed for the surface case Dong et al., 2005) but not for the trvarate case approprate for tensor product B-splne volumes. Our approach enables the generaton of a consstent parameterzaton and B-splne volume representaton for these knds of geometrc objects. The decomposton of 3D objects nto smpler volumetrc parts and the descrpton of parts and the relatonshps between them s a good way of representaton. Bnford 1971) proposed the generalzed cylnder-based GC) shape representaton whch was extended by Chuang et al. 2004). The sold of a CG s obtaned by sweepng a planar cross-secton accordng to a scalng functon along a space curve. Smlarly, Jallet et al. 1997) outlnes a technque to generate B-splne surfaces from a set of planar cross-sectons acqured from mage data. They allow branches, solve the correspondence problem and skn the frame wth B-splne surfaces. The overhang regons usng Jallet et al. 1997) s method requre glung of patches, a problem we do not have to deal wth n our method. Our technque, however, currently s not sutable for models wth branches, but snce we deal wth nonplanar cross-sectons we do not requre addtonal patch glung for overhangs. Whle beng able to reconstruct some types of real world objects, the GC approaches and the approach by Jallet et al. 1997) are lmted, because they requre planar cross-sectons. Note, representatons that rely on planar cross-sectons fal for objects wth overhangs such as the femur n Fg. 2. GC s a subclass of our method snce we are able to model objects wth overhangs as the femur n Fg. 2. Furthermore, sknnng ntroduces oscllatons on the B-splne, whch s amplfed when dealng wth volumes, as n our case. And, n our framework, once a certan stage of the process s reached, the rest proceeds automatcally wthout further user nput. Harmonc volumetrc mappngs between two sold objects wth the same topology have been used n a varety of nstances. Usng related technques, Wang et al. 2004) and L et al. 2007) are performng a 3D tme-varant harmonc deformaton from one volume to another volume wth the same topology. In a dffeomorphc way, Wang et al. 2004) apples ths method to bran data. In Verroust and Lazarus 2000) a method s proposed, to construct skeleton curves from an unorganzed collecton of scattered ponts lyng on a surface whch can have a tree-lke structure. They calculate a geodesc graph over the pont set. Usng that graph, they extract level sets, closed and pecewse lnear. The centrods of all the level sets form the skeleton.

T. Martn et al. / Computer Aded Geometrc Desgn 26 2009) 648 664 651 When level sets are not convex the centrod may le outsde the objects. Furthermore, the skeleton may have loops f the centrod of a gven level set a les above the centrod of the level set b lyng above a. We requre the skeleton to have no loops and to be nsde the geometrc object. In our method we guarantee that. Smlarly, Lazarus and Verroust 1999) explctly establshes a scalar functon, smlar to a harmonc functon, over a trangle mesh. By choosng a source vertex, for every vertex on the trangle mesh, shortest dstances are calculated whch establsh a parameterzaton n one parameter. The skeleton s calculated as n Verroust and Lazarus 2000) and therefore cannot guarantee whether t les wthn the trangle mesh. 3. Prelmnares and notaton In ths work we defne volumetrc harmonc functons over an nput trangular boundary or tetrahedral mesh and generate a volumetrc parameterzaton of the model. Then, a trvarate B-splne s ft to the data wth parameters that measure error. The followng sectons brefly recall B-splne defntons and propertes of harmonc functons and ways to solve them over a trangle and tetrahedral mesh. 3.1. Tensor-product B-splnes as A B-splne volume, or a trvarate tensor-product B-splne volume s a mappng V :[0, 1] 3 P 3 that can be formulated V u, v, w) = n 0,n 1,n 2 0, 1, 2 =0 P 0, 1, 2 B 0,p 0 u)b 1,p 1 v)b 2,p 2 w), where the P 0, 1, 2 R 3 are the control ponts of the n 0 + 1) n 1 + 1) n 2 + 1) control mesh, havng bass functons B j,p j defned n Cohen et al. 2001)) of degree p j wth knot vectors T j ={t j }n j+p j for j = 0, 1, 2. =0 3.2. Dscrete harmonc functons Gven a doman Ω R n, where n our case n = 2 and n = 3, a harmonc functon s a functon u C 2 Ω), u : Ω R, satsfyng Laplace s equaton, that s 2 u = 0, 1) where 2 = 2 + 2 + 2 x 2 y 2 z. 2 Harmonc functons satsfy the maxmum prncple, namely they have no local mnma/maxma and can therefore be used as Morse functons Mlnor, 1963; N et al., 2004). Also, ths property makes them sutable to create a tensor-product style parameterzaton, as done n Tong et al. 2006) for surfaces. In ths paper harmonc functons are utlzed n order to ft a trvarate tensor product B-splne to a tetrahedral mesh generated from a set of trangulated sosurfaces. We descrbe a tetrahedral mesh by the tuple H, T, V, C) over the doman Ω. H s the set of tetrahedra and T s the set of faces of the tetrahedra n H. V s the set of vertces, ν = x ν, y ν, z ν ) V R 3 of the tetrahedra n H, and C specfes the connectvty of the mesh the adjacency of vertces, edges, trangular faces and tetrahedra). Furthermore, T B s the subset of T whose elements are faces of exactly one tetrahedron. The elements of T B form the orgnal exteror trangle mesh for the object. V B V s the set of vertces defnng the trangles n T B. Solvng equatons for any but the smplest geometres requres a numercal approxmaton. We use mean-value coordnates Floater 2003) to solve Eq. 1) on T B. Refer to N et al. 2004) whch dscusses n more detal how to set up the approprate lnear system. The Fnte Element Method FEM) Hughes 2000) s used to solve Eq. 1) on H. The set V s decomposed nto two dsjont sets, V C and V I, representng vertces that le on the Drchlet boundary and hence denote postons at whch the potental u s known) and vertces for whch the soluton s sought, respectvely. Then, n the case of fnte elements, solutons are of the form: ux, y, z) = û k φ k x, y, z) + û k φ k x, y, z), ν k V I ν k V C where the sums denote the weghted degrees of freedom of the unknown vertces, and the Drchlet boundary condton of the soluton, respectvely. φ x, y, z) are the lnear hat functons, whch are 1 at ν and 0 at ν s adjacent vertces. Usng the weak Galerkn formulaton Hughes, 2000) yelds a lnear system of the form Su = f, consstng of stffness matrx S and a rght-hand-sde functon f. Because the stffness matrx s postve defnte Hughes, 2000), the soluton of the lnear system s amenable to teratve methods such as the precondtoned conjugate gradent method Axelsson, 1994). Every pont nsde the tetrahedral mesh volume ether les on the boundary or nsde a tetrahedron and the pont s û-value s a lnear combnaton of the vertces of the tetrahedron n whch t les. Gven a tetrahedron defned by four vertces ν j, = 1, 2, 3, 4, and the correspondng bass functons φ j, the û-value of a pont ν nsde a the tetrahedron, s

652 T. Martn et al. / Computer Aded Geometrc Desgn 26 2009) 648 664 the lnear combnaton ûν) = 4 =1 û j φ j ν), where the û s are the respectve harmonc coeffcents of the tetrahedron s defnng vertces. The gradent û over a tetrahedron s the lnear combnaton ûx, y, z) = 4 û j φ j x, y, z), =1 where φ j x, y, z) = φ j x,y,z) ν x, φ j x,y,z) ν y, φ j x,y,z) ν z ). Note, that û s constant over a tetrahedron and ts boundary so t changes pecewse constantly over the tetrahedral mesh. In the followng, u Ω means that the harmonc functon u s defned over doman Ω, where Ω s H or T B. 4. Framework overvew Ths secton gves a hgh level overvew of our proposed modelng framework. Our framework takes as nput a tetrahedral mesh H contanng, f gven, nteror trangle meshes such as the trabecular bone trangle mesh llustrated n Fg. 2. Gven that, the followng framework steps descrbe the generaton of the trvarate B-splne. Step 1. The user makes an ntal choce of two crtcal ponts. These are used to establsh a surface parameterzaton n two varables defned by orthogonal harmonc functons u TB and v TB Secton 5). Step 2. Generate a structured quadrlateral mesh usng the surface parameterzaton calculated n the prevous step Secton 5.1). Step 3. In ths phase we move to workng wth the complete tetrahedral mesh. Two harmonc functons are calculated over H Secton 6): u H s determned by solvng Eq. 1) wth u TB as the Drchlet boundary condton. w s a harmonc functon orthogonal to u H, havng a harmonc value of 0 on T B and 1 on an nteror skeleton generated usng u H. Interor boundares have a value between 0 and +1. Step 4. Isoparametrc paths wth constant u-parameter value are extracted usng w. They start at vertces defnng the quadrlateral mesh from step 2 and end at the skeleton. These paths are used to generate a structured hexahedral mesh whch s a remesh of H Sectons 6.1, 6.2 and 6.3). Step 5. The trvarate B-splne s generated from the hexahedral mesh generated n step 4, by usng an teratve fttng approach whch avods surface undulatons n the resultng B-splne Secton 7). The ntermedate structured meshes are constructed so that they fathfully approxmate the nput data. The resultng B-splne can therefore have a hgh resoluton. Addtonal post-processng steps nclude data reducton technques to reduce complexty and to generate B-splne volumes of dfferent resolutons. 5. Modelng the exteror In ths secton a parameterzaton X 2 n two varables u and v defned over T B s establshed. The choce of X 2 requres the user to choose two approprate vertces ν mn and ν max from the set of vertces n V B. Then, 2 u TB = 0 s solved wth V C ={ν mn, ν max } as the Drchlet boundary, where we set u TB ν mn ) = 0 and u TB ν max ) = 1. The choce of these two crtcal vertces depends on the model and on the smulaton. As ponted out by Dong et al. 2005), crtcal vertces affect the qualty of the parameterzaton whch n our case also affects the trvarate B-splne we are fttng. Snce the user mght be aware of whch regons requre hgher fdelty and lower dstorton n later smulatons, the user can select a par of crtcal vertces to yeld an approprate parameterzaton. Snce u TB s defned only on T B t can be computed rapdly whch allows the user to modfy t f unsatsfed wth the result. Once the user s satsfed wth u TB, the harmonc functon v TB s computed so that u TB and v TB are nearly orthogonal. In order to calculate v TB, two seed ponts s 0 and s 1 on T B are chosen. The frst seed s 0 can be chosen arbtrarly. Gven s 0, u TB s used to extract an soparametrc path as n Dong et al. 2005). The path s crcular,.e. t starts and ends at s 0, and t has length l. s 1 s chosen on that path, so the path length between s 0 and s 1 s l/2. Ths 50:50-heurstc has proven to be successful. Note, that u TB and v TB are holomorphc 1-forms as defned n Arbarello et al. 1938) and used n Gu and Yau 2003) to compute global conformal parameterzatons. Startng from s 0 two paths are created p + 0 and p 0 by followng u T B and u TB, respectvely. They end at the edges of trangles that has ν max /ν mn, respectvely as one of ts vertces as shown n Fg. 3). Mergng p + 0 and p 0 yelds p 0. Vertces are nserted nto the mesh where p 0 ntersects edges. Call V mn the set of these vertces. The same procedure s appled to determne p 1 passng through s 1. Vertces are nserted nto the mesh where p 1 ntersects edges. These vertces defne V max. Note that V mn V max =, and snce, as a property of harmonc functons, f there exsts only one mnmum ν mn ) and one maxmum ν max ), no saddle ponts can exst N et al., 2004). Then the mesh s retrangulated wth the new vertex set. Next, 2 v TB = 0 s solved wth V C = V mn V max as the Drchlet boundary, where we set v TB ν) ν Vmn = 0 and v TB ν) ν Vmax = 1. Snce the crtcal paths p 0 and p 1 do not reach the extremal ponts ν mn and ν max see Fg. 3), u TB

T. Martn et al. / Computer Aded Geometrc Desgn 26 2009) 648 664 653 Fg. 3. Crtcal paths end at the edge of a trangle, where one of ts vertces s ν mn or ν max. and v TB are not approprately defned nsde the rng of trangles around ν mn and ν max. Let u start be the largest u-value of the vertces defnng the rng of ν max, and let u end be the smallest u-value of the vertces defnng the rng of ν mn. Now, gven u 1 T and v 1 B T, the nverse harmonc functon B X 2 s constructed whch maps a parametrc value n the doman [u start, u end ] [ 0, 1] onto T B,.e. X 2 :[u start, u end ] [ 0, 1] T B. X 2 s not bjectve yet as the fgure above llustrates. It shows a closed soparametrc lne n u TB,.e. a closed pecewse polylne where each of ts vertces has the same u-value. The paths p 0 and p 1 dvde the exteror surface nto two regons I and II. Let αν) be the part of the harmonc v-mappng whch maps a vertex ν n regon I onto [0, 1]. The correspondng functon for regon II s called βν). In order to make X 2 bjectve we defne a sngle harmonc v-mappng { αν)/2, ν I γ ν) = 1 βν)/2, ν II Fg. 4 llustrates these transformatons. At ths stage, every ν V B has a u- and v-parameter value. Note that v s perodc so 0 1. A regon whose corners conssts of rght-angles can be parameterzed so that the resultng gradent felds are orthogonal Tong et al., 2006). However, n our case, u TB degenerates to ponts ν mn and ν max ), mplyng that u TB and v TB are not orthogonal near ν mn and ν max. Ths means that a quadrangulaton n ths area s of poorer qualty. Note, that ν mn and ν max were chosen n areas whch are not mportant n the proposed smulaton. Furthermore, n case of the femur, 98% of the gradent vectors n u TB and v TB have an angle α between each other, where π/2 0.17 < α < π/2 + 0.13. 5.1. u- and v-secton extracton Smlar to Hormann and Grener 2000), our goal s to extract a set of u- and v-parameter values so that the correspondng soparametrc curves on the model defne a structured quadrlateral mesh whch represents the exteror of the tetrahedral mesh fathfully. Let T B be the exteror trangle mesh nversely mapped nto the parameter space as llustrated n Fg. 5 left). We seek to fnd a set U ={u 0, u 1,...,u n0 } of u-values and a set V ={v 0, v 1,...,v n1 } of v-values so that the collecton of mages of the grd form an error bounded grd to the model. The socurve at a fxed u U corresponds to the lne l v) = u, v) n parameter space, where v [0, 1], and, the socurve at a fxed v j V corresponds to the lne l j u) = u, v j ) n parameter

654 T. Martn et al. / Computer Aded Geometrc Desgn 26 2009) 648 664 Fg. 4. On the left: the harmonc functon u TB defned by two crtcal ponts s establshed over T B ; mddle: Based on u TB, the orthogonal harmonc functon v TB s calculated. At ths stage u TB and v TB defne an njectve transformaton; on the rght: Scalng and translaton yelds the parameterzaton X 2. Fg. 5. X 2 maps a vertcal lne at u 0 n parameter space onto a closed soparametrc lne on T B. Accordngly, X 2 maps a horzontal lne at v 0 onto an soparametrc whch starts at ν mn and ends at ν max. space, where u [0, 1]. l v) and l j u) are orthogonal. Note, that X 2 maps l v) and l j u) to socurves on T B. The ntersectons of the lnes l v) and l j u).e. the parameter pars u, v j ) defne a structured grd wth rectangular grd cells over the parametrc doman and hence a quadrlateral mesh over T B. Ths quadrlateral mesh s a remesh of T B. Let E be the set of edges defnng the trangles n T B. U and V are chosen so that every edge n E s ntersected by at least one l v) and one l j u), as shown n Fg. 5 for one trangle. U and V are calculated ndependently from each other. An edge e E s defned by two ponts n parametrc space u e, v e ) and u e, v e ). Based on E, we defne S u to be the set of ntervals defned as the collecton of ntervals u e, u e ) such that u e, v e ) and u e, v e ) are the endponts defnng an edge e E. We employ the nterval structure for stabbng queres Edelsbrunner, 1980), that takes a set of ntervals n our case S u ) and constructs an nterval tree I u n On log n), where n s the number of ntervals n S u. Every node n I u ncludes an nterval locaton u [0, 1]. I u covers every nterval edge trangle n T B. The u-values of the nodes n the tree defne the set U and the vertcal stabbng lnes l v). V s defned analogously, wth the dfference that S v conssts of ntervals defned by the segments v e, v e ) for whch u e, v e ) and u e, v e ) are the endponts of an edge e E. Then, V conssts of the v-values defnng the nodes n I v and the horzontal stabbng lnes l j u). The algorthm to determne U and V guarantees that n a rectangle defned by the ponts p 0 = u, v j ), p 1 = u +1, v j ), p 2 = u +1, v j+1 ) and p 3 = u, v j+1 ), where u, u +1 U and v j, v j+1 V, there s ether the premage of at most one vertex of a trangle Case 1) or none Case 2). These two cases are llustrated n Fg. 6. We show ths s true by contradcton. That s, assume that there are two vertces n the same rectangle. Snce we requre that the nput mesh s a 2-manfold, there has to be a path defned by trangle edges from one vertex to the other. However, due to the nterval tree property that every nterval s cut by at least one stabbng lne, at least one solne wth fxed u-value and one solne wth fxed v-value ntersects an edge. Therefore, the two vertces must be separated.

T. Martn et al. / Computer Aded Geometrc Desgn 26 2009) 648 664 655 Fg. 6. Ether there s one vertex n the rectangle defned by the ponts p 0, p 1, p 2 and p 3, or none. Crosses mark edge ntersectons. Now we want to ensure that the quadrlateral grd that we are dervng s wthn error tolerance. Let us consder the rectangle R, j defned by the ponts u, v j ) and u +1, v j+1 ) as n Fg. 6). The vertces of ts correspondng blnear surface R, j on T B are X 2 u, v j ), X 2 u +1, v j ), X 2 u +1, v j+1 ) and X 2 u, v j+1 ). We measure how far R, j s away from the trangle mesh. We look at ths measurement for the two above cases separately. For Case 1, let u, v ) be the parameter value of the vertex lyng n R, j. Consder one of the trangles assocated wth that pont, each edge of R, j maybe ntersected by ether zero, one, or two of the trangle s edges. If ntersectons exst, we transform them wth X 2 onto T B and measure how far they are away from R, j. Furthermore, the dstance between X 2 u, v ) and R, j s determned. Gven a user-defned ɛ, f the maxmum of all these dstances s smaller than ɛ/2, we have suffcent accuracy, f not, then we nsert a new u-slce between u and u +1 and a new v-slce between v j and v j+1 and reexamne the newly created rectangles. Case 2 s handled smlarly to Case 1 wthout the projecton of the nteror pont. Dependng on the resoluton of T B, the sets U and V may have more parameter values than necessary. For nstance, f T B s a densely trangulated cylnder, most of the parameter values n U are not necessary. To some extent, more solnes are needed around features. On the other hand, solnes mght also be needed n areas on whch force due to boundary condtons s appled. These regons could have no shape features at all. After the B-splne volume s modeled usng our framework, refnement and data reducton technques are appled to yeld trvarate approxmatons wth dfferent resolutons. However, t stll can be helpful to remesh the nput trangle meshes wth a feature aware trangulator such as Afront Schrener et al., 2006) whch generates meshes havng more trangles n regons wth hgher curvature and fewer trangles n regons wth very low curvature. Gven an nput trangle mesh, an upper bound on the error can be determned. Snce there s a guarantee that every edge s ntersected by at least one solne wth fxed u- and one solne wth fxed v-value, the maxmum error can be computed n the followng way: Gven T B, we consder the rng of a vertex ν V B, where the rng s the set of all adjacent vertces of ν beng elements n V B. We construct a boundng box where one of ts axes are concdent wth the normal of ν. The heght of the boundng box sde concdent wth the normal of ν s the error for that rng. We compute such a boundng box for every vertex on the exteror. The maxmum heght wll be the maxmum error. 6. Modelng the nteror Once the exteror parameterzaton s determned, the tetrahedral mesh H) s parameterzed. Usng FEM, 2 u H = 0 s solved, where V B wth ts respectve u-values s used as the Drchlet boundary condton. Now, all elements n V have a u-parameter value. In the surface case, fxng a u-value gves a lne n parameter space and a closed socurve on the surface. In the volume case, fxng a u-value gves a plane n parameter space and a surface called an sosheet n the volume. The boundary of an sosheet for a fxed u 0 s the socurve on the surface at u 0. Now, for each boundary slce at u 0, t s necessary to extract ts correspondng sosheet. Frst however, a skeleton s created to serve as sosheet center for all sosheets. Then, a thrd functon w s created whose gradent feld w ponts

656 T. Martn et al. / Computer Aded Geometrc Desgn 26 2009) 648 664 Fg. 7. A cross secton of an object wth an exteror boundary and an nteror sosurface representng geometry or attrbute data. The skeleton and boundares were used to establsh w. Isolnes vsualze the uw-scalar feld used to trace w-paths from the exteror to the skeleton. to the skeleton. w s used to trace a path startng at p 0, j = X 2 u 0, v j ) and endng at the skeleton on the sheet, for j = 0,...,n 1 see above). w s constructed to be tangent to the sosheet at a gven pont, so u H and w are orthogonal. Ths guarantees that every pont on the extracted w-path has the same u-value. The skeleton s created by tracng two paths whch start at a user-specfed seed usng + u H and u H and end at ν mn and ν max, respectvely. Mergng these two paths yeld the skeleton. By the defnton of u H, the skeleton can have no loops. The skeleton has the propertes of a Reeb Graph Shnagawa et al., 1991), n that ts end vertces correspond to ν mn and ν max. Whle the Reeb graphs n Shnagawa et al. 1991) are defned over a surface, our Reeb graph,.e. the skeleton, s defned over the volume. Because of the way w s bult, a sheet s orthogonal to the skeleton, whch s also a property of the generalzed cylnder-based shape representaton. The orthogonal property of the skeleton and w s also a desrable property to attan a good B-splne ft. The skeleton can be computed n nteractve tme, and the user has flexblty n choosng the seed. In general, the seed should be placed such that the resultng skeleton les n the center of the nnermost sosurface, lke the axs of a cylnder. Just solvng 2 w = 0 wth the respectve boundary condtons does not guarantee orthogonalty of u H and w, and f u H and w are not orthogonal, there s no reason that a path wll have the same u-value throughout. Ths mples the w-parameter wll need further adjustment to guarantee a well behaved parameterzaton and so adjacent sosheets do not overlap. In order to enforce orthogonalty w s constructed n the followng two steps: 1) The ponts defnng the skeleton are nserted nto the tetrahedral mesh and a new mesh s formed. Then, 2 ŵ = 0 s solved over the tetrahedral mesh, subject to Drchlet boundary condtons defned by the set V C = V B V T1 V Tk V S. V B conssts of the boundary vertces where ŵν) ν VB = 0, V S conssts of the vertces defnng the skeleton where ŵν) ν VS = 1, V T s the set of vertces defnng the th of k sosurfaces where ŵν) ν VT = /k + 1). In the case of the femur and n Fg. 7, there s one sosurface, namely the surface separatng the trabecular and cortcal bone. In ths case V C = V B V T1 V S, where ŵν) ν VT1 = 1/2. Then n step 2), for every tetrahedron, we project ts ŵ gradent vector onto the plane whose normal s the correspondng u H, to form w. 6.1. Tracng w-paths Flow lne extracton over a closed surface trangle mesh s descrbed n Dong et al. 2005). In our case, we extract flow lnes throughout a volume. A flow lne, or a w-path wll start on T B, where w = 0 and traverses through H untl t reaches the skeleton on whch w = 1. The resultng w-path s a pecewse lnear curve where every segment belongs n a tetrahedron. The two ends of the segment le on faces of the respectve tetrahedron and s concdent wth w. Snce u H and w are orthogonal, every pont on such a segment has a constant u-value, and therefore, the w-path has a constant u-value. Durng w-path traversal, n the regular case, the endpont q of the w-path wll le on a face of a tetrahedron. The next traversal pont s determned by constructng a ray r wth orgn at q wth w H of the adjacent tetrahedron as drecton. r s then ntersected wth the faces of the adjacent tetrahedron, except the trangle on whch q les, to fnd the next q. Let p be the ntersecton between r and trangle t. t s a face of two tetrahedra, the current and the next tetrahedron. The lne segment qp s added to the current w-path, and p becomes q. Durng the w-path traversal, several pathologcal cases can arse. One s when the ntersecton pont p les on an edge e of the current tetrahedron. Snce the edge s part of two trangles, an ambguty exsts as to whch face should be chosen. Instead we consder all tetrahedra that have e as an edge. For each of these tetrahedra we construct a ray havng ts orgn at p wth w of the tetrahedron as ts drecton. If there s an ntersecton between a tetrahedron s ray and one of ts faces, then we choose that face of the respectve tetrahedron as the next trangle. Analogously, at the other degeneracy, when p les at a vertex of the tetrahedron, we examne every tetrahedron that concdes wth ths vertex. We choose the tetrahedron n whch we can move furthest n w drecton.

T. Martn et al. / Computer Aded Geometrc Desgn 26 2009) 648 664 657 Another degenerate case arses when r does not ntersect wth any trangle, edge or vertex of the current tetrahedron. Ths mples that r ponts outward from the tetrahedron. When ths occurs, we construct a plane through q orthogonal to u H of the current tetrahedron. Every pont on that plane n the tetrahedron has the same u-value. We ntersect the plane wth the edges of the trangle n whch q s located. In general poston, there are two ntersectons. We choose that ntersecton whch has a bgger w-value as next pont on the w-path, because t les closer to the skeleton. Snce the ntersecton pont s a pont on an edge or a vertex, the frst specal case s appled. 6.2. w-path extracton In Secton 5.1, we dscussed how the Cartesan product of the sets U and V spans over the uv-doman. X 2 maps the grd pont u, v j ) to the pont p, j n T B. The ponts p, j are used as startng ponts to trace w-paths, as descrbed above n Secton 6.1. Now, X 3 :[u start, u end ] [ 0, 1] [ 0, 1] H s a parameterzaton n three varables u, v and w, where X 3 u, v, 0) X 2 u, v), X 3 u, v, 1) defnes the skeleton, and X 3 u, v, /k + 1)) defnes the th sosurface. In ths secton, we want to fnd a set W ={w 0, w 1,...,w n2 } where w 0 = 0 and w n2 = 1, whch contans n 2 parameter values. The Cartesan product U V W defnes a structured grd on [u start, u end ] [ 0, 1] [ 0, 1] and a structured hexahedral mesh wth ponts p, j,k = X 3 u, v j, w k ) n H wth degeneraces only along the skeletal axs. Note, that p, j,k refers to the kth pont on the jth w-path on sosheet,.e. by fxng u 0, the ponts X 3 u 0, v j, w k ) le and approxmate sosheet 0 and connect to a structured quadrlateral mesh called S 0. Let h 0, j 0 :[0, 1] H be the j 0 th w-path on S 0, defned by the ponts p 0, j 0,k, where k = 0,...,n 2. Dependng on the choce of w-values n W, ponts on h 0, j 0 may have dfferent u-values. Ths leads to a modfcaton of u on the nteror parameterzaton. Ths s allowed as long the u-value of these ponts s smaller bgger) than the u-value of the upper lower) adjacent sosheet. Otherwse, sosheets mght ntersect. Orgnally, when a w-path s extracted as dscussed above, all parameter values n [0, 1] map to ponts whose u-values are the same. The reason for that s, that the lne segments defnng the ntal w-path all le n tetrahedra and concde wth w H of the respectve tetrahedron. Furthermore, every extracted w-path s defned ntally by dfferent sets of w-values. In order to determne W, we have to make sure that the quadrlateral sheets S do not ntersect. Let W, j ={w 0, w 1,...,w n2, j }, where w 0 = 0 < w 1 < < w n2, j = 1, be the sorted set of w-parameter values for h 0, j 0, consstng of n 2, j + 1 ponts. n 2, j depends on the number of tetrahedra the path s travellng through. If the path s close to ν mn or ν max, the path s probably shorter than a path towards to the mddle of the object. A vald and common W could be found by calculatng the unon of all W, j, where then W would contan an unnecessarly large number of w-values. Therefore as a frst step we smplfy every W, j by removng unnecessary w-values from t. Let u be the u-value of the current slce. We scan W, j and remove an element w k when the u-value of the pont P k 1 + P k+1 )/2 s n the range [u u 1 )/2,u + u +1 )/2], where P k s the poston n the tetrahedral mesh where w k les. Ths mples that sheet does not ntersect wth one of ts adjacent sheets. The P k s leadng to the smallest dfferences are removed frst. Ths s appled teratvely untl no further ponts can be removed from the path. Then, we merge the smplfed sets W, j to get W. After mergng, elements n W may be very close to each other. We therefore remove elements n W, such that every par of parameter values n W has at least a dstance n parameter space) of ɛ between each other. Furthermore, the parametrc w-values for the sosurfaces are added to W, too, such as 0.5 W, where X 3 u, v, 0.5) represents the nner boundary n Fg. 2. 6.3. w-path smoothng Snce there s only an exteror v-parameterzaton, ponts lyng on a w-path have a constant u-value but not a constant v-value. Ths results n path wgglng as shown n Fg. 8. Path wgglng means that parts of a gven path may le closer to ts adjacent path on the left than to ts adjacent path on the rght.

658 T. Martn et al. / Computer Aded Geometrc Desgn 26 2009) 648 664 Fg. 8. Due to the lnear property of u and v and specal cases durng w-path extracton as dscussed n Secton 6.1, adjacent paths may collapse. Laplacan smoothng Fretag and Plassmann, 1997) s an effcent way to smooth a mesh and remove rregulartes. As ponted out n Fretag and Plassmann 1997), applyng t to a hexahedral mesh can lead to nconsstences, lke tanglng of hexahedra. Ths especally happens n regons wth overhangs, where n our case, Laplacan smoothng would change the u- and w-value of a pont, leadng to overlappng sheets. However, Laplacan smoothng s computatonally effcent and we adapt t for our case n the followng way. Let v H be the cross product feld between u H and w,.e. v H = u H w H. Snce v j s not constant along the w-path, durng mesh smoothng, we restrct the locaton p, j,k to change only along v H. Let Lp, d) be a functon defned over H whch determnes a pont p along v H wth dstance d from p. p and p both le on a pecewse lnear v-path, and the v-path secton defned by p and p has a length of d. Snce u H, v H and w are orthogonal vector felds, p and p have the same u- and w-value. Furthermore, let Dp, q) be a functon that computes the length of the v-path secton defned by p and q, requrng that p and q have the same u- and w-value. Now, the poston of the mesh pont p, j,k s updated by p, j,k = L p, j,k, 1 Dp, j,k, p, j 1,k ) + Dp, j,k, p, j+1,k ) )). 2 After ths procedure s appled to every p, j,k where > 0 and < n 0, the old postons p, j,k are overwrtten wth p, j,k. By repeatng ths procedure the mesh vertces move so that for a gven p, j,k, the rato Dp, j,k, p, j+1,k )/Dp, j,k, p, j 1,k ) moves closer to 1, by mantanng a constant u- and w-value. Therefore, ths approach avods sosheet ntersecton. The procedure termnates when max Dp, j,k, p, j+1,k ) < ɛ, where ɛ s user-defned. 7. B-splne volume fttng In the frst stages of our framework we created a structured n 0 + 1) n 1 + 1) n 2 + 1) hexahedral mesh wth vertces p, j,k, from a set of unstructured trangle meshes. The hexahedral mesh has the same tensor-product nature as a trvarate B-splne. In ths secton we want to ft a trvarate B-splne to ths grd. One of the frst decsons to make s to choose between an nterpolaton or an approxmaton scheme. Our crtera nclude generatng a consstent mesh, where adjacent sheets do not overlap, and mnmzng oscllatons n the B-splne volume. The frst aspect would mply an nterpolaton scheme: Snce the ponts of the hexahedral mesh le on the resultng B-splne, the error on these ponts s zero. However, nterpolaton can cause oscllatons and there are no guarantees that the B-splne s consstent. Snce the ntal hexahedral mesh can have a very hgh resoluton, solvng a global nterpolaton problem requres addtonal extensve computaton tme. Furthermore, the nput trangle meshes were eventually acqured through segmentaton of volumetrc mage data, they approxmate the orgnal data already, especally after a trangle remesh. Interpolaton of such an approxmaton would not necessarly make sense. Therefore, the second aspect mples an approxmaton scheme that also avods wrnkles n the fnal mesh. The queston s here, what approxmaton error should be chosen. Ths depends on the hexahedral mesh. Sheets whch are bent need an adequate number of control ponts so that the ntersecton among adjacent sheets s avoded. The choce of an approprate number of control ponts s dffcult to determne. We therefore adopt an approach whch s a mx of both, maxmzng ts advantages and mnmzng ts drawbacks. We allow the user to control how close the B-splne s to the approxmatng ponts of the hexahedral mesh. A consstent B-splne wth as few oscllatons as possble s desrable. Our soluton s to develop an approxmaton teratvely. The hexahedral mesh s chosen as the ntal control mesh. Ths guarantees that the B-Splne volume les nsde the control volume and that no

T. Martn et al. / Computer Aded Geometrc Desgn 26 2009) 648 664 659 Fg. 9. Dfferent choces of λ acheve dfferent qualtes of approxmatons. For a) λ = 0.1 and for b) λ = 0.8 was used. In both cases ɛ = 0.01. further features are ntroduced to the B-splne volume. Furthermore, we set degrees n the three drectons p 0 = 3, p 1 = 3 and p 2 = 1, and use a unform open knot vector n u and w, and a unform perodc knot vector n v. For a fxed k 0, let P, c be the cth control mesh n an teratve relaxaton procedure, where S c j,k 0 k 0 u, v) s the B-splne surface at teraton c wth control mesh P, c. At c j,k 0 = 0, set P, 0 j,k 0 := p, j,k0. In the cth teraton, where c > 0, we update P c+1, j,k 0 = P c, j,k 0 + λ [c], 2) where [c] s a drecton vector and s chosen such that S c k 0 u, v) grows towards p, j,k0. λ 0, 1) s a user-defned scalar, n our case λ = 0.5. [c] s defned n terms of p, j,k0 and S c u k 0, v ) correspondng to the control pont P, c. u and v can be determned j,k 0 by projectng the control pont P, c onto S c. A frst-order approxmaton to ths projecton s to evaluate S c at the j,k 0 k 0 k 0 approprate node Cohen et al., 2001),.e. u = 3 µ=1 t 0 +µ /3 and v j = 3 µ=1 t 1 j+µ /3. Snce T 1 s unform perodc, v j = t v j+p 1 1, where v n that case s also exact and corresponds to the jth control pont. Ths s not true for the unform open knot vectors T 0. Ether t u +2 u t u +3 Case 1) or tu +1 u t u +2 Case 2), therefore Sc k 0 u, v ) les only near P c, j,k 0. If Case 1 apples, then let 0 = 1, otherwse for Case 2, let 0 = 2. Then, S c k 0 u, v j ) = p k=0 B 0 +k,p 0 u )C 0 +k, j), where C k, j = P c k, j 1,k 0 + P c k, j+1,k 0 )/6 + 2P c k, j,k 0 )/3. Note that, B j 1,q v j ) = B j+1,qv j ) = 1/6 and B j,qv j ) = 2/3. In order to defne [c], we ask how to change the current control pont P, c such that S c+1 u j,k 0 k 0, v ) moves closer to j p, j,k0. To answer ths, we set S c k u 0, ) v j = S c k 0 u, ) 2B,p u v j ) P, c j,k 3 0, and rewrte p, j,k0 = S c k 0 u, v j [c] = ) + 2B,p u ) 3 3 2B,p u ) p, j,k0 S c k 0 u, )) v j. P c, j,k 0 + [c]), 3) The teraton stops when ɛ max < ɛ, where ɛ max = max p, j,k S c k 0 u, v j ) 2 for every S c k 0.. 2 s the second vector norm and ɛ s user-defned. The resultng surfaces S c defne the fnal trvarate B-splne control mesh. k 0 The user choce of λ affects qualty and runnng tme of our proposed approxmaton method. Choosng a λ closer to one reduces the number of teratons but lowers the qualty of the fnal soluton. A λ closer to zero requres more teratons but results n a hgher qualty mesh. Please refer to Fg. 9 whch shows the results for λ = 0.1 and λ = 0.8. For λ = 0.1, 12 teratons were requred; for λ = 0.8 the algorthm termnated after three teratons. In both cases, ɛ = 0.01. For λ = 0.8, t can be observed that the resultng mesh contans unpleasant wrnkles, as they typcally appear n nterpolaton schemes. 7.1. Convergence The proposed method converges, when at every step the magntude of [c] lm [c] c 2 = 0. gets smaller, and n the lmt 4)

660 T. Martn et al. / Computer Aded Geometrc Desgn 26 2009) 648 664 Let us consder the 2D case wth a unform perodc knot vector T. The ponts p, where = 0,...,n 1, defne a closed polylne. As above, the ntal vertces whch defne the control polygon are P [0] := p. We want to teratvely move the B-splne curve defned by {P [c] } and T closer to the ntal data ponts {p }, where P [c+1] = P [c] + λ [c]. Due to the perodc and unform knot vector T, p = 1 6 = 1 6 Solvng for [c] [c] = 3 2 P [c] 1 + P [c] +1 P [c] 1 + P [c] +1 yelds, 1 p 6 ) + 2 3 ) 2 + 3 [c+1]) P P [c] + [c] ). In matrx notaton, Eq. 5) can be rewrtten as )) [c] P 1 + P [c] ) 2 +1 + 3 P [c]. 5) [c] = 3 2 p C P [c] ), 6) where s the matrx-vector product. [c] and P [c] are vectors wth n components, where the th component s [c] and P [c], respectvely, and C s a n n crculant matrx Davs, 1979), where row s a crcular shft of components of the n-component row vector [ 2 3, 1 6, 0,...,0, 1 ], n short 6 2 C = crc 3, 1 6, 0,...,0, 1 ). 6 Note, that f c = 0, then [0] = 3 p C P [0] ) = 3 2 2 p C p) = 3 I C) p, 2 where I s the dentty matrx. If c = 1, then [1] = 3 2 p C P [1] ) = I 32 λc ) [0]. From that, nducton s used to show that [c+1] = I 32 ) λc [c] = A c+1 3 I C)p, 7) 2 where A = I 3 2 λc = crc 1 λ, λ 4, 0,...,0, λ ). 4 The magntude of [c] converges aganst 0, mplyng that our fttng procedure converges, f lm c Ac = Z, where Z s the zero matrx. Ths mples, accordng to Davs 1979), that the egenvalues of A are, λ r < 1, r = 0, 1,...,n 1. Snce A s a crculant matrx, t s dagonalzable by A = F Λ F, where Λ s a dagonal matrx, whose dagonal elements are the egenvalues of A, and F s the Fourer matrx wth entres gven by F jk = 1 2π jk e n. n F s the conjugate transpose of F. Due to the fact, that A s a crculant matrx, ts egenvalue vector v can be computed by n F v A = v, where v A =[1 λ, λ/4, 0,...,0, λ/4]. Applyng that to our case, we get

λ r = 1 λ) λ 4 cos r 2π n T. Martn et al. / Computer Aded Geometrc Desgn 26 2009) 648 664 661 + cos rn 1) 2π n ), so 1 3 2 λ λ r 1 λ. Hence, n every step the magntude of [c] decreases whch results n the convergence of our 2 proposed data fttng approach for unform perodc B-splne curves. In the case when T s unform open, Eq. 7) can be rewrtten by [c+1] = A c+1 S I C) p, where A = I λs C). S s a dagonal matrx where the dagonal elements are defned by 1 S = B,p u ) and C j = B j,p u ) whch s not crculant. Therefore, the bound on the egenvalues gven above does not apply, due to the end condtons. However, we conducted experments wth dfferent values for λ, and the maxmum egenvalue s always less than one and stays the same ndependent of the problem sze n, ndcatng convergence. For λ = 1/2, the egenvalues of A range from 0.15 to 0.85. In the surface case, the two curve methods are nterleaved as s done for tensor product nodal nterpolaton. It s guaranteed to converge gven the curve method propertes. 7.2. Smplfcaton The resultng trvarate B-splne tends to have a hgh resoluton. Therefore, as a post-processng step we apply a data reducton algorthm Lyche and Morken, 1988) to the B-splne representaton and teratvely decde how to reduce complexty on the surface or on the attrbute data n the nteror, by mnmzng error. 8. Framework extenson So far we have assumed that the user chooses two mn/max ponts as the frst step n our modelng framework. As dscussed above, those two crtcal ponts are the end ponts of a skeleton lne through the model. Ths works well when the lengths of the w-paths of a gven slce are smlar n length. If sosheets are crcular and the skeleton goes through the center, the lengths of the w-paths s equal to the radus of the sosheet. By fxng u 0 and w 0 the quadrlateral q defned by the ponts X 3 u 0, v 0, w 0 ) and X 3 u 0, v + ɛ, w 0 + ɛ) for a gven small ɛ has the same area for any v. However, nput models exst, where w-path lengths of a gven sosheet are dfferent. Refer to Fg. 10 for a smple example, where the user chose ν mn and ν max. For a constant u-value we extracted the correspondng sosheet. Isosheets n that model have a rectangular shape. For such a shape a skeletonal lne s not approprate: Isoparametrc lnes n v towards the exteror are rectangular, but change nto crcles when approachng the skeleton. Ths results n dstorton: For a gven sosheet we Fg. 10. w-parameterzatons usng mn/max ponts. Fg. 11. b) w-parameterzatons usng mn/max paths.

662 T. Martn et al. / Computer Aded Geometrc Desgn 26 2009) 648 664 can fnd the shortest and the longest w-path. The quadrlaterals q do not have the same area, they are bgger around the longest path, compared to ts areas around the shortest path. Numercal applcatons such as fnte elements desre more unform element szes. By modfyng the choce of the skeleton the resultng B-splne can be mproved. Instead of choosng a sngle vertex as a crtcal pont, the user chooses a crtcal path as n Fg. 11. The resultng skeleton s a surface. In that case, crtcal paths sut the rectangular shape better than crtcal ponts. The w-paths of a sheet have about the same length, resultng n less stretchng and therefore more unform quadrlaterals. For a gven nput mesh, ts medal axs and our choce of the skeleton are related. Selectng the medal axs as the skeleton leads to dffcultes snce t may have small branches whch would requre splttng the object up nto parts whch have to be glued together. Ths would make modelng very dffcult. The skeleton we pck s a smplfed verson of the medal axs. It uses ths representaton s ablty to deal wth overhangs and localzed features n that smplfcaton. The skeleton we choose can be regarded as approxmaton of the medal axs. For nstance, n Fg. 11, our choce of mn/max paths yelds a skeleton whch s a surface smlar to the medal axs of the object. 9. Results Except for the ntal user-requred choce of the crtcal ponts ν mn, ν max and the ntal seed to determne the skeleton, our modelng framework runs fully automatcally. u TB takes a few seconds to compute, allowng the user beng aware of smulaton parameters) to try out dfferent ntal parameterzatons. After that frst step u H and w are computed, paths are extracted and the trvarate B-splne s generated from that. We mplemented the proposed framework on a 16 node cluster, reducng the tme to parameterze the volume and obtan a trvarate B-splne representaton of the femur n Fg. 2 to about 30 mnutes n total. In addton to the femur, our approach s demonstrated on the Bmba model Fg. 1) and the statue model Fg. 4). We created an nteror surface for the Bmba model so that the feature of the approach could be tested on more than one model. The trvarate B-splne of the statue was generated usng only the exteror trangle mesh of the statue. The tmes needed to generate volumetrc model representatons for these two objects were about the same as that requred for the bone. We appled sogeometrc analyss Hughes et al., 2005) n form of lnear elastcty Hughes, 2000) see Fg. 12) to a data reduced verson of the resultng B-splne volume. For a more detaled dscusson on smulaton convergence and error measure, we refer the reader to Martn et al. 2008). Isocurves of a harmonc functon defned on a smooth surface converge to crcles when approachng a crtcal vertex. In case that the harmonc values are lnearly nterpolated across a trangle mesh, socurves are nonplanar n-gons, where n depends on the number of trangles the respectve socurve crosses. When approachng a crtcal pont, socurves are defned only by a few vertces as can be seen n Fg. 3. In order to mprove the parameterzaton n the regons near the crtcal ponts, addtonal vertces are nserted n the respectve regons and retrangulaton s appled n these areas. Smlarly, nsertng addtonal vertces n the regon around the skeleton can help to mprove the volumetrc parameterzaton and therefore the qualty of the ntal structured hexahedral mesh. Fg. 12. Isogeometrc analyss: Elastostatcs appled to the data reduced trvarate B-splne representaton of the femur. Load s appled to the head of the femur.