PAVEL: Decorative Patterns with Packed Volumetric Elements
Filippo Andrea Fanni, Fabio Pellacini, Riccardo Scateni, Andrea Giachetti
PPAVEL: Decorative Patterns with Packed Volumetric Elements
FILIPPO ANDREA FANNI,
University of Verona, Italy
FABIO PELLACINI,
Sapienza University of Rome, Italy
RICCARDO SCATENI,
University of Cagliari, Italy
ANDREA GIACHETTI,
University of Verona, Italy
Fig. 1. Three examples of objects decorated with packed volumetric elements generated by
PAVEL . On the left, a reproduction of a real-world ceramic artwork(see Fig. 2, right), in the center, a bracelet, and on the right, a plague doctor masque, inspired by the Venetian carnival tradition. In
PAVEL , decorations areplaced on a surface in an overlapped configuration. We then deforms the decorative elements in a manner that mimics the plastic deformations of real-worldartworks. For each model, we show the base shape with, in blue, the positions for the decorative elements. The placement of decorations is automatic in thefirst two examples, and can also be done manually for better artistic control, as shown in the latter example.
Many real-world hand-crafted objects are decorated with elements that arepacked onto the object’s surface and deformed to cover it as much as possible.Examples are artisanal ceramics and metal jewelry. Inspired by these objects,we present a method to enrich surfaces with packed volumetric decorations.Our algorithm works by first determining the locations in which to add thedecorative elements and then removing the non-physical overlap betweenthem while preserving the decoration volume. For the placement, we supportseveral strategies depending on the desired overall motif. To remove theoverlap, we use an approach based on implicit deformable models creatingthe qualitative effect of plastic warping while avoiding expensive and hard-to-control physical simulations. Our decorative elements can be used toenhance virtual surfaces, as well as 3D-printed pieces, by assembling thedecorations onto real-surfaces to obtain tangible reproductions.CCS Concepts: •
Computing methodologies → Volumetric models ; Mesh models .Additional Key Words and Phrases: shape deformation, artistic design
The quest for representing reality is one of the main goals of com-puter graphics since its origins. Due to the advances in modeling,
Authors’ addresses: Filippo Andrea Fanni, Dept. of Computer Science, University ofVerona, Verona, Italy, [email protected]; Fabio Pellacini, Dept. of ComputerScience, Sapienza University of Rome, Rome, Italy, [email protected]; RiccardoScateni, Dept. of Mathematics and Computer Science, University of Cagliari, Cagliari,Italy, [email protected]; Andrea Giachetti, Dept. of Computer Science, University ofVerona, Verona, Italy, [email protected]. rendering, and AI, it is often possible to virtually reproduce thelook of real-world objects, characters, and scenes, in a manner thatis indistinguishable from reality. Recent advances in digital man-ufacturing allow us to physically reproduce realistic objects thatwere initially modeled as digital shapes. This is becoming an impor-tant field of application for 3D geometry processing algorithms andtechniques.The difference between a model that appears realistic and onethat does not is often the complex surface details typical of real-world objects. In graphics, surfaces are often enriched by varyingtheir material properties, texture maps, or generating relief patterns.As pointed out in a recent survey [Zhang et al. 2019], most of thecurrent methods used to generate reliefs patterns work in image-space, are applied mainly on planar objects and cannot reproducedetails coming from 3D decorative elements placed onto the surface.In this work, we present
PAVEL , a method for decorating surfaceswith pa cked v olumetric el ements. Our method is inspired by hand-crafted artworks, shown in Fig. 2, that are decorated by manuallypacking elements onto objects. Each decoration is deformed to bettercover the surfaces. These decorations are often found in hand-madeceramic, metal jewelry, and Murano’s glass. Fig. 1 show examplesof surfaces decorated with PAVEL to mimic these styles.Current methods cannot reproduce these decorations. Techniquesbased on surface displacement, such as procedural methods and a r X i v : . [ c s . G R ] F e b :2 • Filippo Andrea Fanni, Fabio Pellacini, Riccardo Scateni, and Andrea Giachetti Fig. 2.
Left:
An artist creating volumetric decoration on a surface by addingplastic elements over a base surface.
Center and right:
Examples of hand-made pottery created with such a method (Courtesy of Heather Knight). digital sculpting, cannot reproduce these decorations since they donot model local surface topology changes. Element-based texturescannot be used either since they are generally defined in Euclideanspaces, while we model decorations on manifolds, and since theydo not support deformation that maintains the elements volumes,which is required to achieve realism.
PAVEL works in two stages. We first place decorations onto thesurfaces with considerable overlap between them. In our implemen-tation, we support both the manual placement of the elements thatmimics exactly the real-world process and the automatic generationof different kinds of patterns of overlapped elements. Decorationsoverlap to cover the surface as much as desired by the user. Wethen deform the decoration to remove the overlap between them.In doing so, we preserve the volume while deforming to simulatereal-world behavior. These two stages produce results that are vi-sually similar to real-world decorations, as shown throughout thepaper. In
PAVEL , we make two critical choices to make computationfeasible.First, we use point sampling to place the decorations’ centroidsinstead of using packing algorithms. In general, packing algorithmsare just heuristics since packing is NP-hard in the Euclidean domainand just as hard on the manifold. Point sampling is significantlymore efficient, by a couple of orders of magnitudes, and just asreliable in our domain. This choice favors objects having a radialsymmetry but does not entirely exclude other entities, as we showin the results.Second, to remove the overlap, we do not use a physics enginebut an implicit formulation. The use of physics engines to com-pute plastic deformations would seem appropriate, but it is, in fact,not the case. Physics engines evolve a valid physical configurationthrough time. In
PAVEL , we start with a non-physical condition inthat decorations are placed with significant overlap between them.We have verified that, in these conditions, physics engines do notconverge to the desired solutions, nor should they. Instead, we em-ploy an implicit formulation inspired by [Gascuel 1993] to removeintersections and recover the lost volume using a propagation fieldand fast marching approach.The main contributions of our work are: • an overall method for decorating surfaces with packed volu-metric elements supporting automatic and manual elementdecorations, and automatic removal of decoration overlap; tothe best of our knowledge, this is the first packing methodthat works on 2-manifold directly; to the best of our knowl-edge, the decorated surfaces could not be created with any other automatic method and would require hours of manualwork if sculpted manually [Santoni et al. 2016]; • an efficient procedure to remove intersections and recoverelements’ volume that provides a visually effective, even if notphysically exact, simulation of a plastic, volume-preservingdeformation; • a practical demonstration of a decorative shell for an existing3D object designed with PAVEL , decomposed into printableparts, manufactured and attached to the base shape.
To the best of our knowledge, there is no prior work on packing 3Delements on surfaces. Instead, there is a vast literature on packinggeometric objects, both in two- and three-dimensions. In this section,we limit our mentions to the more relevant and influential methodsto our work.
Packing.
Packing 3D shapes in an arbitrary volume is a well-studied problem, and it is known to be NP-complete. It is relevant ingraphics, engineering, operational research, and many other fields.Recent works such as [Egeblad et al. 2009; Liu et al. 2015; Romanovaet al. 2018] achieve an excellent volume coverage. Still, they areheavily limited in the orientation of objects, are significantly time-consuming, and can only deal with a limited number of items withfew facets. Overcoming these limitations, Ma and colleagues [2018]propose an algorithmic approach well suited to complex modelstypically used in graphics. Their algorithm initially scales down allthe objects to avoid intersections, then iteratively increases theirsize, optimizes rotations, and tries some object swapping to arrangelocal solutions. The algorithm can obtain good results but can takeup to an hour to finish the computation to place less than 100 objects.Our approach differs from both since we pack elements on surfacesand since we decide element sizes upfront, which makes the problemgenerally harder.The packing of 2D shapes is a relevant field of research for visu-alization and illustration purposes. Reinert and colleagues [2013]proposes an algorithm based on Centroidal Voronoi Diagram re-laxation to fill an arbitrary-shaped planar domain with multipleshapes. Saputra and colleagues [2019] also describe an algorithm topack shapes in a planar domain, with a greater focus on leaving aslittle space as possible. To achieve their results, they allow deforma-tions of the decorative shapes and adds small ones, in the end, toobtain better coverage and reduce space. For similar purposes, Kwanand colleagues [2016] propose a new shape descriptor and use it tomeasure the touching shapes’ quality. Another relevant method, byChen and colleagues [2017], packs tiles on top of a curved surfacefor fabrication and decorative purposes. They describe an attract-and-repulse algorithm in which tiles are allowed to move and rotate,but not to deform, which can take up to fifteen minutes to placemore or less 150 tiles. Two works focusing on decorations are [Luet al. 2015], and [Chen et al. 2016], which investigate the possibilityof transforming a surface carving holes following a pattern. In [Luet al. 2015] a texture guides the building of a pattern of connectedstripes taking into account the structural problems that can arisewhen fabricating the final object. In [Chen et al. 2016], the pat-tern generates filigrees using the skeletal representations of simple
AVEL: Decorative Patterns with Packed Volumetric Elements • 0:3 starting elements. The described pipeline can then place them on asurface, greedily refine their position, and slightly modify them toensure contact between close elements without overlaps. However,all these methods are inherently different from ours since they treat2D shapes rather than 3D elements. Furthermore, most of theseworks employ specific representations that cannot be generalizedto 3D.
Point sampling.
Placing decorations with circular symmetry overthe surface of an object can be interpreted as a packing problemas well as a point sampling one. Blue noise point distributions andtheir variations can undoubtedly be used to roughly pack a surfacewith circular shapes. Bridson [2007] proposes a simple and efficientalgorithm to generate a blue noise distribution. Due to its greedynature, it tends to leave significant gaps, particularly undesirablefor artistic purposes. A more uniform distribution is given by aCentroidal Voronoi Diagram, which can be computed over arbitrarysurfaces as described in [Xin et al. 2016]. Knöppel and colleagues[2015] introduce a special kind of entity distribution over a surfaceputting regular striped patterns that can adapt to the local char-acteristics of the shape, curvature included. This method is usefulguidance for scattering points on the surface of the form only ontothe stripes. We make use of the latter two methods to place seedsfor decorative elements in our pipeline.
Implicit deformable models.
Algorithms to control deformablesurfaces based on level set formulation are popular in Visual Com-puting after the seminal works by Osher, Sethian, and Malladi [1995;1988]. Using implicit formulations, it is possible to model complexinterface behaviors, including elastic and plastic deformations, butwith huge computational complexity and stability issues [Bartonet al. 2011]. A simplified approach is represented by the fast march-ing algorithm [Sethian 1996], which allows a fast estimation of theevolution of closed surfaces as a function of an underlying velocityfield assuming unidirectional front propagation along the surfacenormals. By controlling the underlying speed, it is possible to drivethe surface evolution towards the desired position. Simplified im-plicit deformable models have been used in Computer Graphics tosimulate soft bodies’ contact, and the resulting deformation [Gascuel1993] and to animate deformable shapes [Desbrun and Cani 1998].A similar approach has also been recently exploited in a generalizedframework to interactively control the blending of two shapes repre-sented by signed distance fields (SDF) on regular grids [Angles et al.2017]. We adapt the fast marching approach to creating the effectof plastic-like volume-preserving deformation of multiple objectsefficiently in our work.
Surface extraction.
The most common approach to extract a meshrepresentation from a discrete scalar field is the Marching Cubes al-gorithm [Lorensen and Cline 1987]. When the scalar field is Boolean,an additional smoothing step is often necessary. Coeurjolly and col-leagues [2018] propose an optimization-based approach to extracta smooth manifold from a voxel representation to avoid this. Thismethod works directly on the voxel field’s boundary quads, movingthe vertices to optimize fidelity, fairness, and smoothness. We do notuse this method in our reconstruction since it is unacceptably slowfor resolving our voxel grids. It produces overly smoothed results,
Sampled points Initial placement Packed decorationsFig. 3. The proposed pipeline of
PAVEL . Automatic seed placement can createinitial configuration of similar objects placed over the base shape with apartial overlap. The deformation module creates a final shape simulatingpacking of plastic, volume preserving elements, with some control on thematerial behavior. The final result can be exported as a novel shape or as acollection of printable shell elements. which removes details in small decorative elements. We instead usemarching cubes and a smoothing remesher to convert the deformeddecorations back to a surface.
Our goal is to easily create element-based relief patterns over arbi-trary surfaces. Our algorithm takes as input a base mesh, a meshfor each decorative element, and a small set of parameters, definedin the later Sections, that control the elements’ distribution anddeformations. Our method, shown in Fig. 3, works in two stages.We first generate a point distribution over the base surface suchthat the decorative elements cover the surface well. In the secondstep, elements are placed in the location previously defined, and ouralgorithm computes the elements’ deformations to eliminate theoverlaps among them.To achieve realism and mimic real-world objects, we position thedecorative elements so that they are partially overlapping and, then,transform the elements’ shapes. They are non-overlapping at the endwhile preserving their volume. This approach simulates the plasticdeformations that artisans perform on their creations. While, at firstsight, using a physical simulator seems the proper method to addressthe second step, we have found that they do not work in our case.The first concern is that simulators are very slow at our resolutionand number of collisions. More importantly, though, the simulationdoes not necessarily converge to a meaningful state since we startwith significant overlaps with a non-physical nature. Instead, wepropose a new method based on an implicit representation of theelements and the Fast Marching Method (FMM) [Sethian 1996], thatcan generate physically-plausible plastic deformations with bulgesnear the contact surfaces. We discuss this algorithm in Section 4.We propose two strategies for the automatic placement phase thatenable users to create both isotropic and anisotropic distributionswith simple control parameters. These are respectively based onthe constrained Voronoi algorithm proposed by [Xin et al. 2016]and the equidistant stripe patterns from [Knöppel et al. 2015]. Incase artists want direct control over the decoration placements,they may manually do it. Additionally, in the case of base surfaceswith high-curvature regions and decorations with dimensions inthe same order of magnitude of the base curvature radius, we allow :4 • Filippo Andrea Fanni, Fabio Pellacini, Riccardo Scateni, and Andrea Giachetti
Initial overlapped Artifacts in More artifactsconfiguration packed deformations if not stoppedFig. 4. Simple example of attempting to remove overlap with a FEM sim-ulator [SideFX 2020]. Starting from an initial condition with overlaps andforces to pin the decorations (left), the simulator attempts to resolve theoverlap but breaks the decorations’ shapes (middle), which becomes morenoticeable if we let time increase (right). Adding more objects or manuallyapplying correcting forces made the problems worst. We tested other simu-lators that exhibits artifacts that are significant, but different in nature (seetext). the user to sample an isosurface at offset 𝑜 to produce a more evendistribution. We then use these points to center the decorations onthem and produce intersections among adjacent elements. This step,and all its parameters, is discussed in Section 5.As the pipeline aims to generate object design both for renderingand manufacturing purposes, we discuss in Section 6 how to extractsmooth meshes from the voxelized elements’ sets and how to gen-erate printable shells for the decoration of real objects. A galleryof examples of decorations obtained with PAVEL is shown in Sec-tion 7 with an analysis of the system performance, while Section 8evaluates limitations and possible improvements of the approach.
In this section, we describe how to compute the final deformations.Our algorithm takes as input a set of overlapping element decora-tions placed onto an object’s surface. Our goal is to remove theoverlap by computing each decorative element’s deformation whilemaintaining its volume to simulate the plastic deformations per-formed in real-life by artists.
Comparison with Physics Engines.
To obtain the deformed ele-ments, we cannot use existing physics engines for several reasons.First, most engines cannot accept an initial condition with largeoverlaps between objects, which in our case is as high as 30% in vol-ume. Second, complex custom forces should be defined to ensure areasonable equilibrium, e.g., the forces that sculptors apply to get theprecise deformation they desire while making sure that decorationsadhere to each other. We tested multiple physics solvers, includingHoudini’s FEM and XPBD solvers [SideFX 2020], Blender’s solver[Blender 2020], and a projective dynamics solvers [Fratarcangeliet al. 2016]. In all cases, we could not successfully remove the over-lap for the reasons listed above. Figure 4 shows a failure case. Whilephysics engines’ behavior is reasonable, as we start the simulationin a non-physically-plausible configuration, we cannot rely on thesetools for our goals.PAVEL deformations.
Since we cannot use physical based simula-tors, we propose a novel method based on an implicit formulation, inspired by works on interactive visual simulation of volumetricobject contact [Gascuel 1993]. We rely on fast marching [Sethian1996] using a specifically designed parametric function for the prop-agation field that determines the deformed shape appearance andenforce volume preservation.We voxelize each decoration 𝑑 𝑖 in its own dense grid 𝑔 𝑖 thatis larger than the decoration’s dimension to ensure that thecomputed deformation will fit in the grid. Compared to the wholesurface, this is a sparse discretization that keeps memory consump-tion relatively low since we are effectively discretizing a slab aroundthe surface. While each decoration has its own representation, weensure that the voxel dimension and the grid rotation is consistentacross all voxelizations. As a consequence, we can perform Booleanoperations just by keeping into account their mutual offsets. Addi-tionally, separate voxelizations, instead of one global labeled grid,allow for simple handling of the overlaps and compatibility withthe fast marching algorithm.Given as input a set of voxelized decorations 𝐷 = { 𝑑 , 𝑑 , . . . , 𝑑 𝑛 } ,our first step is to resolve the overlaps. We do this by detecting thevoxels shared by multiple decorations and removing them from allbut the one with the shortest distance from the decorative elementcenter. Furthermore, we remove all the voxels of the decorationsshared with the base objects as well. These removals generate anew set of decorations 𝐷 ′ , where each decoration has associated ameasured volume loss 𝑣 𝑖 , equal to the sum of the voxels removed inthe previous steps. We then ensure that each element recovers itsoriginal volume by expanding it in a way that simulates a plasticdeformation. Fast marching approach.
To compute the expansion, we use afast marching approach [Sethian 1996] to grow each element in theempty regions until they recover the original volume. To simulatea plastic deformation, which typically generates bulges near thesoft bodies’ contact points, we use a non-constant velocity fieldto drive the fast marching algorithm. For each shape 𝑑 ′ 𝑖 , we findthe contact surfaces with the other shapes, and from them, webuild the respective distance fields. The distance fields are thenconverted in velocity fields 𝐹 𝑖 through a parametric formula, the volume recovery function , that can be adapted to obtain the desiredbehavior. The recovery function is a piece-wise polynomial, obtainedby connecting three second-degree polynomials and enforcing 𝐶 continuity, and defined by: 𝑓 ( 𝑎, 𝑏 ) = 𝑥 ≤ − 𝑥 𝑎 + 𝑥𝑎 𝑥 > , 𝑥 < 𝑎 − ( 𝑥 − 𝑎 ) ( 𝑏 − 𝑎 ) − 𝑥 > 𝑎, 𝑥 ≤ 𝑎 + 𝑏 ( 𝑥 − 𝑎 ) ( 𝑏 − 𝑎 ) + 𝑏 ( 𝑥 − 𝑎 ) + 𝑥 > 𝑎 + 𝑏 , 𝑥 ≤ 𝑏 𝑥 > 𝑏 In the inset, we show an example plot of the function. We keepthe velocity null in contact points to simulate the constraints relatedto the attachment of surfaces. We then have two control points 𝑎, 𝑏 used to define the distance for maximal bulging and the maximaldistance reached by the plastic wave. This allows effective controlof “material behavior” driven by the amount and locality of the
AVEL: Decorative Patterns with Packed Volumetric Elements • 0:5 deformation.The velocity fields are thenweighted proportionally to thevolume losses to simulate a fastergrowth of the elements more“squeezed” by the neighboringones and used to compute the newarrival times for each decoration.To recover the volume lost by eachdecoration, we evolve the front of each decoration with the fastmarching method. For each elements’ sub-grid 𝑔 𝑖 , a set of activefront voxels is initialized, taking those adjacent to the initial vox-elization border. In contrast, we set all voxels belonging to eitherthe initial shape, the base shape, or other elements to inactive. Eachdecoration can recover its volume only by occupying empty voxels.The algorithm then iterates over all the elements. At each step,it evaluates the arrival time for all the voxels of the active front.It selects the voxel with a minimal arrival time according to theEikonal equation’s solution estimated on the base of the velocityfield defined in the corresponding grid.The selected voxel is then assigned to the current element, andit is set as inactive for the other elements’ front propagation. Theactive front is finally updated, removing the selected voxel from itand adding to it the voxel’s free neighbors. This procedure stopswhen all the decorations have recovered their original volume. Itis theoretically possible that the algorithm could not find enoughvoxels to recover the volume when the evolution of neighboringelements occludes the front, but this is not likely to happen for alayer of small decorations over a base surface and never happenedin our experiments.The method ensures by construction that all volume is correctlymaintained while deforming the decorations. The algorithm is fastsince it greedily iterates over elements instead of estimating all thefronts’ arrival times at once. Fast marching is not easily parallelizableto speed up the computation. Still, as we simplify the decorations’distance fields as independent of each other, we can concurrentlycompute them for a significant performance gain. We use the fastmarching of [Scikit FMM 2020] and handle IO and voxelization with[Trimesh 2020]. Surface coverage control.
The method described above can sim-ulate the elements’ plastic deformation if the decorative elementsare initialized with a reasonable overlap. To understand what is a“reasonable” overlap, we performed several tests to define controlparameters for the point distribution. To control the decorations’overlap, we choose to use the surface coverage , that is, the ratiobetween the sum of the surface areas of the decorations’ footprintsand the base object area to be decorated. Fig. 5 show results of pack-ing small spheres on a base sphere with different surface coveragevalues. As we can see, a ratio of 1.2 is barely enough to cause somedeformation, while a ratio of 1.6 produces excessive and unrealisticdistortions of the elements’ shape.
Volume recovery parameters.
We also performed extensive teststo choose the parameters of the volume recovery function (Eqn. 4).Fig. 6 shows the results obtained with the same overlapping spheresbut different choices for the values of the 𝑎 and 𝑏 parameters. By coverage = . coverage = . coverage = . Fig. 5. The effect of different values for surface coverage on the final deco-ration.
Top: initial placement.
Bottom: packed elements. shifting the control parameters, it is possible to simulate differentplastic behaviors. All the results shown in the paper, but Fig. 6, areobtained with the same settings ( 𝑎 = . , 𝑏 = . ) .As it is possible to see, for example, in Fig. 7, this choice providesresults that are visually quite close to real plastic deformation. The deformation step is enough to obtain the final result if theuser places the decorations manually on the base object’s surface,as shown in Fig. 7. In this manner, the user directly controls thedecorations’ location and the surface coverage, while
PAVEL controlsthe material behavior using the deformation parameters describedabove. In the system, we supply the automatic placement methodsdescribed in the following. 𝑎 = . ,𝑏 = . 𝑎 = . ,𝑏 = . 𝑎 = . ,𝑏 = . Fig. 6. The effect of different choices for the volume recovery functionparameters on the deformation of a couple of spheres isolated from Figure 5. :6 • Filippo Andrea Fanni, Fabio Pellacini, Riccardo Scateni, and Andrea Giachetti
Initial placement Packed decorationsManually-placed decorations Packed decorations (back view)Fig. 7. Example of decoration obtained by manually placing elements andhaving
PAVEL resolve the overlap. Here each petal is a separate decorativeelement and the deformation is computed to simulate sculpting clay. Notefrom the back view, how
PAVEL can resolve the overlap in a very complexcase with many self-intersecting, non-symmetric, elements.
Automatic placement by Point Sampling.
While manual place-ment provides complete artistic control, the decoration of complexsurfaces with small decorative elements would be very time con-suming, just like in real-world crafts. To simplify creating complexdecorations, we also support the automatic placement of decorativeelements using two procedural methods.Our placement methods are based on point sampling algorithms.We support the placement of objects with approximate 2D radialsymmetry, with the symmetry axis aligned to the base surface’s localnormal. We also assume that the decorations are small comparedto the base surface’s curvature to ignore the variations in the localvolume extruded from the base surface. Both of these are reasonableassumptions found in the handcrafted models that inspired ourwork.
Sampled points Initial placement Packed decorationsDecorative element Close view (initial) Close view (packed)Fig. 8. Isotropic seeding with CVT on a vase.
Instead of a packing algorithm, our use of point sampling is moti-vated by a trade-off between speed and packing quality. It’s worthreminding that optimal packing is NP-hard in the Euclidean domainand just as hard in the intrinsic manifold metric. This means thatall published packing algorithms are approximations that trade-offelement shapes, packing quality, and computation time. In general,it is well known in both the literature and the practice that mostpacking algorithms fail or are not optimal for all but the simplestshapes. Note also that we do not allow to change the decoration size,which is the most used approximation for soft packing in graphics.For all these reasons, our point sampling approaches are just an-other heuristic within their stated constraints. If better placementheuristics are available, we could integrate them into our pipelinewith ease.
Isotropic seeding.
Our first automatic placement method producesisotropic distributions that work well for decorations with cylin-drical symmetry. The user controls the density of decorations bysetting the desired surface coverage, and the algorithm instantiatesthe correct number of seeds to guarantee the target density.To ensure a high-quality distribution, we rely on optimizationusing a method based on the Centroidal Voronoi Tessellation (CVT)and its efficient implementation described in [Yan et al. 2009] andavailable in the Geogram library [Levy 2020]. We generate thebase surface’s tessellation with the desired number of vertexes anduse them as the centers of the decorations. When converged, thisiterative approach produces a point distribution with good statisticalproperties, resulting in a high-quality decorated surface. To obtaina more “hand-made” look, we allow users to reduce the numberof iterations. Fig. 8 shows an example results obtained with thismethod that closely resembles the hand-made objects shown inFig. 2.
Offset surface.
The previous method works well if the decorativeelements are small compared to the surface curvature. If that as-sumption is not valid, the decorated surface has visible artifacts,shown in Fig. 9. The main problem is that our method generates
AVEL: Decorative Patterns with Packed Volumetric Elements • 0:7 equally spaced seeds that represent the bottom of the decorationsbut does not take into account decorations’ volume and surfacecurvature. Decorations overlap more in concave regions than con-vex ones. The volume above the surface is smaller in the formercase and can result in heavily compressed areas in concave zonesand non-contacting in convex regions. When decorations are smallcompared to the surface curvature, this effect is negligible. But itbecomes more noticeable as the decorations’ size increases.For this reason, we also provide a method that considers thevolume of the elements when point sampling their locations. Thebasic idea is to extract an isosurface at a signed distance 𝑑 from thebase mesh, perform the sampling on it, and then map back the seedpoints on the original base surface, projecting them along the localnormal direction.An appropriate choice of 𝑑 is the height of the element’s z-sectionwith the maximal area. In this way, we can handle large decorationsizes even on surfaces with varying curvature. We show a clearexample of this in Fig. 9. Here the bunny features gulfs and bulges.They are handled without problems by sampling the offset surface.Conversely, sampling on the surface reveals significant artifacts.Since decorations are small in general, and the modified samplinghas a non-negligible computational cost (see Section 7), we leavethe choice of whether to use the offset surface to the user. Stripe-based, anisotropic seeding.
To support the automatic gener-ation of anisotropic element patterns, we also provide a stripe-basedsampling approach. This method can create gridded patterns of
On-surface samplingOffset surface samplingOn-surface sampling Offset surface samplingFig. 9. Comparison between sampling on the surface (top) or on an iso-surface at distance 𝑑 (middle). Using the isosurface allows for more evenpacking and deformations. Sampled points Initial placement Packed decorationsDecorative element Close view (initial) Close view (packed)Fig. 10. Non-isotropic elements’ sampling on non perpendicular stripes’directions. decorations with approximate cylindrical symmetry and even withelongated shapes.Our method is based on [Knöppel et al. 2015] that allows us togenerate patterns of evenly spaced stripes over a generic base sur-face. The method is based on a simple optimization problem andapproximately maintains a user-specified orientation and spacing ofthe lines by automatically inserting branch points where necessary.Furthermore, the generated patterns are globally continuous, whichavoids visible seams after the applications of our decorative ele-ments, and with frequencies not depending on the mesh resolution.We exploit the stripe-based method by generating two crossingstripe patterns with a user-defined crossing angle and samplingseed points at the line crossings. In this manner, we obtain lineswith points sampled at constant distances and with a controlledoffset among the decorative elements of two adjacent stripes. Fig. 10shows an example with crossing stripes creating an angle of 60degrees and elements placed with a constant orientation concerningthe main stripe.Since we can independently set the sample spacing on the mainstripes and the distance between adjacent stripes, we are no longerforced to pack objects with approximate radial symmetry, but wecan insert elements with arbitrary elongation. Furthermore, sincethe stripes encode a local directional field, we can use non-isotropicdecorative elements oriented in a controlled way with respect tothe stripes’ directions. Fig. 11 shows an example with perpendicu-lar stripes-based sampling and non-isotropic elements with maindirections aligned with the stripes fields.In our stripe-based algorithm, we create the sampling points andestimate and store the point connectivity of the sample along withthe two stripe directions. In this way, we can develop decorationsalternating different elements and elements’ orientations, as shownin Fig. 12. Elements’ perturbation.
Aside from placement, we can easily inte-grate controls for decorations’ rotations and filling different areaswith different decorations. The rotation for each element can be :8 • Filippo Andrea Fanni, Fabio Pellacini, Riccardo Scateni, and Andrea Giachetti
Sampled points Initial placement Packed decorationsDecorative element Close view (initial) Close view (packed)Fig. 11. Using the stripe-based sampling, we can pack on a generic shapelike the teapot non-isotropic decorations aligned with a directional field. set randomly or aligned to a field defined over the object surface,giving the possibility to create different artistic effects that workparticularly well when placing elongated objects over a griddedseed distribution. Figure 12 shows an example of an artistic patternobtained with alternate rotations of 180 degrees of the elementsalong the principal stripe field direction.The average elements’ size is chosen to guarantee the desireddecorative effect, and the number of elements can be tuned to guar-antee the desired amount of initial overlap. However, we leave thepossibility of applying a further random perturbation to the size ofeach decoration to increase the number of design options. We allowvariations up to ± , as larger ones would lead to inconsistentoverlaps and too many empty spaces.Lastly, it is possible to load more than one decoration and ran-domly select one of those for each seed. We can exploit this to Sampled points Initial placement Packed decorationsDecorative element Close view (initial) Close view (packed)Fig. 12. Example of alternate elements’ orientation along the main fielddirection. Sampled points Initial placement Packed decorationsDecorative elements Close view (initial) Close view (packed)Fig. 13. Using multiple elements’ shapes and random orientations it ispossible to create a variety of artistic designs. increase the final results’ variety loading a multitude of slightlydifferent decorations (e.g., stones of various types, flowers, etc.).Fig. 13 shows an example of decoration mimicking the one inFig. 2 obtained by using three different elements shapes and randomrotations with respect to the main field direction.
The last step we need to perform is to convert the process resultsinto high-quality meshes for visualization or printable shells todecorate real-world objects.
High-quality meshes.
To generate a 3D mesh of the whole object,we first independently create meshes for each deformed decorativeelement using the Marching Cubes algorithm [Lorensen and Cline1987]. Then, we merge the elements and the base object into a singlemodel and remesh the result using the Central Voronoi Tessellationapproach [Yan et al. 2009], which provides feature-preserving resultsand is robust and efficient for large meshes.
Design FabricationPartitionReal objectScan DecompositionTangibleresult
Fig. 14. Design and fabrication of tangible decorative shell for a real object.The whole production pipeline is depicted from the real object to decorateto the final tangible result obtained applying the fabricated decomposedshell over the surface.
AVEL: Decorative Patterns with Packed Volumetric Elements • 0:9
Printable shells.
It is possible to use our pipeline also to createdecorative shells for real-world objects. To decorate an object, wefirst scan it to obtain an accurate digital model and then create a
PAVEL decoration for it. This produces a mesh representing all thedecorative elements fused together. We then decompose this finalmesh into printable parts and wrap it around the original object.Fig. 14 shows the whole process of decorating an object.For objects with a simple topology, the decomposition works asfollows. First, we segment the base object. Any mesh partitioningcan be used for this purpose. In the example shown, we cut theobject with two mutually perpendicular planes passing through themodel’s symmetry axis. Given the base segmentation, we clusterthe deformed elements placed on each patch and remesh them intosingle shell elements to be 3D separately printed. One can use amore appropriate decomposition for more complex base objectswhile the rest of the pipeline remains the same.In the inset, we show the final resultobtained by gluing the parts of the tangi-ble shell created from the design in Fig. 14over the base object. In this case, the ob-ject was a simple paper cup covered withmodeling clay. We scanned it with a low-cost device (Intel Realsense F200) and au-tomatically decorated with an isotropicdistribution of elements with differentshapes and randomized size and orientation. We finally printed theshell elements with a Stratasys J826 3D printer.
Reproducing real-world decorations.
Using
PAVEL , we can create avariety of decorations that mimic real-world artworks. Fig. 15 showsside-by-side views of original artworks, courtesy of Heather Knight,and objects generated with our pipeline and rendered with clay-likematerial properties.
PAVEL decorations are not limited to the replicas of clay piecesbut can be used to generate various artworks of different kinds.Figs. 16 and 17 shows a few examples, demonstrating potential usesin jewelry and pottery, exploiting manual elements positioning andautomatic pattern creation.
Performance.
To understand if PAVEL could be a useful designtool, it is necessary to evaluate the time required by the differentsteps and the global effort required to create the decorated models.We obtain all our results on a 12-core Ryzen 3900x with 32GB ofRAM. Tab. 1 shows the time required by the automatic seedingprocedure. All the times for the non-curvature adaptive methodsranges between 0.6 and 1.5s, with minimal differences between CVTand striped seeding. The most computationally expensive samplingstrategy is, as expected, the curvature-dependent one. Our test took54s to extract the isosurface but only 2.5s to sample it. This speedallows a reasonably fast interactive design procedure. The digitalartist can quickly test different object choices and seeding optionsvisualizing the seeded configurations superimposed on the basemodel.Tab. 2 shows the times required by the volume recovery and meshgeneration. While the whole procedure is clearly not interactive, the
Real-world objects
PAVEL replicaFig. 15. Comparison of element-based clay handcrafts created by an artist(left column) and the corresponding rendered models created by
PAVEL using automatic seeds placement (right column). time required is reasonable for an offline rendering procedure. It isnot critically variable varying the surface coverage and the elements’volumes overlap within the parameters ranges discussed in Section 4.The time required by the volume recovery step is directly dependenton both the number of decorations and their resolution. The timesrange from 20 to 360 seconds, with the faster times achieved by themodels with around 50 decorative elements. Still, the method scalesrelatively well, handling nearly 2,000 decorations in just under 6minutes. Another critical factor in performances is the resolution,which is also crucial to maintaining the decoration’s details. Ourresults show how the method can handle millions of voxels to repre-sent the decorations, even in intersections up to 33% of the volume.Lastly, another time-consuming step is CVT smoothing. While itranges from 10 to 200 seconds to remesh our test models, it’s worthnoticing that the marching cubes meshes’ resolution reaches up to40 million triangles, and we output smooth meshes with up to 4million triangles. :10 • Filippo Andrea Fanni, Fabio Pellacini, Riccardo Scateni, and Andrea Giachetti
Fig. 16. Some jewels designed with
PAVEL . On top: a decoration made ofseven pink gold roses with a pearl in the middle; we use two different metalpolishing for the final rendering. On the bottom part, there are three rings.We show details of the decorations and, for one of the rose decorations andthe golden ring, also the packing of the decorations on the back, over thesurface, visible removing the base shape.Fig. 17. Two vases designed with
PAVEL . For the jade one we show also theback of one the parts that could be used for fabrication.
Model Number of Surface Timedecorations coverageAmphora, Fig. 10 358 1.42 0.59sSphere, Fig. 1 left 400 1.43 0.69sVase, Fig. 12 953 1.27 0.91sMug, Fig. 13 410 1.42 0.68sBunny (adaptive), Fig. 9 middle 1720 1.23 2.68sTeapot, Fig. 11 642 1.26 1.82sVase, Fig. 8 450 1.49 0.70sGlass, Fig. 14 500 1.33 0.74sVase, Fig. 15 top 182 1.48 1.43sTile, Fig. 15 bottom 65 1.32 1.30sTile, Fig. 15 middle 48 1.49 0.80sRing, Fig. 1 middle 529 1.30 1.00sVase, Fig. 17 right 604 1.38 0.79sVase, Fig. 17 left 555 1.44 0.77s
Table 1. Sampling parameters for the results obtained via automatic deco-ration placement. The reported time for the bunny is not inclusive of theisosurface generation that is 54.20s.
To the best of our knowledge,
PAVEL is the first attempt to propose amethod to create packed volumetric decorations on 3D models. It isimpossible to generate these decorations with either sculpting or tex-ture mapping, and we work directly on positioning and deformingvolumetric elements. Throughout the paper, we demonstrate that wecan visually simulate real-world hand-crafted objects. We do so byplacing decorative elements with point-sampled uniform or stripe-align distributions and packing elements with a volume-preservingdeformation. The decorated models can be used for virtual applica-tions of 3D printed for tangible reproductions.
Limitations.
Our method has two significant limitations. First, dec-orations’ automatic placement is limited to approximately isotropicelements or elongated shapes placed on stripes. As stated in Section1, this is a willing design choice to simplify the packing procedureleaving to the deformation step to fill the gaps between elements.However, we plan to improve the initial packing step with noveloptions, adding a greedy refinement of elements’ position and ori-entation after the initial placement to enhance the quality of thepacking of non-radially symmetric elements.The second limitation is our use of fast marching that limits thecomplexity of the deformed objects’ details since the number ofvoxels quickly grows w.r.t. surface details. In the future, we plan toexplore sparse representations based on spatial hashing and wide-branching trees that are of common use in 3D animation.
Future work.
In addition to the improvements listed above, weplan to improve the pipeline by adding more options to control thedesign, namely the possibility of performing automatic seeding forspecific decorations on different parts of the mesh.Another planned work is the optimization of the shell decompo-sition for printing. We plan to develop methods for the automaticdecomposition of the
PAVEL decoration in patches of controlledsize and printer-friendly. We will also investigate the possibility ofadding printability constraints in the fast marching evolution.
AVEL: Decorative Patterns with Packed Volumetric Elements • 0:11
Model Deformation Marching cubes Decorations Overlapping Base Marching Cubes Finaltime and Smoothing voxels voxels voxels triangles trianglesAmphora, Fig. 10 112.5s 58.6s 31.68M 30.2% 64.71M 12340K 716KSphere, Fig. 1 left 163.2s 124.3s 49.41M 12.8% 41.39M 17862K 2484KVase, Fig. 12 208.6s 135.4s 68.29M 16.7% 418.13M 25564K 1985KMug, Fig. 13 121.7s 59.8s 43.23M 17.0% 200.23M 14305K 850KBunny (adaptive), Fig. 9 middle 357.8s 138.6s 96.24M 13.7% 204.00M 38487K 1745KTeapot, Fig. 11 202.4s 101.6s 54.27M 32.3% 414.82M 22296K 1386KVase, Fig. 8 198.1s 158.7s 67.72M 18.4% 94.80M 22616K 2878KGlass, Fig. 14 316.5s 101.2s 127.36M 14.0% 395.85M 31279K 1028KVase, Fig. 15 top 68.6s 41.8s 25.87M 17.4% 7.08M 7960K 788KTile, Fig. 15 bottom 23.7s 13.7s 5.27M 11.8% 11.14M 2331K 260KTile, Fig. 15 middle 68.2s 19.0s 5.71M 13.5% 6.68M 2156K 295KMask, Fig. 1 right 322.1s 74.7s 32.26M 16.6% 13.64M 8518K 472KRoses, Fig. 16 top 68.2s 19.0s 5.61M 24.6% 1.64M 3405K 325KRing, Fig. 16 middle 50.7s 19.4s 10.70M 21.1% 10.35M 4675K 287KRing, Fig. 1 middle 158.0s 83.3s 48.89M 21.8% 61.40M 17877K 1095KVase, Fig. 17 right 200.6s 98.2s 72.94M 16.9% 79.91M 23445K 1249KVase, Fig. 17 left 287.5s 204.2s 64.90M 17.1% 61.49M 23437K 3755K
Table 2. We report the execution times (in seconds) for the two most expensive pipeline steps, deformation and output generation, for the set of models wediscuss. For each model, we list the number of voxels of the base shape and the decorations (in millions), the number of overlapping voxels in the decorations,for which our system solves and deform, the number of triangles of the marching cubes’ extracted mesh (in thousands), and the size of the final mesh of thedecorations alone (in thousand triangles, excluding the base).
We also plan to better exploit the elements’ deformation’s par-allelizability to obtain a faster implementation. We believe that itshould be possible to parallelize both the computation of the ele-ments deformations and the merging of the final result and obtainsignificant speed up in the case of large numbers of small decora-tions.
REFERENCES
Baptiste Angles, Marco Tarini, Brian Wyvill, Loïc Barthe, and Andrea Tagliasacchi.2017. Sketch-Based Implicit Blending.
ACM Transactions on Graphics
36, 6, Article181 (2017).Philip T Barton, B Obadia, and Dimitris Drikakis. 2011. A conservative level-set basedmethod for compressible solid/fluid problems on fixed grids.
J. Comput. Phys.
Blender .Robert Bridson. 2007. Fast Poisson Disk Sampling in Arbitrary Dimensions. In
ACMSIGGRAPH 2007 Sketches .Weikai Chen, Yuexin Ma, Sylvain Lefebvre, Shiqing Xin, Jonàs Martínez, and WenpingWang. 2017. Fabricable Tile Decors.
ACM Transactions on Graphics
36, 6 (2017).Weikai Chen, Xiaolong Xia, Shiqing Xin, Yang XIA, Sylvain Lefebvre, and WenpingWang. 2016. Synthesis of Filigrees for Digital Fabrication.
ACM Transactions onGraphics
35, 4 (2016).David Coeurjolly, Pierre Gueth, and Jacques-Olivier Lachaud. 2018. Regularization ofVoxel Art. In
ACM SIGGRAPH Talk . 44:1–44:2.Mathieu Desbrun and Marie-Paule Cani. 1998. Active implicit surface for animation. In
Graphics Interface . 143–150.Jens Egeblad, Benny K. Nielsen, and Marcus Brazil. 2009. Translational packing ofarbitrary polytopes.
Computational Geometry
42, 4 (2009), 269–288.Marco Fratarcangeli, Valentina Tibaldo, and Fabio Pellacini. 2016. Vivace: A PracticalGauss-Seidel Method for Stable Soft Body Dynamics.
ACM Transactions on Graphics
35, 6, Article 214 (2016).Marie-Paule Gascuel. 1993. An Implicit Formulation for Precise Contact Modelingbetween Flexible Solids. In
Proc. of ACM SIGGRAPH . 313–320.Felix Knöppel, Keenan Crane, Ulrich Pinkall, and Peter Schröder. 2015. Stripe Patternson Surfaces.
ACM Transactions on Graphics
34 (2015). Issue 4.Kin Chung Kwan, Lok Tsun Sinn, Chu Han, Tien-Tsin Wong, and Chi-Wing Fu. 2016.Pyramid of Arclength Descriptor for Generating Collage of Shapes.
ACM Transac-tions on Graphics
35, 6 (2016).Bruno Levy. 2020.
Geogram .Xiao Liu, Jia-min Liu, An-xi Cao, and Zhuang-le Yao. 2015. HAPE3D—a new constructivealgorithm for the 3D irregular packing problem.
Frontiers of Information Technology & Electronic Engineering
16, 5 (2015), 380–390.William E. Lorensen and Harvey E. Cline. 1987. Marching Cubes: A High Resolution3D Surface Construction Algorithm (SIGGRAPH ’87) . Association for ComputingMachinery, New York, NY, USA, 163—-169.An Lu, Sylvain Lefebvre, Jérémie Dumas, Jun Wu, and Christian Dick. 2015. By-examplesynthesis of structurally sound patterns.
ACM Transactions on Graphics (2015).Y. Ma, Z. Chen, W. Hu, and W. Wang. 2018. Packing Irregular Objects in 3D Space viaHybrid Optimization.
Computer Graphics Forum
37, 5 (2018), 49–59.Ravi Malladi, James A Sethian, and Baba C Vemuri. 1995. Shape modeling with frontpropagation: A level set approach.
IEEE transactions on pattern analysis and machineintelligence
17, 2 (1995), 158–175.Stanley Osher and James A Sethian. 1988. Fronts propagating with curvature-dependentspeed: Algorithms based on Hamilton-Jacobi formulations.
Journal of computationalphysics
79, 1 (1988).Bernhard Reinert, Tobias Ritschel, and Hans-Peter Seidel. 2013. Interactive By-exampleDesign of Artistic Packing Layouts.
ACM Transactions on Graphics
31, 6 (2013).T. Romanova, J. Bennell, Y. Stoyan, and A. Pankratov. 2018. Packing of concave polyhe-dra with continuous rotations using nonlinear optimisation.
European Journal ofOperational Research
IEEE Transactions on Visualization and ComputerGraphics (2019).Team Scikit FMM. 2020.
Scikit FMM .James A Sethian. 1996. A fast marching level set method for monotonically advancingfronts.
Proc. of National Academy of Sciences
93, 4 (1996), 1591–1595.Software SideFX. 2020.
Houdini .Authors Trimesh. 2020.
Trimesh .Shi-Qing Xin, Bruno Lévy, Zhonggui Chen, Lei Chu, Yaohui Yu, Changhe Tu, andWenping Wang. 2016. Centroidal Power Diagrams with Capacity Constraints:Computation, Applications, and Extension.
ACM Transactions on Graphics
35, 6,Article 244 (2016).Dong-Ming Yan, Bruno Lévy, Yang Liu, Feng Sun, and Wenping Wang. 2009. IsotropicRemeshing with Fast and Exact Computation of Restricted Voronoi Diagram.
Com-puter Graphics Forum
28, 5 (2009), 1445–1454.Yu-Wei Zhang, Jing Wu, Zhongping Ji, Mingqiang Wei, and Caiming Zhang. 2019.Computer-assisted relief modelling: A comprehensive survey. In