Road internal crack curved surface generation method and system based on bidirectional trajectory collaboration
By generating virtual center paths and edge curves of internal road cracks using a bidirectional trajectory collaborative method, and combining this with the B-spline algorithm to construct a 3D crack model, the problems of low efficiency and insufficient realism in existing technologies are solved, achieving efficient and realistic 3D crack modeling.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- SHANDONG HI-SPEED GROUP CO LTD EXPRESSWAY OPERATION CENTER
- Filing Date
- 2025-12-31
- Publication Date
- 2026-05-15
AI Technical Summary
In existing technologies, road crack modeling methods are inefficient and lack realism, making it difficult to generate three-dimensional crack models that conform to physical laws.
A three-dimensional crack model is constructed by using a bidirectional trajectory collaboration method. This method generates a virtual center path D curve, dynamically defines the crack width on both sides of the curve, and applies random perturbations. The model is then constructed using B-spline interpolation and bicubic B-spline surface algorithms.
It enables the rapid generation of realistic 3D crack models, ensuring that the model fits the road body, and is both efficient and realistic.
Smart Images

Figure CN122049291A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of road maintenance technology, and in particular to a method and system for generating internal road crack surfaces based on bidirectional trajectory collaboration. Background Technology
[0002] With the rapid development of transportation infrastructure, the importance of road maintenance and inspection technologies has become increasingly prominent. Road cracks, as the most common type of pavement distress, require accurate modeling for road condition assessment and maintenance decisions. Currently, road crack modeling mainly relies on manual measurement and simple geometric modeling methods, which suffer from low efficiency and poor realism. In existing technologies, image recognition-based crack detection methods can only acquire two-dimensional surface information, lacking three-dimensional depth features; while traditional three-dimensional modeling methods mostly use regular geometric shapes to simulate cracks, failing to reflect the irregularity and complexity of real cracks. In practical applications of road maintenance, there is an urgent need for a method that can quickly generate realistic three-dimensional crack models that conform to physical laws. Summary of the Invention
[0003] To quickly generate realistic 3D crack models that conform to physical laws, this application provides a method and system for generating internal road crack surfaces based on bidirectional trajectory collaboration.
[0004] Firstly, the method for generating internal road crack surfaces based on bidirectional trajectory collaboration provided in this application adopts the following technical solution: A method for generating internal road crack surfaces based on bidirectional trajectory collaboration includes: The three-dimensional spatial range of the road body is predefined, and the three-dimensional space has preset length, width and height boundaries in the x, y and z directions, respectively; In the three-dimensional space, an initial point M and an end point N are randomly selected, and the distance between the two points satisfies the constraints of the minimum distance threshold and the maximum distance threshold; the straight line L connecting point M and point N is uniformly divided into segments, and key points are randomly selected in the spherical neighborhood of each segment point; all key points are connected by the B-spline interpolation algorithm to generate a smooth and continuous virtual center path curve D. A local coordinate system is established at each point on the D curve. The local coordinate system includes a tangent vector, a normal vector, and a binormal vector. The tangent vector is along the curve direction, the normal vector is determined by the cross product of the reference vector and the tangent vector, and the binormal vector is determined by the cross product of the tangent vector and the normal vector. Based on the local coordinate system, curve A and curve B are generated on the positive and negative sides along the normal direction, respectively. The points on curve A and curve B are calculated by dynamic width parameters and random offsets to ensure that curve A and curve B are symmetrical about curve D and maintain a reasonable spatial relationship. Using curves A and B as boundary constraints, a bicubic B-spline surface algorithm is employed to perform surface patching operations, generating a continuous and smooth three-dimensional crack surface model. The generated continuous surface is discretized into a triangular mesh model for computer visualization and processing. Optionally, in the step of randomly selecting the initial point M and the endpoint N in three-dimensional space, the selection range of the endpoint N is constrained to a ring-shaped spatial region centered on the initial point M and defined by the minimum distance threshold and the maximum distance threshold in each direction of the three-dimensional space.
[0005] Optionally, the step of generating the D curve using the B-spline interpolation algorithm includes: performing cumulative chord length parameterization on the key point set, and using a cubic spline interpolation algorithm that satisfies the natural boundary conditions to interpolate the three components of the spatial coordinates respectively, so as to ensure that the D curve has second-order continuous smoothness.
[0006] Optionally, the reference vector in the step of establishing the local coordinate system can be the up direction vector of the global coordinate system or dynamically determined based on the direction of the road surface.
[0007] Optionally, the dynamic width parameter is a random value generated independently for each point on the D curve within a preset reasonable width range.
[0008] Optionally, the steps of using the bicubic B-spline surface algorithm for surface completion include: parameterizing and smoothing curves A and B, and performing bilinear interpolation in the parameter space spanned by the two curves to construct an initial surface.
[0009] Optionally, after generating the initial surface, the process further includes a surface discretization step: uniformly dividing the parameter space into a grid, calculating the spatial coordinates of each grid vertex, and dividing each grid cell into two triangles, ultimately forming a crack surface model composed of a set of triangular facets.
[0010] Secondly, this application provides a road internal crack surface generation system based on bidirectional trajectory collaboration, comprising: The space establishment module is used to predefine the three-dimensional spatial range of the road body, wherein the three-dimensional space has preset length, width and height boundaries in the x, y and z directions, respectively; The D-curve generation module is used to randomly select an initial point M and an end point N in the three-dimensional space, with the distance between the two points satisfying the constraints of a minimum distance threshold and a maximum distance threshold; uniformly divide the straight line L connecting points M and N into segments, and randomly select key points in the spherical neighborhood of each segment point; and connect all key points using the B-spline interpolation algorithm to generate a smooth and continuous virtual center path D-curve. The coordinate system establishment module is used to establish a local coordinate system at each point on the D curve. The local coordinate system includes a tangent vector, a normal vector, and a binormal vector, wherein the tangent vector is along the curve direction, the normal vector is determined by the cross product of the reference vector and the tangent vector, and the binormal vector is determined by the cross product of the tangent vector and the normal vector. The curve generation module is used to generate curve A and curve B respectively on the positive and negative sides along the normal direction based on the local coordinate system. The points on curve A and curve B are calculated by dynamic width parameters and random offsets to ensure that curve A and curve B are symmetrical about curve D and maintain a reasonable spatial relationship. The surface model generation module is used to generate a continuous and smooth three-dimensional crack surface model by using curves A and B as boundary constraints and employing a bicubic B-spline surface algorithm for surface patching. The output module is used to discretize the generated continuous surface into a triangular mesh model for computer visualization and processing.
[0011] Thirdly, this application provides a computer device, the device comprising: a memory and a processor, wherein the processor, when executing computer instructions stored in the memory, performs the method described above.
[0012] Fourthly, this application provides a computer-readable storage medium including instructions that, when executed on a computer, cause the computer to perform the method described above.
[0013] In summary, this application generates a virtual center path as the skeleton of the crack using a constrained randomization method. By dynamically defining the crack width along the D curve and applying random perturbations, A curves and B curves representing the two edges of the crack are generated in parallel and symmetrically on both sides, ensuring that their shapes change naturally while maintaining a reasonable spatial relationship. Finally, using the generated A and B curves as boundary constraints, a bicubic B-spline surface algorithm is used to perform surface patching operations, constructing a smooth, complete, and physically realistic 3D crack model. This achieves the technical effect of generating realistic internal crack paths under irregular constraints. Attached Figure Description
[0014] Figure 1 This is a schematic diagram of the computer device structure of the hardware operating environment involved in the embodiments of this application; Figure 2 This is a flowchart illustrating the first embodiment of the method for generating internal road crack surfaces based on bidirectional trajectory collaboration in this application; Figure 3 This is a structural block diagram of the first embodiment of the road internal crack surface generation system based on bidirectional trajectory collaboration in this application. Detailed Implementation
[0015] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application.
[0016] Reference Figure 1 , Figure 1 This is a schematic diagram of the computer device structure of the hardware operating environment involved in the embodiments of this application.
[0017] like Figure 1 As shown, the computer device may include: a processor 1001, such as a central processing unit (CPU), a communication bus 1002, a user interface 1003, a network interface 1004, and a memory 1005. The communication bus 1002 is used to enable communication between these components. The user interface 1003 may include a display screen or an input unit such as a keyboard; optionally, the user interface 1003 may also include a standard wired interface or a wireless interface. The network interface 1004 may optionally include a standard wired interface or a wireless interface (such as a Wireless-Fidelity (Wi-Fi) interface). The memory 1005 may be high-speed random access memory (RAM) or stable non-volatile memory (NVM), such as a disk drive. The memory 1005 may also optionally be a storage device independent of the aforementioned processor 1001.
[0018] Those skilled in the art will understand that Figure 1 The structure shown does not constitute a limitation on the computer device and may include more or fewer components than shown, or combine certain components, or have different component arrangements.
[0019] like Figure 1 As shown, the memory 1005, which serves as a storage medium, may include an operating system, a network communication module, a user interface module, and a road internal crack surface generation program based on bidirectional trajectory collaboration.
[0020] exist Figure 1In the computer device shown, the network interface 1004 is mainly used for data communication with the network server; the user interface 1003 is mainly used for data interaction with the user; the processor 1001 and the memory 1005 in this application can be set in the computer device. The computer device calls the road internal crack surface generation program based on bidirectional trajectory collaboration stored in the memory 1005 through the processor 1001, and executes the road internal crack surface generation method based on bidirectional trajectory collaboration provided in the embodiment of this application.
[0021] This application provides a method for generating internal road crack surfaces based on bidirectional trajectory collaboration, referring to... Figure 2 , Figure 2 This is a flowchart illustrating the first embodiment of the method for generating internal road crack surfaces based on bidirectional trajectory collaboration in this application.
[0022] In this embodiment, the method for generating the internal road crack surface based on bidirectional trajectory collaboration includes the following steps: Step S10: Predefine the three-dimensional spatial range of the road body, wherein the three-dimensional space has preset length, width and height boundaries in the x, y and z directions, respectively.
[0023] In specific implementation, the road body is assumed to be a three-dimensional space Ω, defined as: Ω={(x, y, z)|0cm≤x≤60cm,0cm≤y≤70cm,0cm≤z≤78cm}.
[0024] Step S20: Randomly select an initial point M and an end point N in the three-dimensional space, with the distance between the two points satisfying the constraints of the minimum distance threshold and the maximum distance threshold; uniformly divide the straight line L connecting point M and point N into segments, and randomly select key points in the spherical neighborhood of each segment point; connect all key points using the B-spline interpolation algorithm to generate a smooth and continuous virtual center path D curve.
[0025] It should be noted that in the step of randomly selecting the initial point M and the endpoint N in three-dimensional space, the selection range of the endpoint N is constrained to a ring-shaped spatial region centered on the initial point M and defined by the minimum distance threshold and the maximum distance threshold in each direction of three-dimensional space.
[0026] It is understandable that the steps of generating a D curve using the B-spline interpolation algorithm include: performing cumulative chord length parameterization on the key point set, and using a cubic spline interpolation algorithm that satisfies the natural boundary conditions to interpolate the three components of the spatial coordinates respectively, so as to ensure that the D curve has second-order continuous smoothness.
[0027] In practical implementation, an initial point M is randomly selected within the constructed three-dimensional space of the road body. The coordinates of the initial point are: M = ( , , ).
[0028] Next, select a destination N. The generation of destination N must satisfy the following distance constraints: ≤| |≤ Minimum relative distance threshold: =10cm; Maximum relative distance threshold: =30cm; | | : Represents the absolute value of the distance between points M and N along each axis.
[0029] Calculate the value in only one direction based on the coordinates of two points, for example... and The absolute value of the magnitude represents the distance between two points in the X direction.
[0030] example The value is 30cm, then The range of values is (30-30, 30-10)∪(30+10, 30+30), which is (0cm, 20cm)∪(40cm, 60cm); the same applies to the Y and Z directions.
[0031] This gives us a spatial domain as the selection range for point N, and point N will be randomly selected within this range.
[0032] Line L connecting points M and N: Divide line L into P equal segments, generating P+1 segment points (including endpoints M and N). Define a spherical neighborhood B(K, r) centered at each segment point K. B(K, r) = {X∈ | ‖XK‖≤r} Where r = 3cm, the neighborhood radius of the key point; X: is a variable representing any point that may be located within the spherical neighborhood; X∈ : indicates that X is a point in three-dimensional real space with three coordinate components (x, y, z); ‖XK‖: Represents the absolute value of the distance between the random point and the segment point; A point is randomly selected as the key point within each spherical neighborhood.
[0033] The initial and ending points, along with all key points, are used as nodes to form a smooth and continuous D-curve via B-spline interpolation. B-spline interpolation algorithms include: Given a set of 3D keypoints: P={( , , ), ( , , ), ..., ( , , )}.
[0034] Objective: To provide input data for the algorithm, namely a series of three-dimensional spatial points. These points represent the key locations through which the curve should pass.
[0035] This lays the groundwork for the next step: these control points are fundamental to the entire interpolation process. Without these points, parameterization or interpolation is impossible. The next step will use these points to calculate the parameter values.
[0036] Parameterization processing includes: Define cumulative chord length parameter : Objective: To map control points to parameter space and calculate the parameter value for each point using the cumulative chord length method. This ensures that the parameter value is proportional to the geometric distance between points, thus avoiding curve distortion caused by uneven parameter distribution.
[0037] This lays the groundwork for the next step: the sequence of parameter values will serve as the independent variables (i.e., the parameter domain) for spline interpolation, providing the foundation for constructing the spline function. Without parameterization, the spline function cannot be defined on a unified parameter domain.
[0038] Parametric cubic spline interpolation includes: Establish a cubic spline function for each coordinate component: x-coordinate component spline: Each segment is a cubic polynomial: y-coordinate component spline: Each segment is a cubic polynomial: z-coordinate component spline: Each segment is a cubic polynomial: Objective: To decompose the three-dimensional curve interpolation problem into three independent one-dimensional problems (x, y, and z components), each represented using a piecewise cubic polynomial. This simplifies computation because each component can be processed independently.
[0039] This lays the groundwork for the next step: the form of the spline function (a piecewise cubic polynomial) is defined, and the framework for the interpolation conditions is established. The expression of the spline function (such as S_x, i(t)) will be used to substitute into the interpolation conditions.
[0040] Interpolation conditions include: Each component spline must pass through its corresponding coordinate values: Objective: To ensure that the spline function passes precisely through all control points; that is, the curve must pass through the given input points. This sets the basic requirements for interpolation.
[0041] This lays the groundwork for the next step: the interpolation conditions generate a set of equations that will be used to solve for the spline coefficients. However, the number of equations is insufficient with just the interpolation conditions, and continuity conditions are needed to supplement them.
[0042] Continuity conditions include: For each component spline, the following must be satisfied: Function values are continuous: The first derivative is continuous: The second derivative is continuous: Objective: To ensure a smooth transition of the spline function at the control point connections. Function value continuity avoids breaks, first derivative continuity ensures smooth tangent direction, and second derivative continuity ensures smooth curvature. This gives the curve C² continuity (i.e., second derivative continuity).
[0043] This lays the groundwork for the next step: the continuity condition provides additional equations that, combined with the interpolation condition, form a complete system of linear equations. Without the continuity condition, splines may exhibit cusps or breaks at connection points, compromising smoothness.
[0044] Boundary conditions include: Natural boundary conditions: Objective: To specify the behavior at the endpoints of a curve. Natural boundary conditions (second derivative is zero) cause the curve to bend "naturally" at the endpoints, i.e., with zero curvature. This ensures the stability of the curve endpoints.
[0045] This lays the groundwork for the next step: the boundary conditions provide the final two equations, making the system of linear equations closed (the number of equations equals the number of unknowns). Thus, the system of equations is solvable, preparing for the determination of the coefficients.
[0046] The coefficients are solved, including: Let the interval length be: From the interpolation conditions, we can obtain: Relationship between coefficients: Objective: To combine interpolation conditions, continuity conditions, and boundary conditions into a system of linear equations and solve for the spline coefficients (a, b, c, d). These coefficients completely define each piecewise cubic polynomial.
[0047] This lays the groundwork for the next step: once the coefficients are known, the spline function is completely determined and can be used to calculate the coordinates corresponding to any parameter value. The next step will be to specify the solution method for the system of equations.
[0048] The tridiagonal linear system of equations includes: Unknown quantity The following system of linear equations is satisfied: For i = 1, 2, ..., n-1 The equations corresponding to the boundary conditions are: Matrix form; The system of linear equations can be written as: in: D is a (n+1)×(n+1) tridiagonal matrix; It is the right-hand vector; The methods for solving the y-component and the z-component are completely similar.
[0049] Objective: To transform the problem of finding coefficients into solving a system of tridiagonal linear equations. Tridiagonal matrices have efficient algorithms with low computational complexity.
[0050] This lays the groundwork for the next step: solving this system of equations yields the coefficients, and then the other coefficients can be calculated using the relational formula. In this way, the spline function becomes fully usable, providing the foundation for curve generation.
[0051] Smooth curve generation includes: Parameter range sampling; In the parameter range [ , Take m points evenly on the top: Objective: To generate a dense series of parameter values by uniformly sampling over a parameter range. These parameter values will be used to calculate points on the curve, thus approximating a continuous and smooth curve.
[0052] This lays the groundwork for the next step: sampling points are the input for coordinate calculation. Without sampling, discrete curve points cannot be obtained.
[0053] Coordinate calculation, including: For each sampling point tj, calculate the three-dimensional coordinates: Objective: For each sampled parameter value, calculate the corresponding x, y, and z coordinates using a defined spline function. This is essentially evaluating the spline function.
[0054] This lays the groundwork for the next step: coordinate calculations generate the final sequence of 3D points, which represent a smooth curve. This is the direct source of the output.
[0055] The final results include: A three-dimensional smooth curve can be represented by a parametric equation: This parameterization method ensures the smoothness of the curve in three-dimensional space and can handle three-dimensional curves in any direction.
[0056] Step S30: Establish a local coordinate system at each point on the D curve. The local coordinate system includes a tangent vector, a normal vector, and a binormal vector. The tangent vector is along the curve direction, the normal vector is determined by the cross product of the reference vector and the tangent vector, and the binormal vector is determined by the cross product of the tangent vector and the normal vector.
[0057] In practice, the reference vector in the step of establishing the local coordinate system is either the upward direction vector of the global coordinate system or dynamically determined based on the direction of the road surface.
[0058] It should be noted that a local coordinate system is established on curve D; This is the key technology for achieving "parallel generation." It requires every point on path C... At that point, establish a local coordinate system to define the "width" direction in the vicinity of that point.
[0059] Tangent vector (T): This is the direction of the curve's movement at this key point, obtained by taking the first derivative of the curve C. =C'( ) / ||C'( )||.
[0060] Normal vector (N): This is a direction perpendicular to the tangent.
[0061] The method to determine this is to first select a fixed reference vector (such as the "up" vector of the coordinate system, V=(0,0,1)).
[0062] Calculate the first local coordinate axis: =V× (The cross product yields a vector that is perpendicular to both the "up" direction and the tangent).
[0063] if and If parallel, then the calculation is performed directly using another reference axis (such as (0,1,0)).
[0064] Binormal vector (B): obtained by the cross product of the tangent and the normal. = × This vector typically points to the projection of the "up" direction onto the tangent plane of the curve.
[0065] Now, for each point We now have an orthogonal coordinate system. , , ).
[0066] Choose the normal vector or binormal vector As the "width direction" of the crack.
[0067] In the subsequent description of this embodiment, it will be assumed that the selection is... .
[0068] Step S40: Based on the local coordinate system, generate curve A and curve B on the positive and negative sides along the normal direction, respectively. The points on curve A and curve B are calculated by dynamic width parameters and random offsets to ensure that curve A and curve B are symmetrical about curve D and maintain a reasonable spatial relationship.
[0069] In practice, the dynamic width parameter is a random value generated independently for each point on the D curve within a preset reasonable width range.
[0070] In specific implementation, point An orthogonal coordinate system with the origin ( , , This generates corresponding points for curves A and B.
[0071] Generate dynamic width: for each point Randomly generate a width value . Values can be randomly selected within a reasonable range, for example... (15cm, 40cm).
[0072] Generate random offsets: in Point, along the normal direction Points A and B are generated on the positive and negative sides respectively.
[0073] = +( / 2) = -( / 2) in: : Refers to the i-th point on the virtual center path C.
[0074] Guidance The unit normal vector at that location. It is a direction pointer with a length of 1, pointing in the direction of the crack width.
[0075] ( / 2): refers to the distance traveled.
[0076] This formula is key to the constraint: it guarantees... and Always about They are symmetrical, and the distance between them is exactly 1 / 2. This prevents unreasonable situations where two curves intersect or are too far apart.
[0077] Add random perturbations: To increase realism, you can... A small random perturbation is introduced during the generation. However, it must be limited to a reasonable range: = -( / 2) ,in (-3cm, 3cm).
[0078] Thus, the crack width becomes + It is more dynamic.
[0079] Based on the above calculations, two independent point sets are obtained: { , ,..., }and{ , ,..., }
[0080] Using the B-spline interpolation algorithm, two smooth three-dimensional spatial curves are obtained: curve A and curve B.
[0081] Step S50: Using curves A and B as boundary constraints, the bicubic B-spline surface algorithm is used to perform surface patching operations to generate a continuous and smooth three-dimensional crack surface model.
[0082] It should be noted that the steps of using the bicubic B-spline surface algorithm for surface completion include: parameterizing and smoothing curves A and B, and performing bilinear interpolation in the parameter space spanned by the two curves to construct the initial surface.
[0083] After generating the initial surface, the process further includes a surface discretization step: uniformly dividing the parameter space into a grid, calculating the spatial coordinates of each grid vertex, and dividing each grid cell into two triangles, ultimately forming a crack surface model composed of a set of triangular facets.
[0084] In practice, a bicubic B-spline surface algorithm is used to perform surface patching between curve A and curve B, which can form a smooth and natural surface.
[0085] The algorithm for bicubic B-spline surfaces includes: given two 3D space curves as the boundaries of the surface; Curve A: Curve B: Objective: To provide the basic input data for the algorithm and lay the groundwork for the next step: the two curves will serve as the boundary conditions for surface generation, determining the basic shape and range of the surface.
[0086] Curve parameterization and smoothing include: Cumulative chord length parameterization calculates the cumulative chord length parameter for each curve: For curve A: For curve B: Cubic spline interpolation involves performing cubic spline interpolation on each of the three coordinate components of the curve. For curve A: The same applies to curve B.
[0087] Smooth curve generation: Uniform sampling is performed over the parameter range to obtain a smooth curve. For curve A: in This represents the number of sampling points.
[0088] The same applies to curve B.
[0089] Objective: To transform discrete boundary curve points into continuous, smooth, parameterized curves. This lays the groundwork for the next step: The cumulative chord length parameterization provides the basis for defining the surface parameter space. Cubic spline interpolation ensures the C² continuity of the boundary curve, laying the foundation for surface smoothness; the generation of smooth curves provides high-quality boundary conditions for subsequent surface interpolation.
[0090] Surface generation algorithms include: Parameter space definition; Define the surface parameter space: Parameters along the curve direction (corresponding to the original curve parameters) Parameters for interpolation between two curves Objective: To establish a two-dimensional parametric coordinate system for the surface, laying the groundwork for the next step. The u-direction parameter corresponds to the curve direction, maintaining consistency with the boundary curve; The v-direction parameter defines how the surface transitions between two boundaries; Provides a parameter framework for bilinear interpolation.
[0091] Bilinear interpolation surfaces include: Points on the surface are obtained by bilinear interpolation: Expand into coordinate component form: Objective: To construct a continuous surface between two boundary curves.
[0092] This lays the groundwork for the next step: Provides a continuous mathematical expression for points on the surface; This provides a theoretical basis for discrete parameterization; Ensure that the continuity constraints of the surface at the boundary are satisfied.
[0093] Discretization parameterization discretizes the parameter space into a grid: in The number of samples along the curve direction. The number of samples in the interpolation direction.
[0094] The coordinates of the points on the curved surface mesh are: Objective: To convert continuous surfaces into discrete mesh representations.
[0095] This lays the groundwork for the next step.
[0096] Step S60: Discretize the generated continuous surface into a triangular mesh model for computer visualization and processing. In practice, the system generates structured grid points according to rules; provides vertex data for triangular mesh generation; and establishes a discrete mapping from parameter space to geometric space.
[0097] Triangular mesh generation includes: vertex index mapping; Mapping 2D mesh vertices to 1D indices: Triangle division; For each grid cell This generates two triangles: The first triangle: The second triangle: Objective: To connect discrete grid points into triangular patches.
[0098] This lays the groundwork for the next step: Define the topological connectivity of the surface, provide basic units for the triangular mesh set, and establish the geometric integrity of the surface in the discrete case.
[0099] The triangular mesh set includes: The triangular mesh of the entire surface is the union of all mesh element triangles: Objective: To integrate all triangular facets to form a complete curved surface mesh. Algorithm endpoint: Output a 3D surface model that can be used for visualization, analysis, and further processing.
[0100] The crack is obtained by expanding the surface obtained from curves A and B, including: Basic surface definition: A continuous parametric surface generated by two given boundary curves: in and It is a smooth boundary curve.
[0101] Objective: To establish a continuous mathematical surface model, laying the groundwork for the next step: providing a continuous mathematical description of the surface, thus establishing the foundation for discretization sampling.
[0102] Surface discretization includes: Parameter space sampling, uniform discretization over the parameter domain: Vertex coordinate calculation: Triangular mesh generation: Two triangles are generated for each mesh cell. Objective: To transform continuous surfaces into computer-processable discrete meshes, laying the groundwork for the next step: generating regular structured meshes to provide a topological foundation for normal vector calculation and subsequent expansion. Vertex normal vector calculation includes: Calculating the surface normal vector for a triangle vertex : Vertex normal vector weighted average: in It contains vertices A set of triangles, It is the weighting coefficient.
[0103] Objective: Calculate the direction of the normal vector for each vertex.
[0104] This lays the groundwork for the next step: providing information on the direction of expansion. Both fractal expansion and branching generation depend on the direction of the normal vector. Fractal noise expansion includes: 3D Perlin noise function: Parameter description: : Quantity (number of fractal layers); Persistence; : Scaling vector; : Fractal displacement of three-dimensional Perlin noise function in It is a roughness control parameter.
[0105] Vertex position update Objective: To apply fractal perturbation in the normal direction of the surface to simulate the irregularity of a real crack surface, laying the groundwork for the next step: generating preliminary crack surface features to provide a geometric basis for branch generation.
[0106] Crack branch generation includes: The branch point selection probability is to randomly select the branch starting point from the vertices of the main crack: in: Basic branch density; :vertex Curvature at that point; Curvature-related functions (branches are more likely to occur at locations with high curvature).
[0107] Branch direction generation This formula calculates the unit direction vector d of the branch crack, which determines the direction in which the branch extends from the main crack.
[0108] in: A random vector, which follows a three-dimensional standard normal distribution (mean 0, covariance matrix is identity matrix), is used to introduce randomness so that the branching direction changes naturally.
[0109] The tangent direction vector of the main crack indicates the local orientation of the main crack.
[0110] The normal vector of the main crack represents the direction perpendicular to the surface of the main crack.
[0111] A scalar parameter that controls the perpendicularity of the branch to the main crack. When When the fracture is larger, the branches tend to be perpendicular to the main fracture; when... When the value is small, the branch direction is more influenced by the random vector. Influence.
[0112] The cross product of the normal vector and the tangent vector generates a vector perpendicular to both, which is used to define the reference direction of the branch.
[0113] In the denominator This represents the magnitude of the vector, used for normalization, so that... It becomes a unit vector.
[0114] Branch geometry generates branch endpoint coordinates: in It is the branch length. It is a curvature-related length adjustment function.
[0115] Branch triangulation generates connection triangles for each branch: in: : A starting point on the main crack from which branches begin to form.
[0116] : The unit direction vector obtained from Formula 1.
[0117] The length of the branch is a scalar value.
[0118] : A with curvature Related functions are used to adjust branch length. Curvature This indicates that the main crack is at point [point]. The degree of curvature at the point; typically, branches in areas of high curvature may be shorter to enhance realism.
[0119] A triangle is composed of three vertex indices.
[0120] and : Index of adjacent points on the main crack, representing a segment of the main crack.
[0121] Total number of points in the main crack mesh.
[0122] : The index of the branch, used to uniquely identify each branch.
[0123] The index of the branch endpoints, which avoids index conflicts by offsetting the number of main crack points.
[0124] This indicates that the main crack point , The branches are connected to the endpoints to form a triangle, thus creating the geometry of the branches in the grid.
[0125] The entire expression represents starting from the beginning. Along direction distance traveled Obtain the branch endpoints.
[0126] Objective: To generate secondary branches based on the main crack to increase realism and lay the groundwork for the next step: to refine the crack morphology and form a complete crack network.
[0127] A complete crack surface model, including: The integrated deformation field combines various extended effects: Final surface representation: Discrete form: in: A point on a curved surface.
[0128] Fractal deformation fields, typically generated based on fractal noise (such as Perrlin noise), are used to increase the roughness and irregularity of crack surfaces, making them appear more natural.
[0129] The branch deformation field represents the displacement caused by the branch crack, and is usually calculated based on the branch geometry.
[0130] The total deformation field is the vector sum of fractal and branching deformations, applied to a point. .
[0131] : Original surface parameterization, where and It is a parameter that defines the initial shape of the surface.
[0132] Total deformation field at surface point The value at that point is a displacement vector.
[0133] The final crack surface is the result of adding a deformation field to the original surface, revealing the details of the cracks and branches.
[0134] It should be noted that the main differences and improvements of this application compared to the prior art include: Constrained randomization generation mechanism: By using neighborhood constraints and physical parameter range limitations, the generation results are ensured to maintain randomness while also ensuring reasonableness, solving the problem of overly regular or completely unreasonable crack morphologies in traditional methods. Hyperbolic constraint surface construction: Surface generation is achieved by using A and B hyperbolas to jointly constrain the surface, ensuring the fit between crack geometry and the road body, avoiding the problem of the model deviating from the actual environment. Fully parametric design: All key parameters (neighborhood range, depth value, etc.) can be adjusted according to actual needs, making the method widely applicable and flexible.
[0135] This embodiment generates a virtual center path as the skeleton of the crack using a constraint randomization method. By dynamically defining the crack width along the D curve and applying random perturbations, A curves and B curves representing the two edges of the crack are generated in parallel and symmetrically on both sides, ensuring that their shapes change naturally while maintaining a reasonable spatial relationship. Finally, using the generated A and B curves as boundary constraints, a bicubic B-spline surface algorithm is used to perform surface patching operations, constructing a smooth, complete, and physically realistic 3D crack model. This achieves the technical effect of generating realistic internal crack paths under irregular constraints.
[0136] Furthermore, embodiments of this application also propose a computer-readable storage medium storing a program for generating a road internal crack surface based on bidirectional trajectory collaboration. When the program for generating a road internal crack surface based on bidirectional trajectory collaboration is executed by a processor, it implements the steps of the method for generating a road internal crack surface based on bidirectional trajectory collaboration as described above.
[0137] Reference Figure 3 , Figure 3 This is a structural block diagram of the first embodiment of the road internal crack surface generation system based on bidirectional trajectory collaboration in this application.
[0138] like Figure 3 As shown, the road internal crack surface generation system based on bidirectional trajectory collaboration proposed in this application includes: The space establishment module 10 is used to predefine the three-dimensional spatial range of the road body, wherein the three-dimensional space has preset length, width and height boundaries in the x, y and z directions, respectively; The D-curve generation module 20 is used to randomly select an initial point M and an end point N in the three-dimensional space, with the distance between the two points satisfying the constraints of a minimum distance threshold and a maximum distance threshold; uniformly divide the straight line L connecting point M and point N into segments, and randomly select key points in the spherical neighborhood of each segment point; and connect all key points using the B-spline interpolation algorithm to generate a smooth and continuous virtual center path D-curve. The coordinate system establishment module 30 is used to establish a local coordinate system at each point on the D curve. The local coordinate system includes a tangent vector, a normal vector, and a binormal vector, wherein the tangent vector is along the curve direction, the normal vector is determined by the cross product of the reference vector and the tangent vector, and the binormal vector is determined by the cross product of the tangent vector and the normal vector. The curve generation module 40 is used to generate curve A and curve B respectively on the positive and negative sides along the normal direction based on the local coordinate system. The points on curve A and curve B are calculated by dynamic width parameters and random offsets to ensure that curve A and curve B are symmetrical about curve D and maintain a reasonable spatial relationship. The surface model generation module 50 is used to generate a continuous and smooth three-dimensional crack surface model by using curves A and B as boundary constraints and employing a bicubic B-spline surface algorithm for surface patching. Output module 60 is used to discretize the generated continuous surface into a triangular mesh model for computer visualization and processing.
[0139] It should be understood that the above are merely illustrative examples and do not constitute any limitation on the technical solution of this application. In specific applications, those skilled in the art can make settings as needed, and this application does not impose any restrictions on this.
[0140] This embodiment generates a virtual center path as the skeleton of the crack using a constraint randomization method. By dynamically defining the crack width along the D curve and applying random perturbations, A curves and B curves representing the two edges of the crack are generated in parallel and symmetrically on both sides, ensuring that their shapes change naturally while maintaining a reasonable spatial relationship. Finally, using the generated A and B curves as boundary constraints, a bicubic B-spline surface algorithm is used to perform surface patching operations, constructing a smooth, complete, and physically realistic 3D crack model. This achieves the technical effect of generating realistic internal crack paths under irregular constraints.
[0141] It should be noted that the workflow described above is merely illustrative and does not limit the scope of protection of this application. In practical applications, those skilled in the art can select some or all of it to achieve the purpose of this embodiment according to actual needs, and no restrictions are imposed here.
[0142] In addition, for technical details not described in detail in this embodiment, please refer to the method for generating road internal crack surfaces based on bidirectional trajectory collaboration provided in any embodiment of this application, which will not be repeated here.
[0143] Furthermore, it should be noted that, in this document, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or system that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or system. Unless otherwise specified, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or system that includes that element.
[0144] The sequence numbers of the embodiments in this application are for descriptive purposes only and do not represent the superiority or inferiority of the embodiments.
[0145] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods of the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a storage medium (such as read-only memory (ROM) / RAM, magnetic disk, optical disk), and includes several instructions to cause a terminal device (which may be a mobile phone, computer, server, or network device, etc.) to execute the methods of the various embodiments of this application. The above are only preferred embodiments of this application and do not limit the patent scope of this application. All equivalent structural or procedural transformations made using the content of this application's specification and drawings, or direct or indirect applications in other related technical fields, are similarly included within the patent protection scope of this application.
Claims
1. A method for generating internal road crack surfaces based on bidirectional trajectory collaboration, characterized in that, include: The three-dimensional spatial range of the road body is predefined, and the three-dimensional space has preset length, width and height boundaries in the x, y and z directions, respectively; In the three-dimensional space, an initial point M and an end point N are randomly selected, and the distance between the two points satisfies the constraints of the minimum distance threshold and the maximum distance threshold; the straight line L connecting point M and point N is uniformly divided into segments, and key points are randomly selected in the spherical neighborhood of each segment point; all key points are connected by the B-spline interpolation algorithm to generate a smooth and continuous virtual center path curve D. A local coordinate system is established at each point on the D curve. The local coordinate system includes a tangent vector, a normal vector, and a binormal vector. The tangent vector is along the curve direction, the normal vector is determined by the cross product of the reference vector and the tangent vector, and the binormal vector is determined by the cross product of the tangent vector and the normal vector. Based on the local coordinate system, curve A and curve B are generated on the positive and negative sides along the normal direction, respectively. The points on curve A and curve B are calculated by dynamic width parameters and random offsets to ensure that curve A and curve B are symmetrical about curve D and maintain a reasonable spatial relationship. Using curves A and B as boundary constraints, a bicubic B-spline surface algorithm is employed to perform surface patching operations, generating a continuous and smooth three-dimensional crack surface model. The generated continuous surface is discretized into a triangular mesh model for computer visualization and processing.
2. The method according to claim 1, characterized in that, In the step of randomly selecting the initial point M and the endpoint N in three-dimensional space, the selection range of the endpoint N is constrained to a ring-shaped spatial region centered on the initial point M and defined by the minimum distance threshold and the maximum distance threshold in each direction of the three-dimensional space.
3. The method according to claim 1, characterized in that, The steps for generating a D curve using the B-spline interpolation algorithm include: performing cumulative chord length parameterization on the key point set, and using a cubic spline interpolation algorithm that satisfies natural boundary conditions to interpolate the three components of the spatial coordinates respectively, so as to ensure that the D curve has second-order continuous smoothness.
4. The method according to claim 1, characterized in that, The reference vector in the step of establishing the local coordinate system can be the upward direction vector of the global coordinate system or dynamically determined according to the direction of the road surface.
5. The method according to claim 1, characterized in that, The dynamic width parameter is a random value generated independently for each point on the D curve within a preset reasonable width range.
6. The method according to claim 1, characterized in that, The steps for surface completion using the bicubic B-spline surface algorithm include: parameterizing and smoothing curves A and B, and performing bilinear interpolation in the parameter space spanned by the two curves to construct the initial surface.
7. The method according to claim 6, characterized in that, After generating the initial surface, the process further includes a surface discretization step: uniformly dividing the parameter space into a grid, calculating the spatial coordinates of each grid vertex, and dividing each grid cell into two triangles, ultimately forming a crack surface model composed of a set of triangular facets.
8. A system for generating internal road crack surfaces based on bidirectional trajectory collaboration, characterized in that, include: The space establishment module is used to predefine the three-dimensional spatial range of the road body, wherein the three-dimensional space has preset length, width and height boundaries in the x, y and z directions, respectively; The D-curve generation module is used to randomly select an initial point M and an end point N in the three-dimensional space, with the distance between the two points satisfying the constraints of a minimum distance threshold and a maximum distance threshold; uniformly divide the straight line L connecting points M and N into segments, and randomly select key points in the spherical neighborhood of each segment point; and connect all key points using the B-spline interpolation algorithm to generate a smooth and continuous virtual center path D-curve. The coordinate system establishment module is used to establish a local coordinate system at each point on the D curve. The local coordinate system includes a tangent vector, a normal vector, and a binormal vector, wherein the tangent vector is along the curve direction, the normal vector is determined by the cross product of the reference vector and the tangent vector, and the binormal vector is determined by the cross product of the tangent vector and the normal vector. The curve generation module is used to generate curve A and curve B respectively on the positive and negative sides along the normal direction based on the local coordinate system. The points on curve A and curve B are calculated by dynamic width parameters and random offsets to ensure that curve A and curve B are symmetrical about curve D and maintain a reasonable spatial relationship. The surface model generation module is used to generate a continuous and smooth three-dimensional crack surface model by using curves A and B as boundary constraints and employing a bicubic B-spline surface algorithm for surface patching. The output module is used to discretize the generated continuous surface into a triangular mesh model for computer visualization and processing.
9. A computer device, characterized in that, The device includes a memory and a processor, wherein the processor, when executing computer instructions stored in the memory, performs the method as described in any one of claims 1 to 7.
10. A computer-readable storage medium, characterized in that, Includes instructions that, when executed on a computer, cause the computer to perform the method as described in any one of claims 1 to 7.