SEARCH

SEARCH BY CITATION

Keywords:

  • aggregate;
  • example-based;
  • natural appearance;
  • pile;
  • I.3.5[Computer Graphics]: Computational Geometry and Object Modelling Geometric algorithms;
  • languages and systems

Abstract

  1. Top of page
  2. Abstract
  3. 1. Introduction
  4. 2. Related Work
  5. 3. Overview of Aggregate Modelling
  6. 4. Aggregate Modelling Procedure
  7. 5. Results
  8. 6. Evaluation
  9. 7. Limitation and Future Work
  10. References
  11. Supporting Information

This paper presents a procedure for modelling aggregates such as piles that consist of arbitrary components. The method generates an aggregate of components that need to be accumulated, and an aggregate shape represents the surface of the target aggregate. The number of components and their positions and orientations are controlled by five parameters. The components, the aggregate shape and the parameters are the inputs for the method which involves placement and refinement steps. In the placement step, the orientation and initial position of a component are determined by a non-periodic placement such that each component overlaps its neighbours. In the refinement step, to construct a pile structure, the position of each component is adjusted by reducing the overlap.

1. Introduction

  1. Top of page
  2. Abstract
  3. 1. Introduction
  4. 2. Related Work
  5. 3. Overview of Aggregate Modelling
  6. 4. Aggregate Modelling Procedure
  7. 5. Results
  8. 6. Evaluation
  9. 7. Limitation and Future Work
  10. References
  11. Supporting Information

Representation of surface details enhances the quality of computer-generated imagery. Numerous methods have been proposed for generating surfaces, such as noise-based texturing functions, texture generation and displacement mapping [EMP*02]. However, it is difficult to generate aggregates such as heaps of steamed rice and fruit by these methods. For assisting content creation, we propose a procedural modelling method that generates aggregates and free shapes that consist of arbitrary components, as shown in Figure 1. To achieve a natural appearance, the components are placed non-periodically in the generated aggregate.

image

Figure 1. Generated aggregates.

Download figure to PowerPoint

Ma et al. proposed a method for synthesizing repetitive components from the input of small exemplars and large output domains [MWT11]. The method preserves the properties of the individual components and their relative distances. However, as input, this method needs an aggregate yielded by a physical simulation or tedious time-consuming manual modelling. Adjusting parameters in the physical simulation is not intuitive to obtaining the desired piled aggregate. In contrast, our approach does not require the construction of exemplars to generate aggregates.

An aggregate comprises a large number of arbitrary components that include invisible components (inner components). To reduce the data volume of components, we assume that it is sufficient to generate an aggregate only around the surface of the target shape, and our method arranges components only in a specified range.

However, inner components are sometimes required to generate an aggregate, for example, a solid texture that represents inner components, such as a basket of fruits. By using conical meshes that have planar faces and possess offset meshes [PLW*07, LPW*06], our method can generate an aggregate that includes inner components.

2. Related Work

  1. Top of page
  2. Abstract
  3. 1. Introduction
  4. 2. Related Work
  5. 3. Overview of Aggregate Modelling
  6. 4. Aggregate Modelling Procedure
  7. 5. Results
  8. 6. Evaluation
  9. 7. Limitation and Future Work
  10. References
  11. Supporting Information

Several methods are currently used for generating aggregates, and they are basically divided into three categories: physical simulation, texture synthesis and procedural modelling.

Using physical simulation, some methods are capable of generating aggregates that consist of a large number of objects [MSJT08, LHLK10]. In addition, various methods have been proposed for easily generating the desired piles by using a guide that specifies the shape of an aggregate [HK12, HK10, Cho07]. However, these methods might generate periodic arrangements by using components of isotropic and near-isotropic shapes. In addition, each component is unstable in the simulation, and it is difficult to determine the termination of the simulation. Although the simulation is appropriate in representing dynamics, it is inappropriate in determining the layout of non-periodic aggregates.

Texture synthesis uses small patch exemplars that designers create and edit, and generates large-scale aggregates. The results depend on the exemplar that is used. Ma et al. generated 3D aggregates with pile structures using a texture synthesis method [MWT11]. The texture synthesis method considers distributions and boundaries of components in 2D and 3D exemplars. Until then, texture synthesis methods had mainly focused on 2D textures [EL99, EF01, WY04]. All texture synthesis methods effectively generate large textures; however, it is difficult to edit the position and orientation of 3D components in the exemplars. In contrast, our method does not require the input of an exemplar and generates aggregates from components.

Procedural modelling includes two approaches: First, generating geometry and colour only from parameters, and second, constructing the geometry and generating colour from user-specified components.

The former approach involves noise-based texturing functions and generation methods for specific textures [EMP*02]. Noise-based texturing functions are widely used to represent natural aggregates that have diverse component shapes such as clouds and rocks [Per85, Wor96, BSMM11]. In addition, specific components are easily controlled by parameters, such as controlling erosion of stones [PGMG09], jagged cracks [IO06] and thread patterns [AMT03]. However, by simply looking at the parameters, it is difficult for a user to determine what kind of an aggregate will be generated. The previous method [PGMG09], whose goal was to generate non-periodic piles, is the similar to ours; it generates stone aggregates from a Voronoi diagram. Our method piles up arbitrary components, whereas the previous method does not.

In the latter approach, mosaic generation methods [KP02, GSP*07, XK07, SLK05, DKLS06], the object-distribution methods [LD05, LD06] and tiling methods [KS00, KS04] generate an intended texture by controlling layouts of user-specified components. The object distribution methods, which are especially similar in approach to our method, place components without overlapping by specifying the parameters for Poisson-disk and Poisson-sphere distribution. Our method is more suitable to emphasis components on the surface, which is not possible with the object distribution methods. These procedural modelling methods of user-specified components cannot construct a non-periodic aggregate including a pile structure.

3. Overview of Aggregate Modelling

  1. Top of page
  2. Abstract
  3. 1. Introduction
  4. 2. Related Work
  5. 3. Overview of Aggregate Modelling
  6. 4. Aggregate Modelling Procedure
  7. 5. Results
  8. 6. Evaluation
  9. 7. Limitation and Future Work
  10. References
  11. Supporting Information

This section is an overview of proposed procedure. The details are described in Section 'Aggregate Modelling Procedure'.

Two types of input data are first prepared: components and aggregate shapes, as shown in Figures 2(a) and (b), respectively. Our method generates aggregates containing pile structures from the inputs.

image

Figure 2. Input examples.

Download figure to PowerPoint

Here, a pile structure is defined as a state in which objects are placed one upon another. To construct an aggregate, it is necessary to determine the number of components, their orientation and each component's position; however, it is impossible to determine them simultaneously. Several methods are able to construct aggregates [KP02, XK07] with two steps: (1) placement step determines the number of components and their orientations and (2) refinement step determines the distribution of the results. Our method uses the same approach to generate an aggregate containing the pile structure, which places the components onto the aggregate shape. The refinement step in our method translates the components that maintain their boundaries by minimizing cost functions, as described in Section 'Minimization'.

Figures 3 and 4 show a result from each step and an overview of our method, respectively. The placement step consists of two processes as follows.

  1. Distributing the components on the aggregate shapes using a dart throwing method such that all components overlap their neighbours (Figure 4a).
  2. Assigning the orientation of each component randomly in a specified range (Figure 4b).
image

Figure 3. Result of each step.

Download figure to PowerPoint

image

Figure 4. Overview of our method. The ellipses and dashed red lines indicate components and parts of the aggregate shape, respectively. The green circles in (a) are spheres for a dart throwing method. In (c)–(e), the yellow and blue components are the target component and components with determined positions, respectively.

Download figure to PowerPoint

Iteration processes are not used to determine the orientations of the components to reduce the computational cost.

Next, the refinement step sets the position of each component. This step reduces each component's overlap by translation along the normal of the aggregate shape to construct a pile structure as follows.

  1. Choosing a target component from all the components in random order.
  2. Checking overlaps of the target component with the nearest determined component (Figure 4c).
  3. If overlaps occur, translating the target component along the normal of the aggregate shape (Figure 4d).
  4. If the quantity of the overlap retains greater than a specified threshold, removing this component.

In Figure 4(d), the components can be prevented from leaving the open box because the distances of translations are restricted. Section 'Quantification of overlap' describes this restriction in detail. After these steps, the pile structure will be obtained by reducing the overlaps among the components (Figure 4e). Figure 3(b) shows a result of this step. Our method does not consider any physical simulations, because it is difficult to create an intended aggregate solely by specifying the physical parameters. This method focuses on generating various aggregate models.

4. Aggregate Modelling Procedure

  1. Top of page
  2. Abstract
  3. 1. Introduction
  4. 2. Related Work
  5. 3. Overview of Aggregate Modelling
  6. 4. Aggregate Modelling Procedure
  7. 5. Results
  8. 6. Evaluation
  9. 7. Limitation and Future Work
  10. References
  11. Supporting Information

Our method specifies the aggregate shapes and components using a 3D polygon mesh. Here, components are defined by closed meshes to quantify the overlapping domains among components.

4.1. Placement

This placement step has three requirements (R1), (R2) and (R3). A random arrangement may produce sparse regions of placed components on a surface, and holes appear in that sparse region. In R1, a uniform arrangement of a component is required to avoid the holes. In R2, the generated aggregates are constructed with non-periodic arrangements to avoid an artificial appearance. The procedure uses a dart-throwing method to distribute a uniform, non-periodic point set in the specified regions [Coo86] to satisfy these two requirements. Here, 3D components are arranged such that each component is located at a distributed point. To form a 3D shape, the dart-throwing method is used, in which the Euclidean distance is used as the measure of the distance between the points. In R3, to obtain a pile structure in the refinement step, it is necessary to place components such that they overlap their neighbours. Here, exploit the distribution property of the dart-throwing method in which the distance between a point and its neighbours depends on the user-specified distance r, which is known as the distribution radius.

4.1.1. Distribution radius

At least one point should be located within the range of the distance between each point inline image [DH06]. This indicates that all distances between a point and its neighbours should be less than 4r. Figure 5, in which two spheres with radii of 2r are in contact, shows the maximum distance between two points in the dart-throwing method. When the distance is less than 4r, these spheres overlap.

image

Figure 5. Two spheres in contact.

Download figure to PowerPoint

Our method uses the largest inner sphere to guarantee that sufficient overlaps of components are generated and not to approximate a shape. The distribution radius, r, is defined as half of the radius of the largest inner sphere of each type of component. A medial axis is used to construct the largest inner sphere. The medial axis consists of the centres of the medial balls, which are maximally empty balls of the closed surfaces [ACK01]. Our method chose the largest inner sphere from a set of maximally empty balls.

This method can control the density of a component by applying the parameter inline image, which can change the distribution radius using the formula inline image. The components are found to be tightly or loosely packed by using the condition inline image <1 or inline image >1, respectively.

4.1.2. Implementation of dart-throwing method

Our method used a parallel dart-throwing method [XXSH11] accelerated by a graphics processing unit. This dart-throwing method selects points on a surface with geodesic distances; in contrast, the implementation of our method uses the Euclidean distance to place the 3D points. The number of points distributed on the surface by using the geodesic distance is higher than that using the Euclidean distance, especially on a highly curved surface. To avoid the generation of excessive points, the method uses the Euclidean distance in the parallel dart-throwing method.

4.1.3. Orientation

The orientation of a component is determined by rotation. The rotation centre of a component is defined as the centre of the largest inner sphere of the component to maintain the overlapping of components, as described in Section 'Distribution radius'. To determine the orientation of each component, the local inline image-coordinate system is used, the v-axis of which is oriented along the surface normal. To produce different orientations, such as randomly or neatly directed orientations, the direction of a component is perturbed from the surface normal within a specified angle range in the local coordinate system. Each component is randomly rotated within user-specified ranges in the local coordinate system. Parameters inline image, inline image and inline image denote the range of rotation angles around the u-, v- and w-axes, respectively. For example, components are arranged along the surface normal by fixing a vertical rotation axis.

4.1.4. Placement of multiple types of components

To construct aggregates with multiple types of components, aggregates for each type of component are generated in the placement step and then merged to form an aggregate. This step discretely chooses each component to merge components, as shown in Figure 6. Figures 6(a) and (b) show the results of discretely selecting large and small components, respectively. The small component is removed, as shown in Figure 6(b), if the centre of the small component is included within the distribution radius of a large component. The small components are placed in the gaps among the large components, which are generated by loosely distributing the components, as shown in Figure 6(a). The loosely packed aggregation in Figure 6(a) is produced by setting a suitable value for the parameter inline image. Figure 6(c) shows the result of aggregating compound components of different sizes.

image

Figure 6. Placement of multiple types of components. Chestnuts and rice in a rice-ball shape.

Download figure to PowerPoint

4.2. Refinement

At this point, components whose orientations were already determined are placed on an aggregate shape surface, and all the components overlap their neighbours. In the refinement step, each component is translated along the surface normal, inline image, at a point inline image of Poisson disk distribution, to construct a pile structure so that the number of overlapping components is reduced.

Wei's experiment in Poisson disk distribution [Wei08] indicates that sampling of a scan line order produces similarly biased artefacts to the scan line, and sampling of random order tends towards a non-periodic arrangement. Therefore, the refinement process is separately applied to each component in a random order to maintain a non-periodic arrangement.

4.2.1. Quantification of overlap

To reduce the overlap, this method determines the minimum distance, t, of the translation along the normal within the range inline image, which is obtained by minimizing a cost function inline image and is given by Equation (1). The refinement range is described in Ssection 'Minimization'.

  • display math(1)

where inline image is the set of all vertices inline image of a component and inline image is an implicit function obtained by Equation (2). The first term of the cost function calculates the maximum value of the overlaps, and the penalty value, inline image, is added to avoid overlaps.

The method quantifies the overlaps of the components by implicit modelling [BW97]. Implicit modelling is an effective method for calculating the depth of a 3D model. It represents the inside of a model by using the medial axis with sphere functions [ACK01]. The method computes the implicit functions using the obtained medial axis. The implicit function inline image is given by Equation (2). It returns a positive value when inline image lies inside the model.

  • display math(2)

where T is an offset value and inline image is a set of inline image that indicates a function of a sphere whose centre and radius are inline image and inline image, respectively.

Figure 7 shows colour mapping based on the function values. The colours blue, green and red indicate low, middle and high values, respectively. In this case, a deeper position from the surface has a higher value.

image

Figure 7. Coloured function value.

Download figure to PowerPoint

4.2.2. Minimization

The function inline image in Equation (1) is minimized by a golden section search method [PFTV88]. The position of each component is determined depending on t so that overlaps are reduced. Empirically, 15 iterations are required to obtain a certain tolerance for a golden section search. Appendix A in the Supporting Information shows the examination using different iterations. The position of the component will be added to the relative position inline image. The refinement range is specified by the coefficient, inline image. The range does not intersect the surfaces of an aggregate shape to maintain the aggregate shape. The golden section search method calculates the distance travelled by implicit functions in returning the minimal value within the range inline image. Our experiment produces sufficient appearances of aggregates by a minimization method. inline image should be set to a value so that three to five components will be accumulated for constructing the pile structure. An appropriate value is almost found on inline image to inline image, where d indicates the component's diagonal.

4.2.3. Removal of components

After the refinement process, a component may collide with other components on a surface with a high curvature even though the value of the cost function given by Equation (1) is low. To avoid this, the method removes the component to maintain space if the condition given by Equation (3) is satisfied.

  • display math(3)

where D is a threshold parameter given by the user. When D is set to zero, each component touches others on an isosurface, which is specified by an offset value, T.

4.2.4. Multiple types of components

A refinement range is specified for each type of component by changing the value, inline image. Figure 8 shows a comparison of the results with and without specifying the strict refinement ranges. Figure 8(a) shows the result when the value of inline image for larger components is small. Large components are dominant among the number of overlaps and are embedded in the generated aggregate by specifying a strict range for inline image. In contrast, large components stick out when a strict range is not specified, as shown in Figure 8(b).

image

Figure 8. Refinement of multiple types of components.

Download figure to PowerPoint

5. Results

  1. Top of page
  2. Abstract
  3. 1. Introduction
  4. 2. Related Work
  5. 3. Overview of Aggregate Modelling
  6. 4. Aggregate Modelling Procedure
  7. 5. Results
  8. 6. Evaluation
  9. 7. Limitation and Future Work
  10. References
  11. Supporting Information

This section discusses the results of our method, which was implemented on a personal computer running Windows 7, Intel Core i7 950(3.07 GHz) CPU, NVIDIA GeForce GTX 570, and 12.0 GB RAM using C++ with CGAL and OpenCL.

Figure 9 compares our method with that in a previous study [MWT11]. Our method generates an image only from one component model and one aggregate shape. In contrast, the previous method needs an exemplar. Our method can also control the orientation of components by using rotation parameters. The calculation times are approximately 3–5 min for obtaining the results during the comparison of the generated aggregates, as shown in Figures 9(a), (c) and (e) respectively.

image

Figure 9. Comparison of generated aggregates.

Download figure to PowerPoint

Our method can handle multiple components of various sizes, as shown in Figure 10. These results are easily obtained because our method does not need to construct exemplars. If these results were generated by texture synthesis approaches [MWT11], exemplars composed of a large number of components would be necessary.

image

Figure 10. Aggregates from multiple types of components.

Download figure to PowerPoint

Figure 11 shows the difference by changing the offset parameter, T. Our method controls the collisions among objects by T. By setting T to 0, collision is avoided; however, the aggregates are sparse, and the number of gaps among components is remarkable. Components collide with other components by setting any positive value to T, as shown in Figure 11(b).

image

Figure 11. Changing the range for collision.

Download figure to PowerPoint

Our method determines the orientation of a component. Figure 12 shows the results generated by changing the ranging parameters inline image, inline image and inline image. Figure 12(a) shows an input component. Our method orients a component such that the v-axis lies along the surface normal. Without rotation, all components are oriented towards the normal of the aggregate shape, as shown in Figure 12(b). Figure 12(c) shows a result composed of random rotated components.

image

Figure 12. Controlling component orientation.

Download figure to PowerPoint

The orientations of the components can be controlled in the global coordinate system. Figure 13 shows that components are oriented similarly by specifying small rotation ranges in the global coordinate system. The images in the figure make the components look layered.

image

Figure 13. Orientation in the global coordinate system.

Download figure to PowerPoint

An aggregate is generated when the components are placed on the surface of an aggregate shape. Using conical meshes of an aggregate shape, our method generates a solid texture that is composed of discrete components, as shown in Figure 14. These results used the same parameters but input different meshes as aggregate shapes. The conical meshes are manually created using an offset curve function in a 3D modelling tool.

image

Figure 14. Inside of the solid texture.

Download figure to PowerPoint

Figure 15 shows variations in the results. Our method can specify properties, including size and shape of components and the shape of the aggregate. The components do not disperse and fall because our method generates aggregates without a physical simulation.

image

Figure 15. Variations in results of proposed method.

Download figure to PowerPoint

Table 1 shows the parameters, calculation times for the results and numbers of placed components. In the experiments, parameter T is set to 0.2 for dense aggregates, except for Figure 11.

Table 1. Parameters, calculation time and number of components
 inline imageinline imageinline imageTime [s]Number
Figure 9(a)1.00, 2π, 02.0324.24524
Figure 9(c)   246.51234
Figure 9(e)   182.22089
Figure 10(a)Torus: 4.0, Ball: 2.0, Box: 1.0inline imageTorus: 1.0, Ball: 2.0, Box: 3.051.12523
Figure 10(b)Nut: 3.0, Rice: 1.0 Nut: 0.1, Rice: 1.5161.997400
Figure 11(a)1.0inline image8.0240.31124
Figure 11(b)   1454.94805
Figure 13(a)2.0inline image3.0339.02856
Figure 13(b)   270.62557
Figure 14(a)1.0inline image2.0203.92986
Figure 14(b)   244.03686
Figure 15(a)7.50, 2π, 06.019.5490
Figure 15(b)Nut: 7.0, bolt: 2.0inline imageNut:3.0, Bolt: 3.045.41148
Figure 15(c)6.00, 2π, 03.0101.7897
Figure 15(d)Nut: 10.0, bolt: 2.0inline imageNut:10.0, Bolt: 10.0129.61132

Figure 16 shows objects fabricated by a 3D printer (ZPrinter 650). Because the fabricated objects do not have adhesive properties, discrete components might be disconnected. Overlapping of each component is maintained by adjusting the range of inline image or collision T. In this experiment, T is set to 0.3 or more for fabrication.

image

Figure 16. Fabrication example.

Download figure to PowerPoint

6. Evaluation

  1. Top of page
  2. Abstract
  3. 1. Introduction
  4. 2. Related Work
  5. 3. Overview of Aggregate Modelling
  6. 4. Aggregate Modelling Procedure
  7. 5. Results
  8. 6. Evaluation
  9. 7. Limitation and Future Work
  10. References
  11. Supporting Information

We interviewed two professional groups of graphic designers regarding the usability and results of our method without a questionnaire. For this interview, the groups discussed the method and rendered results for 5 days.

The graphic designers appreciated the appearances of all the piled up aggregates. They viewed the arrangements of the components to be natural. However, they mention that there is no variation of the organic components in a generated aggregate, and real organic components have fluctuations. This method does not consider deformation of the components. In the future in order to make the aggregates appear more natural, it will be important to consider the deformation for representing organic components.

The graphic designers expressed interest in using our method in their work. They appreciated the quality of the generated aggregates and the controllability of the aggregates using the parameters.

7. Limitation and Future Work

  1. Top of page
  2. Abstract
  3. 1. Introduction
  4. 2. Related Work
  5. 3. Overview of Aggregate Modelling
  6. 4. Aggregate Modelling Procedure
  7. 5. Results
  8. 6. Evaluation
  9. 7. Limitation and Future Work
  10. References
  11. Supporting Information

Our method can generate variations in aggregates by changing the number of components, aggregate shapes and parameters. It is easy to implement this method that embodies the dart-throwing method, implicit surface and a golden section search. A major contribution of this method is its assistance in creating aggregate models using an easy implementation. However, several limitations remain.

Component shape: Two limitations remain to pile arbitrary-shaped components. First, the method did not consider aggregate compounds of open meshes such as thin objects like sheets and papers. To handle thin objects, it is necessary to quantify the overlaps among open meshes. Next, long components such as noodle and tubes cannot be placed into an aggregate to form a specified shape of the aggregate. Suitable deformation is needed for forming the specified shape.

Arrangement: The method is designed for uniform and random distribution, but the method is not suitable for comprehensive aggregates, for example, aggregates with roughness and fineness as well as those containing flows such as curls or divergences. It is necessary to use a distribution method that includes any spectral properties if a graphic designer wants to represent holes and gaps in an aggregate, such as an aggregate that contains floating objects such as bubbles in water. In addition, by generating vector fields on the aggregate shape [ZMT06], the flow of component orientations can be intuitively controlled.

Calculation time: Many components are placed in the placement step if the placed components have many holes or strong anisotropy and are star-shaped and branching because their largest inner spheres tend to be small. The calculation time of the refinement step is in approximate proportion to the number of components because the method moves each component. Therefore, an aggregate composes of many components results in high calculation costs. It is necessary to optimize the distribution of the sampling method, for example, anisotropic sampling [LWSF10], so that the generated aggregate includes fewer components for maintaining a natural appearance.

Multiple type: The method applied the single-component procedure to each type of component and resolved the collisions later to generate an aggregate composed of multiple types of components. This is not efficient when considering many types of components; however, it is difficult to find a solution for the distribution of multiple types of components. Although Wei proposed multiclass sampling [Wei10], this sampling is used only for points and not for components having volumes. To effectively distribute multiple types of components, a new technique for sampling or distribution needs to be developed.

References

  1. Top of page
  2. Abstract
  3. 1. Introduction
  4. 2. Related Work
  5. 3. Overview of Aggregate Modelling
  6. 4. Aggregate Modelling Procedure
  7. 5. Results
  8. 6. Evaluation
  9. 7. Limitation and Future Work
  10. References
  11. Supporting Information
  • [ACK01] Amenta N., Choi S., Kolluri R. K.: The power crust. In Proceedings of the Sixth ACM Symposium on Solid Modeling and Applications (2001), pp. 249266.
  • [AMT03] Adabala N., Magnenat-Thalmann N.: A procedural thread texture model. Journal of Graphics, GPU, and Game Tools 8 (2003), 3340.
  • [BSMM11] Benes B., Stava O., Mech R., Miller G.: Guided procedural modeling. Computer Graphics Forum 30 (2011), 325334.
  • [BW97] Bloomenthal J., Wyvill B.: Introduction to Implicit Surfaces. Morgan Kaufmann Publishers Inc., San Francisco, CA, USA, 1997.
  • [Cho07] Cho H.: Dressing and modeling food. In Proceedings of ACM SIGGRAPH 2007 Courses (New York, NY, 2007), SIGGRAPH '07, ACM, pp. 721.
  • [Coo86] Cook R. L.: Stochastic sampling in computer graphics. ACM Transactions on Graphics 5, 1 (January 1986), 5172.
  • [DH06] Dunbar D., Humphreys G.: A spatial data structure for fast poisson-disk sample generation. ACM Transactions on Graphics 25, 3 (July 2006), 503508.
  • [DKLS06] Dalal K., Klein A. W., Liu Y., Smith K.: A spectral approach to npr packing. In Proceedings of the 4th International Symposium on Non-Photorealistic Animation and Rendering (2006), pp. 7178.
  • [EF01] Efros A. A., Freeman W. T.: Image quilting for texture synthesis and transfer. In Proceedings of the 28th Annual Conference on Computer Graphics and Interactive Techniques (2001), pp. 341346.
  • [EL99] Efros A. A., Leung T. K.: Texture synthesis by non-parametric sampling. In Proceedings of the International Conference on Computer Vision (1999), pp. 10331038.
  • [EMP*02] Ebert D. S., Musgrave F. K., Peachey D., Perlin K., Worley S.: Texturing and Modeling, Third Edition: A Procedural Approach. (The Morgan Kaufmann Series in Computer Graphics). Morgan Kaufmann, San Francisco, CA, USA, 2002.
  • [GSP*07] Gal R., Sorkine O., Popa T., Sheffer A., Cohen-Or D.: 3d collage: Expressive non-realistic modeling. In Proceedings of the 5th International Symposium on Non-Photorealistic Animation and Rendering (2007), pp. 714.
  • [HK10] Hsu S.-W., Keyser J.: Piles of objects. ACM Transactions on Graphics 29, 6 (December 2010), 155:1155:6.
  • [HK12] Hsu S.-W., Keyser J.: Automated constraint placement to maintain pile shape. ACM Transactions on Graphics 31, 6 (November 2012), 150:1150:6.
  • [IO06] Iben H. N., O'Brien J. F.: Generating surface crack patterns. In Proceedings of the 2006 ACM SIGGRAPH/Eurographics Symposium on Computer Animation (2006), pp. 177185.
  • [KP02] Kim J., Pellacini F.: Jigsaw image mosaics. ACM Transactions on Graphics 21 (2002), 657664.
  • [KS00] Kaplan C. S., Salesin D. H.: Escherization. In Proceedings of the 27th Annual Conference on Computer Graphics and Interactive Techniques (2000), pp. 499510.
  • [KS04] Kaplan C. S., Salesin D. H.: Dihedral escherization. In Proceedings of Graphics Interface 2004 (2004), pp. 255262.
  • [LD05] Lagae A., Dutré P.: A procedural object distribution function. ACM Transactions on Graphics 24, 4 (October 2005), 14421461.
  • [LD06] Lagae A., Dutré P.: Poisson sphere distributions. In Proceedings of Vision, Modeling, and Visualization 2006 (Berlin, November 2006), L. Kobbeltm, T. Kuhlen, T. Aach and R. Westermann (Eds.), Akademische Verlagsgesellschaft Aka GmbH, pp. 373379.
  • [LHLK10] Liu F., Harada T., Lee Y., Kim Y. J.: Real-time collision culling of a million bodies on graphics processing units. ACM Transactions on Graphics 29, 6 (December 2010), 154:1154:8.
  • [LPW*06] Liu Y., Pottmann H., Wallner J., Yang Y.-L., Wang W.: Geometric modeling with conical meshes and developable surfaces. ACM Transactions on Graphics 25, 3 (July 2006), 681689.
  • [LWSF10] Li H., Wei L.-Y., Sander P. V., Fu C.-W.: Anisotropic blue noise sampling. ACM Transactions on Graphics 29, 6 (December 2010), 167:1167:12.
  • [MSJT08] Müller M., Stam J., James D., Thürey N.: Real time physics: Class notes. In SIGGRAPH '08: Proceedings of ACM SIGGRAPH 2008 Classes (New York, NY, 2008), ACM, pp. 88:188:90.
  • [MWT11] Ma C., Wei L.-Y., Tong X.: Discrete element textures. ACM Transactions on Graphics 30, 4 (August 2011), 62:162:10.
  • [Per85] Perlin K.: An image synthesizer. In Proceedings of the 12th Annual Conference on Computer Graphics and Interactive Techniques (1985), pp. 287296.
  • [PFTV88] Press W. H., Flannery B. P., Teukolsky S. A., Vetterling W. T.: Numerical Recipes in C: The Art of Scientific Computing. Cambridge University Press, New York, NY, USA, 1988.
  • [PGMG09] Peytavie A., Galin E., Merillou S., Grosjean J.: Procedural generation of rock piles using aperiodic tiling. Computer Graphics Forum 28 (2009), 18011809.
  • [PLW*07] Pottmann H., Liu Y., Wallner J., Bobenko A., Wang W.: Geometry of multi-layer freeform structures for architecture. ACM Transactions on Graphics 26, 3 (July 2007), pp. 65-165-11.
  • [SLK05] Smith K., Liu Y., Klein A.: Animosaics. In Proceedings of the 2005 ACM SIGGRAPH/Eurographics Symposium on Computer Animation (2005), pp. 201208.
  • [Wei08] Wei L.-Y.: Parallel poisson disk sampling. ACM Transactions on Graphics 27, 3 (August 2008), 20:120:9.
  • [Wei10] Wei L.-Y.: Multi-class blue noise sampling. ACM Transactions on Graphics 29 (July 2010), 79:179:8.
  • [Wor96] Worley S.: A cellular texture basis function. In Proceedings of the 23rd Annual Conference on Computer Graphics and Interactive Techniques (1996), pp. 291294.
  • [WY04] Wu Q., Yu Y.: Feature matching and deformation for texture synthesis. ACM Transactions on Graphics 23, 3 (August 2004), 364367.
  • [XK07] Xu J., Kaplan C. S.: Calligraphic packing. In Proceedings of Graphics Interface 2007 (2007), pp. 4350.
  • [XXSH11] Xiang Y., Xin S.-Q., Sun Q., He Y.: Parallel and accurate poisson disk sampling on arbitrary surfaces. In Proceedings of SIGGRAPH Asia 2011 Sketches (2011).
  • [ZMT06] Zhang E., Mischaikow K., Turk G.: Vector field design on surfaces. ACM Transactions on Graphics 25, 4 (October 2006), 12941326.

Supporting Information

  1. Top of page
  2. Abstract
  3. 1. Introduction
  4. 2. Related Work
  5. 3. Overview of Aggregate Modelling
  6. 4. Aggregate Modelling Procedure
  7. 5. Results
  8. 6. Evaluation
  9. 7. Limitation and Future Work
  10. References
  11. Supporting Information

Disclaimer: Supplementary materials have been peer-reviewed but not copyedited.

FilenameFormatSizeDescription
cgf12266-sup-0001-SuppMat.pdf720K

Appendix A

Figure S1: Relationship between the number of iterations and calculation time.

Figure S2: Relationship between the number of iterations and number of placed components.

Figure S3: Comparisons among different numbers of iterations.

Please note: Wiley Blackwell is not responsible for the content or functionality of any supporting information supplied by the authors. Any queries (other than missing content) should be directed to the corresponding author for the article.