Controllable modeling method for aspheric taxis sand particles based on programmed geometry
Through the programmatic geometric method, the Catmull-Clark algorithm and fractal displacement field are used to generate controllable morphology sand particles, which solves the problem of complex morphology simulation and calculation in the existing technology, and achieves rapid and controllable generation of real particles The shape enhances the details of the particle surface.
Patent Information
- Application Number
- CN202411243222.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-05
- Publication Date
- 2024-12-27
- Estimated Expiration
- 2044-09-05
AI Technical Summary
The prior art is difficult to accurately simulate complex morphological sand particles, and the traditional method calculates a lot when generating particles, so it is impossible to effectively characterize small-scale detailed morphology, resulting in smooth surface of the generated particles and unable to generate particles with the same morphology distribution.
Using a programmatic geometry-based method, sand particles with controllable morphology are generated through the Catmull-Clark algorithm and the large-scale fractal vertex displacement field, controlling the elongation, flatness, roundness and roughness of the particles, and using a mixed fractal displacement field Add surface details to generate realistic sandy particles.
It realizes the rapid and controllable generation of sandy soil particles with macroscopic metrical scale characteristics, reduces the calculation amount and generates more realistic and natural particle morphology, avoiding the large amount of calculation and difficulty in detail characterization in traditional methods.
Smart Images

Figure CN119203513A_ABST
Abstract
Description
Technical Field
[0001] The invention relates to the field of three-dimensional sand particle generation, and in particular to a controllable modeling method for non-spherical true sand particles based on programmable geometry. Background Art
[0002] The discrete element method is a simulation scheme based on micromechanical models and is widely used to explore the influence of sand particle shape on the behavior of granular soil. In the DEM simulation of granular soil, there are two common methods to consider the particle morphology effect. The first is to establish a rheological rolling resistance model for inter-particle contact to simulate the anti-rotation phenomenon caused by the friction between the particle surface textures. Although this method uses surface roughness to characterize the particle shape to simulate physical phenomena such as inertial friction
[18] and shear bands. However, its free parameters are difficult to determine, resulting in an inability to accurately represent particle roughness. The second is to directly import simplified non-spherical particles (ellipsoids, ellipses, polyhedrons, simplified clumps, etc.) into DEM modeling. This method can simulate the behavior of real particles with simple shapes, but it cannot generate real particles with complex shapes that are commonly found in geotechnical engineering.
[0003] The traditional particle generation method first reconstructs the real particles scanned by X-ray CT, and then applies the feature analysis algorithm to change the coefficients of the mathematical descriptor to generate new particles with homogeneous morphology. However, in the first step of reconstruction based on the particle generation method of mathematical descriptors, the amount of calculation required to solve the descriptor coefficients and the expansion function is huge. In addition, the reconstruction method cannot characterize the detailed morphology of particles on a small scale, resulting in a relatively smooth surface of particles generated based on the descriptor coefficients. Finally, the fitting of the descriptor coefficients is difficult, resulting in the inability to generate particles with the same morphological distribution. Summary of the invention
[0004] In view of the shortcomings of the prior art, the present invention provides a controllable modeling method for non-spherical true sand particles based on programmable geometry, which has the advantages of rapid and controllable morphology for generating soil particle point clouds.
[0005] To achieve the above objectives, the technical solution of the present invention is implemented through the following technical solutions:
[0006] A controllable modeling method for non-spherical true sand particles based on programmable geometry, the controllable modeling method comprising the following steps:
[0007] S1. Generate particle skeleton with controllable EI (controllable elongation), FI (flatness) and roundness:
[0008] S1-1. Parametrically generate two basic shapes, cuboid and tetrahedron, as the initial skeleton of sand particles; then use the Catmull-Clark algorithm to subdivide and smooth the mesh of the basic shapes in order to increase the number of mesh vertices and generate a more continuous vertex displacement field; finally, under the action of the large-scale fractal vertex displacement field, generate particles with EI, FI and roundness characteristics;
[0009] S1-2, according to the mapping relationship between the elongation and flatness of the sand particles and the geometric parameters of the basic shape, controlling the elongation and flatness indexes of the sand particles to be generated;
[0010] S1-3, controlling the roundness of the particles according to the mapping relationship between the intensity of the large-scale fractal vertex displacement field and the roundness of the generated particles;
[0011] S2. Generate realistic sand particles with controllable surface roughness details:
[0012] S2-1, increasing the details of the particle surface under the action of small-scale mixed fractal displacement field to generate true sand particles with roughness characteristics;
[0013] S2-2. Based on the mapping relationship between the intensity of the hybrid fractal vertex displacement field and the roughness of the generated particles, the roughness of the particles is controlled.
[0014] Preferably, the specific operation of S1-1 includes the following steps:
[0015] S1-1-1, randomly parameterize and generate two basic shapes, cuboid and tetrahedron, as the initial skeleton of sand particles. The parameters of the cuboid are length, width and height. The parameters of the tetrahedron are ground length and width, as well as the height of the facade.
[0016] S1-1-2. Use the Catmull-Clark algorithm to subdivide and smooth the generated basic shape mesh in order to increase the number of mesh vertices and generate a more continuous vertex displacement field;
[0017] S1-1-3. Under the action of the large-scale cellular fractal vertex displacement field, particles with EI, FI and roundness characteristics are generated; the number of iterations n of the fractal displacement field is 4, the amplitude reduction factor a and the frequency multiplication factor b are both 5; the noise function is a cellular function with a scale of 1 / 2 particle size, and the calculation formula can be defined as:
[0018]
[0019] Preferably, the specific operation method in S1-1-2 is:
[0020] S1-1-2-1, Catmull-Clark algorithm creates smoothly interpolated vertices for each edge and face in each iteration; each face adds a new vertex, called a face vertex; suppose a face has n vertices v i , then the position of the newly added vertex F add The calculation is shown in the following formula (1):
[0021]
[0022] Each edge adds a new vertex, called the edge vertex, and the position of the newly added edge vertex is E add is the average value of the vertices at both ends of the edge and the vertices of the two adjacent faces, as shown in formula (2):
[0023]
[0024] For each edge, calculate its two endpoints v i and v j And the face vertices F of its two adjacent faces a and F b The average value of generates a new edge vertex E;
[0025] S1-1-2-2. After adding vertices, update the positions of all vertices to make the mesh smoother. The new vertex position P new Calculated by formula (3):
[0026]
[0027] in:
[0028] Assume that the number of vertices of the initial triangle mesh is The number of edges is The number of faces is Then after each iteration the new number is and As shown in formulas (4), (5) and (6):
[0029]
[0030] Where F is the face vertex of all faces adjacent to the vertex F i The average value of R is the midpoint E of all edges adjacent to the vertex. i The average value, P old is the position of the old vertex and n is the number of adjacent faces.
[0031] Preferably, the specific operation of S1-2 includes the following steps:
[0032] S1-2-1, set different ratio1 and ratio2 for rectangular parallelepiped and tetrahedral pyramid primitives respectively; specifically set 20 parameter values from 0 to 1 with an interval of 0.05; generate 50 different particles according to each ratio1 and ratio2 parameter value, calculate the average value of EI and FI of the particles, and use the interpolation method to fit the mapping relationship between ratio1, ratio2 and the average value; where ratio1 and ratio2 are the middle value / maximum value and middle value / minimum value of the three shape parameter values of the primitive, respectively, corresponding to the definition of EI and FI;
[0033] S1-2-2. Set different displacement field intensity coefficients for the smooth bodies of rectangular and tetrahedral primitives. Specifically, set 40 parameter values from 0 to 200 with an interval of 5; generate 50 different particles according to each displacement field intensity coefficient, calculate the average roundness of the particles, and use the interpolation method to fit the mapping relationship between the intensity coefficient and the average roundness s1 = f (roundness).
[0034] Preferably, the specific operation of S1-3 includes the following steps:
[0035] S1-3-1. Given the particle size, EI and FI cumulative probability distribution of the particles to be generated, calculate the three shape indices of the same distribution of the particles to be generated, set the particle size value of the same distribution as the maximum value of the primitive shape parameter, obtain the EI and FI parameter values of the same distribution, combine ratio1, ratio2 and the mapping relationship between EI and FI of the generated particles (ratio1, ratio2) = f(EI, FI), calculate the primitive shape parameter ratio ratio1 and ratio2; according to the definition of ratio1 and ratio2, the maximum value is known, and the intermediate value and minimum value are calculated;
[0036] S1-3-2, given the cumulative probability distribution of the roundness of the particles to be generated, calculate the roundness value r of the particles to be generated; combine the mapping relationship s1=f(roundness) between the intensity coefficient of the fractal large-scale cellular displacement field and the roundness value of the generated particles, and calculate the intensity coefficient of the displacement field to be set;
[0037] S1-3-4. Generate sand particles with given EI, FI and roundness based on the obtained primitive shape parameter values and large-scale fractal cellular displacement field intensity coefficients.
[0038] Preferably, the specific operation of S2-2 includes the following steps:
[0039] S2-2-1, set different displacement field intensity coefficients for the synthetic vertex displacement field; specifically set 40 parameter values from 0 to 12 with an interval of 0.3; generate 50 different particles according to each displacement field intensity coefficient, calculate the average value of the particle roughness, and use the interpolation method to fit the mapping relationship s2=f(roughness) between the intensity coefficient and the average value of the roughness;
[0040] S2-2-2, given the roughness cumulative probability distribution of the particles to be generated, calculate the roughness of the particles to be generated; combine the intensity coefficient of the synthetic vertex displacement field and the mapping relationship s2=f(roughness) of the roughness of the generated particles to calculate the intensity coefficient of the synthetic vertex displacement field to be set;
[0041] S2-2-3. Generate sand particles of given roughness according to the obtained intensity coefficient of synthetic vertex displacement field; the synthetic vertex displacement field calculation can be defined as: F(x,y,z)=intensity*((1-t1)*F1(x,y,z)+(1-t2)*F2(x,y,z)+(1
[0042] -t3)*F3(x,y,z))
[0043] Among them, F1, F2 and F3 are different vertex displacement fields; the types of F1 and F2 are both cellular fractal vertex displacement fields, with scales of 30 and 20 respectively; the type of F3 is turbulent texture, with a scale of 20; t1, t2, and t3 are the corresponding transparencies of F1, F2 and F3 respectively.
[0044] The present invention provides a controllable modeling method for non-spherical true sand particles based on programmable geometry, which has the following advantages over the prior art:
[0045] The present invention adopts the generation of three-dimensional particle grids based on procedural geometry. The idea of this method is to develop a three-dimensional programmatic geometric algorithm to obtain irregular sand particles with fractal characteristics by displacing the vertices of the basic shape multiple times. Compared with the traditional particle generation method, the calculation amount of the particle generation method based on procedural geometry is to generate the displacement texture of the vertex, which is much less than the calculation amount of solving the mathematical descriptor coefficients and expansion functions; and it can generate realistic sand particles with controllable EI, FI, roundness and roughness on macro and micro scales. BRIEF DESCRIPTION OF THE DRAWINGS
[0046] Figure 1 A framework diagram for programmatically generating sand particles for the present invention;
[0047] Figure 2 This is a schematic diagram of parameterized primitive generation in Example 1 of the present invention;
[0048] Figure 3The primitive grid subdivision and smoothing diagram in Embodiment 1 of the present invention;
[0049] Figure 4 This is a diagram of the mesh subdivision and smoothing process in Example 1 of the present invention;
[0050] Figure 5 Schematic diagram of the macroscopic profile generation process of sand particles in Example 1 of the present invention;
[0051] Figure 6 The schematic diagram of the cell vertex displacement field generation in Example 1 of the present invention;
[0052] Figure 7 This is a schematic diagram of vertex mapping of a vertex displacement field mesh in Example 1 of the present invention;
[0053] Figure 8 Schematic diagram of particle roundness values at different displacement field intensity coefficients in Example 1 of the present invention;
[0054] Fig. 9 The mapping relationship between EI, FI and roundness value and program generation parameters in Example 1 of the present invention;
[0055] Fig.10 Schematic diagram of Leighton Buzzard sand particles with controllable EI, FI, roughness and roundness values in Example 1 of the present invention;
[0056] Fig.11 A solid image of Ottawa sand particles with controllable EI, FI, roughness and roundness values in Example 1 of the present invention;
[0057] Fig.12 Schematic diagram of particle mesh vertex displacement of a cellular vertex displacement field with a transparency of 0.8 in Example 2 of the present invention;
[0058] Fig.13 Schematic diagram of particle mesh vertex displacement of a turbulent vertex displacement field with a transparency of 0.5 in Example 2 of the present invention;
[0059] Fig.14 This is a schematic diagram of the Peilin noise function in Example 2 of the present invention;
[0060] Fig.15 The 2D Peilin noise and fractal Perlin vertex displacement field graph in Example 2 of the present invention;
[0061] Fig.16 Schematic diagram of particle mesh vertex displacement of a cellular vertex displacement field with a transparency of 0.95 in Example 2 of the present invention;
[0062] Fig.17Schematic diagram of the mapping relationship between roughness and synthetic displacement field intensity coefficient in Example 2 of the present invention. DETAILED DESCRIPTION
[0063] In order to make the purpose, technical solution and advantages of the embodiments of the present invention clearer, the technical solution in the embodiments of the present invention is clearly and completely described below in combination with the embodiments of the present invention. Obviously, the described embodiments are part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.
[0064] Embodiment 1:
[0065] (1) The parameterization of Box (rectangular block) and Pyramid (quadrangular pyramid) primitives is as follows: Figure 2 As shown, specifically:
[0066] Pyramid and box are both polyhedrons generated by three parameters. The shape parameters of Pyramid are the length and width of the bottom, and the height perpendicular to the bottom. Box contains three parameters: length, width, and height. According to the shape parameter values, define the parameters max1, mid2, and min3 from large to small. Figure 2 As shown in the box in (a-1), the height is mid2, the length is max1, and the width is min3. Define two ratios ratio1 and ratio2 as mid2 / max1 and min3 / mid3, which correspond to the definitions of EI and FI. Figure 2 In (a-1), the length, width and height of the box are all 100, so ratio1 and ratio2 are both 1.00. The ratio1 and ratio2 of the box are consistent with EI and FI respectively. Figure 2 The ratio1 of the tetrahedron in (b-1) and (b-2) is 1 and 0.83 respectively; the ratio2 is 1 and 0.80 respectively. Since the method of the present invention changes the EI and FI of the primitive to a small extent when generating particles, the EI and FI of the generated particles are positively correlated with the ratio1 and ratio2 of the primitive rectangular parallelepiped and tetrahedron respectively. Therefore, the shape parameter ratios of box and pyramid, ratio1 and ratio2, can affect and control the EI and FI of the generated particles respectively.
[0067] (2) The Catmull-Clark algorithm subdivides and smoothes the generated basic shape mesh to increase the number of mesh vertices and generate a more continuous vertex displacement field. The generated subdivided smooth mesh is as follows: Figure 3 As shown, specifically:
[0068] The Catmull-Clark algorithm creates smoothly interpolated vertices for each edge and face in each iteration. A new vertex is added to each face, called a face vertex, such as Figure 4 As shown in yellow dots in (b), the position of a face vertex is the average of the positions of all vertices on the face. Assume that a face has n vertices v i , then the position of the newly added vertex F add The calculation is shown in formula (1). Each edge adds a new vertex, called the edge vertex, such as Figure 4 (b) The green dot shows the location of the newly added edge vertex E add is the average value of the vertices at both ends of the edge and the vertices of the two adjacent faces, as shown in formula (2). For each edge, calculate its two endpoints v i and v j And the face vertices F of its two adjacent faces a and F b The average value of , generates a new edge vertex E.
[0069]
[0070] After adding vertices, update the positions of all vertices to make the mesh smoother, such as Figure 4 (c) The new vertex position is calculated by formula (3). Assume that the number of vertices of the initial triangle mesh is The number of edges is The number of faces is Then after each iteration the new number is and As shown in formulas (6), (7) and (8).
[0071]
[0072] Where F is the face vertex of all faces adjacent to the vertex F i The average value of, as shown in formula (4), R is the midpoint E of all edges adjacent to the vertex i The average value, as shown in formula (5), P old is the position of the old vertex and n is the number of adjacent faces.
[0073] (3) Under the action of the large-scale cellular fractal vertex displacement field, particles with roundness characteristics are generated, such as Figure 5 As shown, specifically:
[0074] After the primitive grid is subdivided and smoothed, only a regular smooth body is obtained. In order to simulate the macroscopic outline of natural sand particles, the vertices of the smooth body need to be displaced to generate a random, variable and irregular particle skeleton. The fractal vertex displacement field combines multiple noise layers of different scales, frequencies and amplitudes to make it self-similar. By adjusting the intensity coefficient of the fractal displacement field, the complexity and details of the fractal displacement field can be further adjusted. The number of iterations n of the fractal displacement field is 4, and the amplitude reduction factor a and the frequency multiplication factor b are both 5. The noise function is a cellular function with a scale of 1 / 2 particle size, and intensity is the intensity coefficient that is most sensitive to the control of detail and complexity. The calculation formula can be defined as:
[0075]
[0076] The principle of cellular algorithm is introduced by taking the two-dimensional cellular noise function as an example. First, n random seed points are distributed in space, and scale is the size of the random spacing of the seed points. The distance from each spatial point (x, y) to the nearest seed point is calculated. Let p be a two-dimensional spatial point, {s i} is the seed point set, d i is the distance from p to the i-th seed point, and the shortest distance F(p) is shown in formula (10). The distance d(p,s) uses the Euclidean distance, as shown in formula (11). Figure 6 The 8 seed points marked in (a) correspond to 8 cell-like shapes, and the black area indicates that the minimum distance from the 8 center points is small. Figure 6 As shown in (b), the intensity value F(p) of any point P(x,y) is the minimum distance from point p to the eight points. Obviously, the distance from point p to point s8 is the shortest, so F(p) = d(p, s8).
[0077]
[0078] Under the action of the displacement field F(P), the mesh vertices of the particles are displaced along the normal direction to form new particles with displacement field characteristics. Where p is the vertex coordinate, F(P) is the intensity of the displacement field at point P. Intensity*F(P) is the displacement value of the vertex along the normal direction, and intensity is the intensity coefficient of the displacement field between 0 and 200. The greater the intensity, the greater the change in the shape of the corresponding sand particles. Figure 7 As shown in the figure, point A of the sand particle is displaced to point A' along the normal direction under the action of the displacement field.
[0079] Figure 5 (b) is the cellular vertex displacement field of a smooth body whose primitives are cuboid and tetrahedron at 1 / 2 particle size scale. Figure c is the particle skeleton generated by the vertex displacement field in Figure b. Figure 5 The surface of (c) has random irregular bumps and depressions, which also solves the problem that mathematical descriptors are difficult to generate concave geometry. Figure 5 The more obvious the color change in (c), the more discontinuous the displacement of the vertex in the corresponding figure d, and irregular edges are produced here. It is worth noting that the larger the intensity coefficient, the sharper the edges are. Therefore, the intensity coefficient of the large-scale cellular fractal displacement field can be used to control the roundness of sand particles. Figure 8 The roundness of the particles generated by the cuboids and tetrahedrons shown increases with the increase of the displacement field intensity coefficient.
[0080] (4) Calculate the mapping relationship between the morphological characteristics EI, FI and roundness of the generated particle skeleton and the generation parameters, such as Fig. 9 The specific method includes the following steps:
[0081] Set different ratio1 and ratio2 for the cuboid and tetrahedron primitives. Specifically, set 20 parameter values from 0 to 1 with an interval of 0.05. Generate 50 different particles according to each ratio1 and ratio2 parameter value, calculate the average value of EI and FI of the particles, and use the interpolation method to fit the mapping relationship between ratio1, ratio2 and the average value, such as Fig. 9 (a) and (b). Where ratio1 and ratio2 are the middle / maximum and middle / minimum values of the three shape parameter values of the primitive, respectively, corresponding to the definitions of EI and FI.
[0082] Different displacement field intensity coefficients are set for the smooth bodies of rectangular and tetrahedral primitives. Specifically, 40 parameter values are set from 0 to 200 with an interval of 5. 50 different particles are generated according to each displacement field intensity coefficient, and the average roundness of the particles is calculated. The mapping relationship between the intensity coefficient and the average roundness is fitted using the interpolation method s1 = f (roundness), such as Fig. 9 (c).
[0083] (5) Generate sand particle skeleton with controllable EI, FI and roundness, such as Fig.10 and Fig.11 The specific method includes the following steps:
[0084] Given the particle size, EI and FI cumulative probability distribution of the particles to be generated, calculate the three shape indicators of the same distribution of the particles to be generated. Set the particle size value of the same distribution as the maximum value of the primitive shape parameter. Get the EI and FI parameter values of the same distribution, combine ratio1, ratio2 and the mapping relationship between EI and FI of the generated particles (ratio1, ratio2) = f(EI, FI), calculate the primitive shape parameter ratio ratio1 and ratio2. According to the definition of ratio1 and ratio2, the maximum value is known, and the intermediate value and minimum value are calculated.
[0085] Given the cumulative probability distribution of the roundness of the particles to be generated, the roundness value r of the particles to be generated is calculated. Combining the mapping relationship s1=f(roundness) between the intensity coefficient of the fractal large-scale cellular displacement field and the roundness value of the generated particles, the intensity coefficient of the displacement field to be set is calculated.
[0086] The Leighton Buzzard and Ottawa sand particles with given EI, FI and roundness are generated according to the obtained primitive shape parameter values and the large-scale fractal cellular displacement field intensity coefficient, such as Fig.10 and 11 As shown in the figure, the roundness of Leighton Buzzard sand particles is relatively low, while the roundness of Ottawa sand particles is relatively high.
[0087] Embodiment 2:
[0088] Based on the above embodiment 1, after generating the sand particle contour with controllable EI, FI and roundness, it is necessary to add more details to the particle surface at a smaller scale. The synthetic vertex displacement field can make different small-scale vertex displacement fields overlap according to different transparency and mixing modes. As the transparency increases, the visibility of the corresponding vertex displacement field decreases. The small-scale synthetic texture has more varied, continuous and natural details in space. The vertex displacement field synthesized using 2 small-scale cellular fractal displacement fields and 1 turbulent displacement field adds details to the particle surface.
[0089] (1) First, define the formula for the synthetic vertex displacement field as follows: F(x,y,z)=intensity*((1-t1)*F1(x,y,z)+(1-t2)*F2(x,y,z)+(1
[0090] -t3)*F3(x,y,z))(12)
[0091] F1, F2 and F3 are different vertex displacement fields. F1 and F2 are both cellular fractal vertex displacement fields with scales of 30 and 20 respectively. F3 is a turbulent texture with a scale of 20. t1, t2, and t3 are the corresponding transparencies of F1, F2 and F3 respectively.
[0092] (2) Generate a cellular fractal vertex displacement field with a transparency of 0.8, such as Fig.12 (b) makes the mesoscopic cellular structure smaller, which is conducive to the formation of the mesoscopic concave-convex surface of sand, such as Fig.12 (c), the specific method includes the following steps:
[0093] The calculation of the fractal vertex displacement field of a fractal cellular with a transparency of 0.8 is shown in formula (13), where the number of fractal iterations n, the amplitude reduction factor a and the frequency multiplication factor b are all 3. The noise function is a cellular function with a scale of 1 / 8GS.
[0094]
[0095] The 3D displacement field formed by the fractal function (1-0.8)*F1(x,y) is shown in the figure. Fig.12 The irregular particle skeleton in (a) Fig.12 The 3D fractal cellular in (b) is generated by the fractal vertex displacement field. Fig.12 (c) The particle. However, the microscopic depressions of the particle are not continuous enough, which is different from the mesoscopic texture of natural particles. Therefore, more textures are mixed to generate more complex and continuous particle surface details.
[0096] (3) Generate a turbulent vertex displacement field with a transparency of 0.5, such as Fig.13 (b) shows that the mesoscopic cellular structure is smaller, which is conducive to the generation of mesoscopic turbulent details of sand, such as Fig.13 (c), the specific method includes the following steps:
[0097] The calculation of the turbulent fractal vertex displacement field with a transparency of 0.5 is shown in formula (14), where the number of fractal iterations n is 20, the amplitude reduction factor a and the frequency multiplication factor b are both 2. The noise function is a Perlin function with a scale of 1 / 8GS.
[0098]
[0099] Perlin Noise is a continuous, smooth random function used to generate natural-looking textures. For ease of demonstration, a two-dimensional Perlin noise is used as an example. A regular grid is defined in two-dimensional space, and the size of the unit grid is specified by the scale parameter, such as Fig.14 The scale shown is 100. The smaller the scale, the greater the noise variation in the same size space. A vector with random direction and size is generated at each grid point, called the gradient vector g. The random gradient g can ensure the randomness and diversity of the noise, thereby making the particle shape have more complex and varied details. The value of g is shown by the arrow in the figure. The direction of the arrow indicates the direction of the gradient, and the length indicates the size of the gradient.
[0100] like Fig.14As shown, for any sampling point (x, y) in 2D space, find the four nearest grid points (i0, j0), (i1, j0), (i0, j1) and (i1, j1) where the point is located. i1=i0+1,j1=j0+1, Output the integer part of the real number. The distance vector d from the sampling point to the four grid points is shown in formula (15). g·d is used to represent the random influence of each corner point on the calculation point, and the random value p of the four corner points on the calculation point is shown in formula (16).
[0101]
[0102] The random value p is weighted to obtain the noise value of the sampling point. In order to make the noise value transition smoothly between grid points, the smooth interpolation fade function is used to adjust the interpolation parameters so that the value transitions smoothly to ensure the continuity and smoothness of the particle surface details. The fade function is shown in formula (17), and the interpolation parameters are calculated as shown in formula (18). The weighting adopts bilinear interpolation in the X direction first and then in the Y direction. That is, first use p 00 and p 10 Weighted as p x , as shown in formula (19), and then use p 01 and p 11 Weighted as p y , as shown in the formula; finally, p x and p y The weight is p and the weighting formula is.
[0103] fade(t)=6t 5 -15t 4 +10t 3 (17)
[0104]
[0105] like Fig.15 (b) and (d) are two-dimensional fractal vertex displacement fields generated by Perlin noise and fractal Perlin noise, respectively. Compared with Perlin noise, the fractal Perlin fractal vertex displacement field retains the randomness of the noise function and has stronger continuity and self-similarity. Fig.15 (c) and (e) are plane (a) at Fig.15 (b) and (d) Irregular surfaces formed by the displacement of vertices in the z direction under the action of the fractal vertex displacement field. Fig.15 The fractal surface in (e) shows more natural, varied, and self-similar surface protrusions.
[0106] The 3D displacement field formed by the fractal function (1-0.5)*F2(x,y) is as follows Fig.13 (b). Based on Fig.13 The particles on the microscopic concave-convex surface in (a) are Fig.13 The 3D fractal cellular in (b) is generated by the fractal vertex displacement field. Fig.13 (c) Particles. However, the raised or sunken details on the particle surface are mostly long strips, which is still not natural enough.
[0107] (4) Generate a fractal cellular vertex displacement field with a transparency of 0.95, such as Fig.16 As shown in (b), it is beneficial to generate details of the concave-convex transition area with fractal characteristics, such as Fig.16 (c), the specific method includes the following steps:
[0108] The calculation of the turbulent fractal vertex displacement field with a transparency of 0.95 is shown in formula (20), where the number of fractal iterations n is 10, the amplitude reduction factor a and the frequency multiplication factor b are both 5. The noise function is a cellular function with a scale of 1 / 8GS.
[0109]
[0110] The 3D displacement field formed by the fractal function (1-0.95)*F3(x,y) is as follows Fig.16 (b). Based on Fig.15 (a) The sandparticle with bumps and turbulence details, Fig.16 The 3D fractal cellular in (b) is generated by the fractal vertex displacement field. Fig.16 The grains in (c) have smaller scale bumpy boundaries, which makes the sand grains more realistic and natural.
[0111] (5) Calculate the mapping relationship between the synthetic vertex displacement field intensity coefficient and the roughness average value, such as Fig.17 As shown, the specific method includes the following steps:
[0112] Different displacement field intensity coefficients are set for the synthetic vertex displacement field. Specifically, 40 parameter values are set from 0 to 12 with an interval of 0.3. 50 different particles are generated according to each displacement field intensity coefficient, and the average roughness of the particles is counted. The mapping relationship between the intensity coefficient and the average roughness is fitted using the interpolation method s2 = f (roughness).
[0113] Given the roughness cumulative probability distribution of the to-be-generated particles, the roughness of the to-be-generated particles is calculated. Combining the intensity coefficient of the synthetic vertex displacement field and the mapping relationship s2=f(roughness) of the roughness of the generated particles, the to-be-set intensity coefficient of the synthetic vertex displacement field is calculated.
[0114] The sand particles with given roughness are generated according to the obtained synthetic vertex displacement field intensity coefficient, such as Fig.10 and 11 The calculation of the synthetic vertex displacement field is shown in formula (21).
[0115] F(x,y,z)=intensity*((1-0.80)*F1(x,y,z)+(1-0.50)*F2(x,y,z)
[0116] +(1-0.95)*F3(x,y,z))(21)
[0117] F1, F2 and F3 are different vertex displacement fields. F1 and F2 are both cellular fractal vertex displacement fields with scales of 30 and 20 respectively. F3 is a turbulent texture with a scale of 20.
[0118] The above embodiments are only used to illustrate the technical solutions of the present invention, rather than to limit the same. Although the present invention has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that the technical solutions described in the aforementioned embodiments may still be modified, or some of the technical features may be replaced by equivalents. However, these modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the embodiments of the present invention.
Claims
1. A controllable modeling method for non-spherical true sand particles based on programmable geometry, characterized in that: The controllable modeling method comprises the following steps: S1. Generate particle skeleton with controllable EI, FI and roundness: S1-1. Parametrically generate two basic shapes, cuboid and tetrahedron, as the initial skeleton of sand particles; then use the Catmull-Clark algorithm to subdivide and smooth the mesh of the basic shapes in order to increase the number of mesh vertices and generate a more continuous vertex displacement field; finally, under the action of the large-scale fractal vertex displacement field, generate particles with EI, FI and roundness characteristics; S1-2, according to the mapping relationship between the elongation and flatness of the sand particles and the geometric parameters of the basic shape, controlling the elongation and flatness indexes of the sand particles to be generated; S1-3, controlling the roundness of the particles according to the mapping relationship between the intensity of the large-scale fractal vertex displacement field and the roundness of the generated particles; S2. Generate realistic sand particles with controllable surface roughness details: S2-1, increasing the details of the particle surface under the action of small-scale mixed fractal displacement field to generate true sand particles with roughness characteristics; S2-2. Based on the mapping relationship between the intensity of the hybrid fractal vertex displacement field and the roughness of the generated particles, the roughness of the particles is controlled.
2. The controllable modeling method of non-spherical true sand particles based on programmatic geometry according to claim 1 is characterized in that: The specific operation of S1-1 includes the following steps: S1-1-1, randomly parameterize and generate two basic shapes, cuboid and tetrahedron, as the initial skeleton of sand particles. The parameters of the cuboid are length, width and height. The parameters of the tetrahedron are ground length and width, as well as the height of the facade. S1-1-2. Use the Catmull-Clark algorithm to subdivide and smooth the generated basic shape mesh in order to increase the number of mesh vertices and generate a more continuous vertex displacement field; S1-1-3. Under the action of the large-scale cellular fractal vertex displacement field, particles with EI, FI and roundness characteristics are generated; the number of iterations n of the fractal displacement field is 4, the amplitude reduction factor a and the frequency multiplication factor b are both 5; the noise function is a cellular function with a scale of 1 / 2 particle size, and the calculation formula can be defined as:
3. The controllable modeling method of non-spherical true sand particles based on programmatic geometry according to claim 2 is characterized in that: The specific operation method in S1-1-2 is: S1-1-2-1, Catmull-Clark algorithm creates smoothly interpolated vertices for each edge and face in each iteration; each face adds a new vertex, called a face vertex; suppose a face has n vertices v i , then the position of the newly added vertex F add The calculation is shown in the following formula (1): Each edge adds a new vertex, called the edge vertex, and the position of the newly added edge vertex is E add is the average value of the vertices at both ends of the edge and the vertices of the two adjacent faces, as shown in formula (2): For each edge, calculate its two endpoints v i and v j And the face vertices F of its two adjacent faces a and F b The average value of generates a new edge vertex E; S1-1-2-2. After adding vertices, update the positions of all vertices to make the mesh smoother. The new vertex position P new Calculated by formula (3): in: Assume that the number of vertices of the initial triangle mesh is The number of edges is The number of faces is Then after each iteration the new number is and As shown in formulas (4), (5) and (6): Where F is the face vertex of all faces adjacent to the vertex F i The average value of R is the midpoint E of all edges adjacent to the vertex. i The average value, P old is the position of the old vertex and n is the number of adjacent faces.
4. The controllable modeling method of non-spherical true sand particles based on programmatic geometry according to claim 1 is characterized in that: The specific operation of S1-2 includes the following steps: S1-2-1, set different ratio1 and ratio2 for rectangular parallelepiped and tetrahedral pyramid primitives respectively; specifically set 20 parameter values from 0 to 1 with an interval of 0.05; generate 50 different particles according to each ratio1 and ratio2 parameter value, calculate the average value of EI and FI of the particles, and use the interpolation method to fit the mapping relationship between ratio1, ratio2 and the average value; where ratio1 and ratio2 are the middle value / maximum value and middle value / minimum value of the three shape parameter values of the primitive, respectively, corresponding to the definition of EI and FI; S1-2-2. Set different displacement field intensity coefficients for the smooth bodies of rectangular and tetrahedral primitives. Specifically, set 40 parameter values from 0 to 200 with an interval of 5; generate 50 different particles according to each displacement field intensity coefficient, calculate the average roundness of the particles, and use the interpolation method to fit the mapping relationship between the intensity coefficient and the average roundness s1 = f (roundness).
5. The controllable modeling method of non-spherical true sand particles based on programmatic geometry according to claim 1 is characterized in that: The specific operation of S1-3 includes the following steps: S1-3-1. Given the particle size, EI and FI cumulative probability distribution of the particles to be generated, calculate the three shape indices of the same distribution of the particles to be generated, set the particle size value of the same distribution as the maximum value of the primitive shape parameter, obtain the EI and FI parameter values of the same distribution, combine ratio1, ratio2 and the mapping relationship between EI and FI of the generated particles (ratio1, ratio2) = f(EI, FI), calculate the primitive shape parameter ratio ratio1 and ratio2; according to the definition of ratio1 and ratio2, the maximum value is known, and the intermediate value and minimum value are calculated; S1-3-2, given the cumulative probability distribution of the roundness of the particles to be generated, calculate the roundness value r of the particles to be generated; combine the mapping relationship s1=f(roundness) between the intensity coefficient of the fractal large-scale cellular displacement field and the roundness value of the generated particles, and calculate the intensity coefficient of the displacement field to be set; S1-3-4. Generate sand particles with given EI, FI and roundness based on the obtained primitive shape parameter values and large-scale fractal cellular displacement field intensity coefficients.
6. The controllable modeling method of non-spherical true sand particles based on programmatic geometry according to claim 1 is characterized in that: The specific operation of S2-2 includes the following steps: S2-2-1, set different displacement field intensity coefficients for the synthetic vertex displacement field; specifically set 40 parameter values from 0 to 12 with an interval of 0.3; generate 50 different particles according to each displacement field intensity coefficient, calculate the average value of the particle roughness, and use the interpolation method to fit the mapping relationship s2=f(roughness) between the intensity coefficient and the average value of the roughness; S2-2-2, given the roughness cumulative probability distribution of the particles to be generated, calculate the roughness of the particles to be generated; combine the intensity coefficient of the synthetic vertex displacement field and the mapping relationship s2=f(roughness) of the roughness of the generated particles to calculate the intensity coefficient of the synthetic vertex displacement field to be set; S2-2-3. Generate sand particles of given roughness according to the obtained intensity coefficient of synthetic vertex displacement field; the synthetic vertex displacement field calculation can be defined as: F(x,y,z)=intensity*((1-t1)*F1(x,y,z)+(1-t2)*F2(x,y,z)+(1-t3)*F3(x,y,z)) Among them, F1, F2 and F3 are different vertex displacement fields; the types of F1 and F2 are both cellular fractal vertex displacement fields, with scales of 30 and 20 respectively; the type of F3 is turbulent texture, with a scale of 20; t1, t2, and t3 are the corresponding transparencies of F1, F2 and F3 respectively.
Citation Information
Patent Citations
Method for constructing an irregular sand particle model based on discrete element simulation
CN108710769A
Generating refinement control grid for generating smooth curved surface of object
CN115130253A
Mud flat sand particle random generation and refined modeling method based on generative adversarial neural network
CN115908742A
Method for predicting permeability coefficient of coarse-grained soil based on three-dimensional characteristics of particles
CN116306350A
Rapid modeling method for soil mass water swelling multi-field coupling discrete element
CN116796543A
