Digital mirror-based twin data visualization method
Patent Information
- Application Number
- CN202611033955.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-07-13
- Publication Date
- 2026-09-25
AI Technical Summary
[0003]现有数字镜像技术主要面向实体对象、运行环境、物理过程和空间结构建立数字化映射关系,实际运作中更偏重对传感数据、模型参数、空间坐标、状态变量和边界结构进行同步表达,能够形成可计算、可更新、可展示的镜像对象,但在物理量与空间表面之间的深层耦合方面仍存在不足;当应力、浓度梯度等状态变量仅作为属性值附着在对象或区域上时,空间表达往往停留在颜色、标签、数值面板等展示层面,难以进一步驱动几何路径、分枝形态和实体网格生成,导致用户只能观察某一位置存在何种状态,难以判断状态沿复杂曲面扩散时的方向、连续轨迹和结构边界;在复杂装备外壳、工程构件表面或不规则环境边界中,单纯镜像表达容易受到网格面片法向变化、曲面折转和局部空间坐标离散影响,造成物理状态分布与可视化形态之间关联不足
[0013]与现有技术相比,本发明的优点和积极效果在于:
Smart Images

Figure CN122818451A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of digital mirroring technology, and in particular to a method for visualizing twin data based on digital mirroring. Background Technology
[0002] Digital mirroring technology refers to the technical field of establishing digital mapping relationships between physical objects, operating environments, physical processes, and spatial structures. It typically uses information such as sensor data, model parameters, spatial coordinates, state variables, and boundary structures to synchronously express the form, position, state, and change process of real objects, enabling physical objects to form computable, updatable, and displayable mirror objects in digital space.
[0003] Existing digital mirroring technology primarily focuses on establishing digital mapping relationships between physical objects, operating environments, physical processes, and spatial structures. In practice, it emphasizes the synchronous expression of sensor data, model parameters, spatial coordinates, state variables, and boundary structures, enabling the creation of computable, updatable, and displayable mirrored objects. However, it still falls short in terms of deep coupling between physical quantities and spatial surfaces. When state variables such as stress and concentration gradients are merely attached as attribute values to objects or regions, spatial representation often remains at the level of displaying colors, labels, and numerical panels, making it difficult to further drive the generation of geometric paths, branching morphologies, and solid meshes. This results in users only being able to observe the state at a certain location, making it difficult to determine the direction, continuous trajectory, and structural boundaries of the state as it spreads along complex surfaces. In complex equipment shells, engineering component surfaces, or irregular environmental boundaries, simple mirroring representation is easily affected by changes in mesh normals, surface transformations, and local spatial coordinate discretization, leading to insufficient correlation between the physical state distribution and the visualized form. Therefore, improvements are needed. Summary of the Invention
[0004] The purpose of this invention is to address the shortcomings of existing technologies by proposing a twin data visualization method based on digital mirroring.
[0005] To achieve the above objectives, the present invention adopts the following technical solution: a twin data visualization method based on digital mirroring, comprising the following steps: Obtain the stress tensor data and concentration gradient magnitude corresponding to the digital mirror environment state, and obtain the three-dimensional spatial coordinate parameters of each grid vertex within the boundary representing the three-dimensional surface grid; map the stress tensor data and the concentration gradient magnitude to the spatial position of the corresponding three-dimensional spatial coordinate parameters to construct a spatial twin tensor field; The rewrite iteration is performed based on the parameterized L system containing the physical control operator. The stress tensor data and concentration gradient magnitude corresponding to the current growth node in the spatial twin tensor field are retrieved and substituted into the physical control operator to determine the branch deflection angle and generation step size of the current growth node. A topology string containing multiple branch paths is generated, and the theoretical growth reference vector of the current growth node is solved. In the boundary-represented 3D surface mesh, a target polygonal patch corresponding to the current growth node is determined, and the patch normal vector parameters of the target polygonal patch are extracted; the theoretical growth reference vector is projected onto the tangent plane space according to the patch normal vector parameters to generate a restricted tangent direction vector, and a curved surface fitting sliding trajectory is established on the boundary-represented 3D surface mesh according to the restricted tangent direction vector; Based on the point coordinate sequence associated with the surface-fitting sliding trajectory, the contour is constructed according to the surface normal vector parameters to generate cross-sectional geometric contour parameters. The cross-sectional geometric contour parameters are then swept along the surface-fitting sliding trajectory to construct a three-dimensional cylindrical branch surface morphology. The three-dimensional cylindrical branch surface morphology is then meshed and mapped to generate a three-dimensional diffused tree-like solid mesh that fits the boundary representing the three-dimensional surface mesh.
[0006] Preferably, the steps for obtaining the three-dimensional spatial coordinate parameters are as follows: Based on the digital mirror environment status, read the status number, sampling unit number, force direction identifier, normal stress component, tangential stress component, concentration change, and adjacent sampling interval from the environment status record one by one. Group the normal stress components and tangential stress components with the same sampling unit number into the same tensor record. Convert the concentration change into the concentration gradient amplitude of the corresponding sampling unit according to the adjacent sampling interval. Delete records with missing status numbers, duplicate sampling unit numbers, and empty adjacent sampling intervals to obtain stress tensor data and concentration gradient amplitude. The boundary represents a 3D surface mesh. The vertex number, face number, vertex connection order, vertex horizontal coordinate, vertex vertical coordinate, and vertex height coordinate are extracted from the boundary represents a 3D surface mesh. The uniqueness of the vertex number is verified. The position of each mesh vertex in the corresponding polygon face is determined according to the face number and vertex connection order. The vertex horizontal coordinate, vertex vertical coordinate, and vertex height coordinate are written into the corresponding vertex number to obtain the 3D spatial coordinate parameters.
[0007] Preferably, the steps for obtaining the spatial twin tensor field are as follows: According to the correspondence between the sampling unit number and the vertex number, each set of stress tensor data is written to the spatial position corresponding to the three-dimensional spatial coordinate parameter, and each set of concentration gradient magnitude is written to the spatial position of the same three-dimensional spatial coordinate parameter. For mesh vertices that have not been written, the written physical quantity records of adjacent vertices under the same patch number are retrieved, and the physical quantity mapping relationship of the corresponding spatial position is completed according to the vertex connection order to generate a spatial twin tensor field.
[0008] Preferably, the steps for obtaining the theoretical growth reference vector are as follows: Based on the spatial twin tensor field, read the node number, node three-dimensional coordinate parameters, iteration level identifier and parent node number of the current growth node, define the start character, rewrite character, branch character, backtrack character and termination character of the parameterized L system, project the node three-dimensional coordinate parameters of the current growth node to the spatial position index in the spatial twin tensor field, and retrieve the stress tensor data and concentration gradient magnitude under the same spatial position index; Read the stress tensor data, concentration gradient magnitude, iteration level identifier, and parent node number corresponding to the current growth node. Decompose the stress tensor data into principal direction tensor components and shear tensor components. Convert the concentration gradient magnitude into concentration driving intensity. Correct the branch rotation direction according to the principal direction tensor components. Correct the branch deflection amplitude according to the shear tensor components. Correct the node advance distance according to the concentration driving intensity to obtain the branch deflection angle and generation step size of the current growth node. Based on the branch deflection angle and generation step size of the current growth node, the start character, rewrite character, branch character, backtrack character, and termination character in the parameterized L system are read. The rewrite character in the current string is replaced round by round according to the iteration level identifier. The branch character is written at the position corresponding to the branch deflection angle, the forward character is written at the position corresponding to the generation step size, and the backtrack character is written at the position corresponding to the parent node number, forming a topology string containing multiple branch paths. The node connection order, branch turning order, and node forward order are parsed character by character according to the topology string. The forward character direction of the current growth node is converted into a three-dimensional direction parameter to obtain the theoretical growth reference vector of the current growth node.
[0009] Preferably, the step of obtaining the restricted tangent direction vector is as follows: In the boundary representing the three-dimensional surface mesh, the node three-dimensional coordinate parameters of the current growth node, the face number of each polygon face, the vertex number, the vertex horizontal coordinate, the vertex vertical coordinate, and the vertex height coordinate are read. Each polygon face is traversed one by one according to the face number. The spatial distance from the current growth node to each vertex of each polygon face is calculated. The average of the spatial distances within the same polygon face is calculated. The polygon face with the smallest average spatial distance is determined as the target polygon face. The direction of adjacent vertices is extracted according to the vertex connection order of the target polygon face. The direction of adjacent vertices is cross-multiplied and normalized to obtain the face normal vector parameters of the target polygon face. Read the theoretical growth reference vector of the current growth node, calculate the projection component of the theoretical growth reference vector in the direction of the normal vector parameter of the facet, subtract the projection component from the theoretical growth reference vector and press it into the tangent plane space of the target polygon facet, perform length normalization processing on the direction component after pressing into the tangent plane space, if the length normalized direction component points to the outer boundary of the target polygon facet, then correct the direction component along the tangential direction of the boundary of the target polygon facet to obtain the restricted tangent direction vector.
[0010] Preferably, the step of obtaining the curved surface fitting sliding trajectory is as follows: On the boundary representing the three-dimensional surface mesh, read the node three-dimensional coordinate parameters of the current growth node, the patch number of the target polygon patch, the shared edge number of adjacent polygon patches, and the coordinates of the endpoints of the shared edge. Using the node three-dimensional coordinate parameters of the current growth node as the starting point coordinates, sequentially select adjacent polygon patches that pass through the shared edge number along the restricted tangent direction vector. Record the new point coordinates after each passage through the shared edge number. If the new point coordinates reach the termination position corresponding to the multi-branch path, stop the point coordinate recursion. Connect the point coordinates in the generation order to establish a surface fitting sliding trajectory.
[0011] Preferably, the step of obtaining the surface morphology of the three-dimensional cylindrical branch is as follows: Read the point coordinate sequence, point sequence number, adjacent point direction quantity and surface normal vector parameter associated with the surface fitting sliding trajectory. Establish the cross-section center position at each point coordinate. Determine the cross-section advancement direction according to the adjacent point direction quantity. Determine the cross-section outward normal direction according to the surface normal vector parameter. Take points of the cross-section outward normal direction around the cross-section center position at equal angles. Connect adjacent contour points within the same cross-section position to generate cross-section geometric contour parameters. Based on the cross-sectional geometric contour parameters, the coordinate sequence of adjacent cross-section positions in the surface fitting sliding trajectory is read. The contour point numbers of adjacent cross-section positions are called sequentially according to the point position numbering. The contour point numbers of the previous cross-section position are matched one by one with the corresponding contour point numbers of the next cross-section position. The corresponding contour points between adjacent cross-section positions are connected to form a lateral boundary. The adjacent lateral boundaries are closed into cylindrical branch patches to form a three-dimensional cylindrical branch body surface morphology.
[0012] Preferably, the steps for obtaining the three-dimensional diffused tree-like solid mesh are as follows: Read the cylindrical branch facets, contour point numbers, lateral boundaries, point coordinate sequences, and vertex numbers of the boundary-representing 3D surface mesh from the surface morphology of the 3D cylindrical branch body. Split the cylindrical branch facets into triangular facet units according to the connection order of the cylindrical branch facets. Project the vertex coordinates of each triangular facet unit to the nearest spatial position on the surface of the boundary-representing 3D surface mesh. Write the projected vertex coordinates into the corresponding vertex number. Reconnect adjacent triangular facet units according to the lateral boundaries to generate a 3D diffused tree-like solid mesh that fits the surface of the boundary-representing 3D surface mesh.
[0013] Compared with the prior art, the advantages and positive effects of the present invention are as follows: This invention acquires stress tensor data, concentration gradient magnitude, and 3D spatial coordinate parameters of each grid vertex within a 3D surface mesh representing a digital mirror environment state. It then maps the stress tensor data and concentration gradient magnitude to their corresponding spatial coordinate parameters, unifying previously dispersed physical state quantities and geometrical relationships into a single spatial representation framework. This forms a spatial twin tensor field covering the 3D surface mesh representing the boundary, enabling physical quantities to move beyond isolated numerical displays and acquire spatial attributes that allow for location, tracking, and participation in subsequent geometric generation. Based on this spatial twin tensor field, the string rewriting iteration of the parameterized L system no longer relies solely on preset branching rules. Instead, it continuously retrieves the stress tensor data and concentration gradient magnitude corresponding to the current growth node and substitutes the retrieval results into the physical control operator to obtain the branch bias of the current growth node. By adjusting the rotation angle and generation step size, the topological structure string of multi-branch paths can be constrained by the real physical state, enhancing the coupling between the diffusion path and the digital mirror environment state. Through projection processing between the target polygon patch, patch normal vector parameters, and theoretical growth reference vector, the branching direction can be restricted to the tangent plane space of the boundary representing the 3D surface mesh, preventing the generated path from deviating from the surface geometric boundary. Furthermore, by establishing a surface-fitting sliding trajectory through the constrained tangent direction vector, the path can have spatial consistency of continuous expansion along the surface. Based on the surface-fitting sliding trajectory, cross-sectional geometric contour parameters are built and swept along the surface-fitting sliding trajectory. Then, meshing and coordinate mapping are performed, which can transform the physically driven path into a 3D diffusion tree-like solid mesh that fits the boundary representing the 3D surface mesh, thereby improving the spatial fit of the twin data visualization results. Attached Figure Description
[0014] Figure 1 A graph showing the relationship between the shear tensor components and the branch deflection angle; Figure 2 This is a graph showing the relationship between the concentration gradient magnitude and the generation step size. Detailed Implementation
[0015] To make the objectives, technical solutions, and advantages of this invention clearer, the invention will be further described in detail below 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 invention.
[0016] Please see Figure 1-2 This invention provides a technical solution: a method for visualizing twin data based on digital mirroring, comprising the following steps: Obtain the stress tensor data and concentration gradient magnitude corresponding to the digital mirror environment state, and obtain the three-dimensional spatial coordinate parameters of each grid vertex within the boundary-representing three-dimensional surface grid; map the stress tensor data and concentration gradient magnitude to the spatial position of the corresponding three-dimensional spatial coordinate parameters to construct a spatial twin tensor field; The rewrite iteration is performed based on the parameterized L system containing the physical control operator. The stress tensor data and concentration gradient magnitude corresponding to the current growth node in the spatial twin tensor field are retrieved and substituted into the physical control operator to determine the branch deflection angle and generation step size of the current growth node. A topology string containing multiple branch paths is generated, and the theoretical growth reference vector of the current growth node is solved. In the boundary-represented 3D surface mesh, the target polygonal patch corresponding to the current growth node is determined, and the patch normal vector parameters of the target polygonal patch are extracted. Based on the patch normal vector parameters, the theoretical growth reference vector is projected onto the tangent plane space to generate a restricted tangent direction vector. Based on the restricted tangent direction vector, a surface-fitting sliding trajectory is established on the boundary-represented 3D surface mesh. Based on the point coordinate sequence associated with the surface-fitting sliding trajectory, the contour is constructed according to the surface normal vector parameters to generate the cross-sectional geometric contour parameters. The cross-sectional geometric contour parameters are then swept along the surface-fitting sliding trajectory to construct the surface morphology of the three-dimensional cylindrical branch body. The surface morphology of the three-dimensional cylindrical branch body is then meshed and mapped to generate a three-dimensional diffused tree-like solid mesh that fits the boundary representing the three-dimensional surface mesh.
[0017] The steps for obtaining three-dimensional spatial coordinate parameters are as follows: Based on the digital mirror environment status, read the status number, sampling unit number, force direction identifier, normal stress component, tangential stress component, concentration change, and adjacent sampling interval from the environment status record one by one. Group the normal stress component and tangential stress component with the same sampling unit number into the same tensor record. Convert the concentration change into the concentration gradient amplitude of the corresponding sampling unit according to the adjacent sampling interval. Delete the records with missing status numbers, duplicate sampling unit numbers, and empty adjacent sampling intervals to obtain stress tensor data and concentration gradient amplitude. The boundary represents the 3D surface mesh. The vertex number, face number, vertex connection order, vertex horizontal coordinate, vertex vertical coordinate, and vertex height coordinate are extracted from the boundary represents the 3D surface mesh. The uniqueness of the vertex number is verified. The position of each mesh vertex in the corresponding polygon face is confirmed according to the face number and vertex connection order. The vertex horizontal coordinate, vertex vertical coordinate, and vertex height coordinate are written into the corresponding vertex number to obtain the 3D space coordinate parameters.
[0018] Specifically, based on the digital mirror environment status, a data processing flow is first established to read environmental status records stored in comma-separated value format one by one. Each record contains a status number, sampling unit number, force direction identifier (e.g., X, Y, Z axes), normal stress component, tangential stress component, concentration change, and adjacent sampling interval. A hash table is created with the sampling unit number as the key and the data structure as the value. This data structure predefines a 3x3 stress tensor matrix and a concentration gradient magnitude field. Each record is traversed. When a record is read, the normal stress component is filled into the diagonal position of the stress tensor matrix according to its force direction identifier (e.g., the normal stress component along the X axis is filled into position (1,1) of the matrix), and the tangential stress component is filled into the off-diagonal position. The location (e.g., the tangential stress components on the XY plane are filled in at positions (1,2) and (2,1))) is used to divide the concentration change by the adjacent sampling interval. The calculation result, i.e., the concentration gradient magnitude, is stored in the corresponding field. Before data filling, data cleaning rules are set. For example, the valid range of the state number is 1 to 9999. If the state number in the record is empty or exceeds this range, the record is deleted. At the same time, using the unique key characteristic of the hash table, if it is found that an attempt is made to insert an existing sampling unit number, the record is marked as duplicate and deleted. And it is checked whether the adjacent sampling interval is greater than 0. If it is empty or less than or equal to 0, the record is also deleted. After all records are traversed and processed, the set of all data stored in the hash table is the obtained stress tensor data and concentration gradient magnitude.
[0019] The system synchronously reads the boundary representation 3D surface mesh stored in OBJ or PLY file format, parses the file content to extract vertex and face information. Specifically, it reads the file line by line, identifying lines that begin with a specific character (e.g., in OBJ format, "v" represents a vertex and "f" represents a face). For each vertex line, it extracts the following three floating-point numbers as the vertex's horizontal, vertical, and height coordinates, assigning a unique vertex number based on its order of appearance in the file or its explicit numbering. For each face line, it extracts the following integers as the sequence of vertex numbers that make up the face, i.e., the vertex connection order, and assigns the face a unique face number. To ensure the uniqueness of the vertex numbers... The verification process involves maintaining a dynamic array or set during the reading process. For each vertex number read, it checks if it already exists in the set. If it does, an error is recorded and processing is terminated or the vertex is ignored, ensuring that each vertex number is unique. Next, a data structure is constructed, such as a dictionary with vertex numbers as keys, storing the 3D coordinates (horizontal, vertical, and height) of each vertex in the corresponding values. Simultaneously, a dictionary with face numbers as keys is constructed, containing the connection order of the vertices that make up the face. By associating these two data structures, the position of each mesh vertex within its corresponding polygon face can be confirmed. The final set of coordinates indexed by vertex numbers represents the 3D spatial coordinate parameters.
[0020] The steps for obtaining the spatial twin tensor field are as follows: According to the correspondence between sampling unit number and vertex number, each set of stress tensor data is written to the spatial position of the corresponding three-dimensional spatial coordinate parameter, and each set of concentration gradient magnitude is written to the spatial position of the same three-dimensional spatial coordinate parameter. For the mesh vertices that have not been written, the written physical quantity records of adjacent vertices under the same facet number are retrieved, and the physical quantity mapping relationship of the corresponding spatial position is completed according to the vertex connection order to generate a spatial twin tensor field.
[0021] Specifically, according to the predefined mapping relationship between sampling units and mesh vertices (e.g., a mapping table with two columns, the first column being the sampling unit number and the second column being the corresponding vertex number), the stress tensor data and concentration gradient magnitude set obtained in the previous step are traversed. For each sampling unit number, the corresponding vertex number is found through the mapping table. Then, the stress tensor data (a 3x3 matrix) and concentration gradient magnitude of that sampling unit are assigned to the data structure associated with the three-dimensional spatial coordinate parameters corresponding to that vertex number. After completing the initial mapping, data completion is required for any vertices in the mesh that may not have been assigned physical quantities. The specific method is to traverse all mesh vertices and check if their physical quantity fields are empty. If they are empty, then first... By using the information of the facet to which the vertex belongs, we find the adjacent vertices that are in the same polygonal facet and directly connected by edges. Then, we collect the existing physical quantity records of all these adjacent vertices and use the inverse distance weighted interpolation (IDW) method to calculate the physical quantity of the null vertex. For example, for the scalar concentration gradient magnitude, it is calculated as a weighted average of the concentration gradient magnitudes of all adjacent vertices, with the weight being the reciprocal of the spatial distance between vertices. For the stress tensor, we independently perform the same inverse distance weighted interpolation calculation on each of the nine components of the tensor and fill the physical quantity field of the corresponding null vertex with the calculated value. We repeat this process for all mesh vertices that have not been written until all vertices have physical quantity mappings, thereby generating a complete spatial twin tensor field.
[0022] The steps for obtaining the theoretical growth benchmark vector are as follows: Based on the spatial twin tensor field, read the node number, node three-dimensional coordinate parameters, iteration level identifier and parent node number of the current growth node, define the start character, rewrite character, branch character, backtrack character and termination character of the parameterized L system, project the node three-dimensional coordinate parameters of the current growth node to the spatial position index in the spatial twin tensor field, and retrieve the stress tensor data and concentration gradient magnitude under the same spatial position index. Read the stress tensor data, concentration gradient magnitude, iteration level identifier and parent node number corresponding to the current growth node. Decompose the stress tensor data into principal direction tensor components and shear tensor components. Convert the concentration gradient magnitude into concentration driving intensity. Correct the branch rotation direction according to the principal direction tensor components. Correct the branch deflection magnitude according to the shear tensor components. Correct the node advance distance according to the concentration driving intensity. Obtain the branch deflection angle and generation step size of the current growth node. Based on the branch deflection angle and generation step size of the current growth node, the start character, rewrite character, branch character, backtracking character, and termination character in the parameterized L system are read. The rewrite character in the current string is replaced round by round according to the iteration level identifier. The branch character is written at the position corresponding to the branch deflection angle, the forward character is written at the position corresponding to the generation step size, and the backtracking character is written at the position corresponding to the parent node number, forming a topology string containing multiple branch paths. The node connection order, branch turning order, and node forward order are parsed character by character according to the topology string. The forward character direction of the current growth node is converted into a three-dimensional direction parameter to obtain the theoretical growth reference vector of the current growth node.
[0023] Specifically, based on the spatial twin tensor field, it begins with a preset starting growth node. This node contains an initial node number (e.g., 0), three-dimensional coordinates defined by three-dimensional spatial coordinate parameters, an iteration level identifier (e.g., initially 0), and a parent node number (e.g., initially -1). A symbol set for the parameterized L system is defined, specifically by setting the starting character to 'A' and rewriting the character rule set, such as "A->F[+A][-A]", where 'F' represents forward, '+' and '-' represent left and right rotation, '[' represents branching and pushing onto the stack, and ']' represents backing off and popping from the stack. These characters collectively constitute the subsequent generated topology. The basic process involves mapping the three-dimensional coordinates of the current growth node to the corresponding spatial location index in the spatial twin tensor field using nearest neighbor interpolation or trilinear interpolation. This retrieves the stress tensor data (a 3x3 matrix) and concentration gradient magnitude stored at that location. This retrieval process ensures that the behavior of each growth node is precisely influenced by the physical properties of its local environment. If the coordinates do not perfectly match the mesh vertices, the interpolated stress tensor data and concentration gradient magnitude are obtained by calculating the distances to the eight nearest mesh vertices and performing a weighted average based on the inverse ratio of the distances. This completes the retrieval of the environmental physical quantities of the current growth node.
[0024] Read the stress tensor data, concentration gradient magnitude, iteration level identifier, and parent node number corresponding to the current growth node. First, perform eigenvalue decomposition on the stress tensor data (a 3x3 symmetric matrix) to obtain three eigenvalues (principal stresses) and three corresponding eigenvectors (principal stress directions). These three principal stress directions are the principal direction tensor components, while the off-diagonal elements in the original stress tensor are used as shear tensor components. The concentration gradient magnitude is then... Converted to concentration-driven intensity via a preset conversion function. For example, using a linear function , where the coefficient This is an empirical parameter used to adjust growth sensitivity, set to 0.8. Its value is obtained by fitting the growth rate of a reference object (such as a real crack or dendrite). Then, the rotation and deflection of the branches are determined, and the eigenvector corresponding to the maximum principal stress is used as the preferred growth direction. The rotation angle in the L-system is corrected, and the maximum value of the shear tensor component is determined. Used to correct branch deflection magnitude, deflection magnitude The calculation is as follows ,in It is the basic deflection angle (e.g., 30 degrees). The weight of the shearing effect is (e.g., 0.5). It is a reference shear stress value (e.g., the shear strength of the material), and the final node advances a distance, i.e., the generation step size. Intensity correction driven by concentration ,in This is the base step size, which can decrease as the iteration level identifier increases, for example... , The initial step size is 1.0, and the attenuation coefficient is... Given a value of 0.1, and combining the above calculations, we obtain the branch deflection angle and generation step size of the current growth node.
[0025] Based on the branch deflection angle and generation step size of the current growth node, the corresponding character is read from the symbol library of the parameterized L system (containing the start character 'A', rewrite character 'F', branch characters '[', ']', rotation characters '+', '-', etc.), and the string rewriting iteration process is started. This process is based on the current iteration level identifier. Let the rule of the L system be "A -> "F[+A][-A]B", where A and B are non-terminal symbols that can be rewritten. The iteration begins with an initial string containing a start character (e.g., "A"). In each iteration, all replaceable rewritten characters (e.g., 'A') in the string are found and replaced with their corresponding rules (e.g., "F[+A][-A]B"). During the replacement process, the branch deflection angle and generation step size calculated in the previous step are parameterized and embedded into the string. Specifically, the value of the branch deflection angle is associated with the rotation characters '+' and '-'. For example, generating a substring of the form "[+(30.5)A]" represents rotating 30.5 degrees to the left and continuing to grow. The generation step size is associated with the forward character. For example, 'F' generates a substring of the form "F(1.2)", which represents moving forward 1.2 units in the current direction. The parent node number is used to confirm the target node of the backtracking operation when generating the backtracking character ']'. Through multiple rounds of iterative replacement, until the preset maximum iteration level is reached, a topological structure string containing complete parameterized instructions is formed. Finally, the string is parsed character by character starting from the beginning. Based on the forward character 'F' and its associated step value, and the rotation characters '+' and '-' and their associated angle values, the forward direction of the current growth node is cumulatively transformed using spherical coordinates or rotation matrices. The transformed three-dimensional unit vector is the theoretical growth reference vector of the current growth node.
[0026] The steps to obtain the restricted tangent direction vector are as follows: In the boundary representation of the 3D surface mesh, the node 3D coordinate parameters of the current growth node, the face number, vertex number, vertex horizontal coordinate, vertex vertical coordinate and vertex height coordinate of each polygon face are read. Each polygon face is traversed one by one according to the face number. The spatial distance from the current growth node to each vertex of each polygon face is calculated. The average of the spatial distances within the same polygon face is calculated. The polygon face with the smallest average spatial distance is determined as the target polygon face. The direction of adjacent vertices is extracted according to the vertex connection order of the target polygon face. The direction of adjacent vertices is cross-multiplied and normalized to obtain the face normal vector parameters of the target polygon face. Read the theoretical growth reference vector of the current growth node, calculate the projection component of the theoretical growth reference vector in the direction of the normal vector parameter of the face, subtract the projection component from the theoretical growth reference vector and press it into the tangent plane space of the target polygon face, perform length normalization on the direction component after pressing into the tangent plane space, if the length normalized direction component points to the outer boundary of the target polygon face, then correct the direction component along the tangential direction of the boundary of the target polygon face to obtain the restricted tangent direction vector.
[0027] Specifically, in the boundary representation of the 3D surface mesh, the 3D coordinate parameters of the current growth node are first read. Then, the traversal process of all polygonal faces in the mesh is initiated. To determine the target polygonal face closest to the current growth node, for each face, the 3D coordinates of all its vertices are read sequentially, and the Euclidean distance from the coordinate point of the current growth node to each vertex of the face is calculated. These distance values are averaged to obtain the average spatial distance from the growth node to the face. For example, if a triangular face has vertices V1, V2, and V3, and the growth node is P, then the distances d1=dist(P,V1) and d2=dist(P,V2) are calculated. d3=dist(P,V3), with an average distance of (d1+d2+d3) / 3. After traversing all faces, the average spatial distance values are compared, and the polygon face with the smallest average spatial distance value is determined as the target polygon face. After determining the target polygon face, the vertex connection order of the face is extracted. For example, for a triangular face, the vertex order is V1->V2->V3. Then, two edge vectors starting from the same vertex are constructed, such as vector A = V2 - V1 and vector B = V3 - V1. By performing a cross product operation (A x B) on these two edge vectors, a vector perpendicular to the face can be obtained. Then, this cross product result vector is normalized (i.e., divided by its own magnitude). The final unit vector is the face normal vector parameter of the target polygon face.
[0028] Read the theoretical growth reference vector of the current growth node. This is a three-dimensional unit vector, denoted as . Simultaneously, obtain the normal vector parameters of the target polygon face determined in the previous step, denoted as... Calculate the projection component of the theoretical growth reference vector onto the normal direction of the patch. The calculation process is as follows: first calculate and The length of the projection is obtained by taking the dot product. Then multiply this length by the normal vector itself, i.e. Then, subtract this projected component from the original theoretical growth reference vector, i.e. The geometric meaning of this operation is to "press" the growth vector into the tangent plane space defined by the target polygon facet, obtaining a direction vector located within the tangent plane, and then... Length normalization is performed to obtain the unit tangential vector. In some cases, the calculated direction vector may point to the outer boundary of the patch. To ensure that the growth trajectory always lies on the mesh surface, boundary checks are required. The specific method is: starting from the current growth point, along... Move forward one small step, and determine if the new position exceeds the boundary of the current target polygon patch. If it does, then... Projecting onto the nearest boundary edge yields a new corrected direction along the boundary tangent. This corrected vector is the final restricted tangent direction vector.
[0029] The steps for obtaining the curved surface fitting sliding trajectory are as follows: On the boundary-represented 3D surface mesh, read the node 3D coordinate parameters of the current growth node, the face number of the target polygon face, the shared edge number of adjacent polygon faces, and the coordinates of the endpoints of the shared edge. Using the node 3D coordinate parameters of the current growth node as the starting point coordinates, sequentially select adjacent polygon faces that pass through the shared edge number along the restricted tangent direction vector. Record the new point coordinates after each passage through the shared edge number. If the new point coordinates reach the termination position corresponding to the multi-branch path, stop the point coordinate recursion. Connect the point coordinates in the generation order to establish the surface fitting sliding trajectory.
[0030] Specifically, on the boundary-represented 3D surface mesh, the 3D coordinates of the current growing node are used as the coordinates of the first point on the trajectory and recorded. Using the constrained tangent direction vector obtained in the previous step as the initial direction of travel, a fixed small step is taken within the target polygonal facet. A new temporary point is calculated, and it is determined whether this temporary point crosses a boundary edge of the current facet. This can be achieved by checking the relative position of the point with all edges. Once the crossed shared edge (identified by its shared edge number) is determined, the next polygonal facet adjacent to the shared edge is queried from the mesh's topology data, and the calculated intersection point on the shared edge is recorded as the next precise point coordinate of the trajectory. After entering a new polygonal facet, the direction of travel needs to be updated. The old forward direction is projected onto the tangent plane of the new facet to obtain a new restricted tangent direction vector. Then, the above process is repeated: move along the new direction, calculate the intersection with the boundary, record the intersection coordinates, switch to the adjacent facet, and update the direction. This process is continuously recursively applied. Each time a shared edge is crossed, a new point coordinate is recorded, forming a point coordinate sequence. The termination condition of this recursive process is set to the total length of the trajectory reaching the target generation step size of the branch parsed by the multi-branch path (L system string), or the trajectory point reaching the preset termination area, such as a high stress concentration area or model boundary. When the termination condition is met, the recursion of point coordinates is stopped, and all the recorded point coordinates are concatenated in the order of their generation time, thereby establishing a curved surface fitting sliding trajectory that perfectly fits the three-dimensional surface mesh.
[0031] The steps for obtaining the surface morphology of a three-dimensional cylindrical branch are as follows: Read the coordinate sequence, point sequence number, direction of adjacent points and normal vector parameters of the surface fitting sliding trajectory. Establish the center position of the cross section at each point coordinate. Determine the cross section advancing direction according to the direction of adjacent points. Determine the outward normal direction of the cross section according to the normal vector parameters of the surface. Take points of the outward normal direction of the cross section around the center position of the cross section at equal angles. Connect adjacent contour points within the same cross section position to generate the cross section geometric contour parameters. Based on the cross-sectional geometric contour parameters, the coordinate sequence of points of adjacent cross-sections in the surface fitting sliding trajectory is read. The contour point numbers of adjacent cross-sections are called sequentially according to the point numbering order. The contour point numbers of the previous cross-section position are matched one by one with the corresponding contour point numbers of the next cross-section position. The corresponding contour points between adjacent cross-section positions are connected to form a lateral boundary. The adjacent lateral boundaries are closed into cylindrical branch patches to form a three-dimensional cylindrical branch body surface morphology.
[0032] Specifically, the system reads the coordinate sequence of points associated with the surface-fitting sliding trajectory. Each point in this sequence contains its three-dimensional coordinates and sequential number. First, it iterates through this coordinate sequence, defining each point as the center position of the geometric profile of the cross-section to be constructed. To determine the orientation of the cross-section, it calculates the direction vector between the current point and its successor points; this vector represents the advancing direction of the cross-section. Simultaneously, it queries the mesh patch at the location of this point to obtain its normal vector parameters. This normal vector defines the outward normal direction of the cross-section. A local coordinate system is constructed with the center position of the cross-section as the origin, the outward normal direction as the Z-axis, and the advancing direction as the Y-axis. In the XY plane of this local coordinate system (… Within the cross-sectional plane, isoangular sampling is performed. Specifically, a radius is set (which can be dynamically adjusted according to the iteration level or local stress value; for example, the radius is proportional to the concentration gradient). Then, sampling is performed from 0 to 360 degrees in fixed angle increments (e.g., 30 degrees, generating 12 contour points). The two-dimensional coordinates of the contour points at each sampling angle are calculated. Then, through the transformation from the local coordinate system to the global coordinate system, the actual coordinates of each contour point in three-dimensional space are obtained. Adjacent contour points generated in the same cross-sectional position according to the angle order are connected sequentially to form a closed polygon. The vertex coordinate sequence of this polygon is the cross-sectional geometric contour parameter at that point.
[0033] Based on the cross-sectional geometric contour parameters, the positions of two adjacent cross-sections are read from the surface-fitting sliding trajectory, denoted as cross-section A and cross-section B, respectively, along with their respective cross-sectional geometric contour parameters, i.e., the contour point coordinate sequence. Since the contour points of each cross-section are generated in the same angular order during the generation of the cross-sectional geometric contour, the i-th contour point of cross-section A (denoted as A_i) and the i-th contour point of cross-section B (denoted as B_i) are topologically corresponding contiguous contour points. Next, the points are processed sequentially according to their positional order. For each pair of adjacent sections on the sliding trajectory, for each pair of adjacent sections (such as A and B), iterate through all the sequential contour point numbers on them (e.g., from i=1 to n, where n is the number of contour points for each section). Connect the contour point A_i of the previous section A with the sequential contour point B_i of the next section B to form a lateral boundary. Then, connect A_i with A_i+1, and B_i with B_i+1 (where A_n+1 defaults to A_1, and B_n+1 defaults to B_1). In this way, points A_i, B_i, B_i+1, and A_i+1 form a quadrilateral patch. This quadrilateral patch is the cylindrical branch patch connecting two adjacent sections. By repeating this operation for all sequential contour points, the space between the two sections is completely enclosed by a series of quadrilateral patches. By collecting all these cylindrical branch patches generated along the sliding trajectory, a complete three-dimensional cylindrical branch surface morphology is formed.
[0034] The steps to obtain a 3D diffused tree-like solid mesh are as follows: Read the cylindrical branch facets, contour point numbers, lateral boundaries, point coordinate sequences, and vertex numbers of the boundary-representing 3D surface mesh from the surface morphology of the 3D cylindrical branch body. Split the cylindrical branch facets into triangular facet units according to the connection order of the cylindrical branch facets. Project the vertex coordinates of each triangular facet unit to the nearest spatial position on the surface of the boundary-representing 3D surface mesh. Write the projected vertex coordinates into the corresponding vertex number. Reconnect adjacent triangular facet units according to the lateral boundaries to generate a 3D diffused tree-like solid mesh that fits the surface of the boundary-representing 3D surface mesh.
[0035] Specifically, all cylindrical branch patches on the surface morphology of the 3D cylindrical branch are read. These patches are typically quadrilaterals. To facilitate subsequent processing and improve compatibility with the base mesh, each quadrilateral patch first needs to be split into two triangular patch units. This can be done by connecting any pair of opposite diagonal vertices. For example, quadrilateral (P1, P2, P3, P4) can be split into triangle (P1, P2, P3) and triangle (P1, P3, P4). After triangulation (P4), all newly generated triangular facet units are traversed. For each vertex of each triangular facet, a projection operation is performed, which means finding the closest point in space for that vertex within the target boundary representation 3D surface mesh. This search process can be efficiently completed using spatial acceleration structures such as kd-trees or octrees. After finding the closest point, the coordinates of the triangular facet vertex are updated to the coordinates of this closest point. This process is equivalent to "adsorbing" or "imprinting" the entire 3D cylindrical branch onto the boundary representation 3D surface mesh of the base, ensuring that the final generated mesh perfectly fits the base surface. After all vertex coordinates are updated, the original triangular facet connection relationship remains unchanged. That is, if the original vertices A, B, and C form a triangle, then the newly projected vertices A', B', and C' will still form a triangle. Combining all these triangular facet units that have undergone coordinate projection and reconnection generates the final 3D diffused tree-like solid mesh that seamlessly fits the surface of the boundary representation 3D surface mesh.
[0036] The above are merely preferred embodiments of the present invention and are not intended to limit the present invention in any other way. Any person skilled in the art may make changes or modifications to the above-disclosed technical content to create equivalent embodiments that can be applied to other fields. However, any simple modifications, equivalent changes, and modifications made to the above embodiments based on the technical essence of the present invention without departing from the scope of the present invention shall still fall within the protection scope of the present invention.
Claims
1. A twin data visualization method based on digital mirroring, characterized in that, Includes the following steps: Obtain the stress tensor data and concentration gradient magnitude corresponding to the digital mirror environment state, and obtain the three-dimensional spatial coordinate parameters of each grid vertex within the boundary-representing three-dimensional surface grid; The stress tensor data and the concentration gradient magnitude are mapped to the spatial positions of the corresponding three-dimensional spatial coordinate parameters to construct a spatial twin tensor field; The rewrite iteration is performed based on the parameterized L system containing the physical control operator. The stress tensor data and concentration gradient magnitude corresponding to the current growth node in the spatial twin tensor field are retrieved and substituted into the physical control operator to determine the branch deflection angle and generation step size of the current growth node. A topology string containing multiple branch paths is generated, and the theoretical growth reference vector of the current growth node is solved. In the boundary representing the three-dimensional surface mesh, the target polygonal patch corresponding to the current growth node is determined, and the patch normal vector parameters of the target polygonal patch are extracted; The theoretical growth reference vector is projected onto the tangent plane space according to the patch normal vector parameters to generate a restricted tangent direction vector, and a curved surface fitting sliding trajectory is established on the boundary-represented three-dimensional surface mesh according to the restricted tangent direction vector. Based on the point coordinate sequence associated with the surface-fitting sliding trajectory, the contour is constructed according to the surface normal vector parameters to generate cross-sectional geometric contour parameters. The cross-sectional geometric contour parameters are then swept along the surface-fitting sliding trajectory to construct a three-dimensional cylindrical branch surface morphology. The three-dimensional cylindrical branch surface morphology is then meshed and mapped to generate a three-dimensional diffused tree-like solid mesh that fits the boundary representing the three-dimensional surface mesh.
2. The twin data visualization method based on digital mirroring according to claim 1, characterized in that, The steps for obtaining the three-dimensional spatial coordinate parameters are as follows: Based on the digital mirror environment status, read the status number, sampling unit number, force direction identifier, normal stress component, tangential stress component, concentration change, and adjacent sampling interval from the environment status record one by one. Group the normal stress components and tangential stress components with the same sampling unit number into the same tensor record. Convert the concentration change into the concentration gradient amplitude of the corresponding sampling unit according to the adjacent sampling interval. Delete records with missing status numbers, duplicate sampling unit numbers, and empty adjacent sampling intervals to obtain stress tensor data and concentration gradient amplitude. The boundary represents a 3D surface mesh. The vertex number, face number, vertex connection order, vertex horizontal coordinate, vertex vertical coordinate, and vertex height coordinate are extracted from the boundary represents a 3D surface mesh. The uniqueness of the vertex number is verified. The position of each mesh vertex in the corresponding polygon face is determined according to the face number and vertex connection order. The vertex horizontal coordinate, vertex vertical coordinate, and vertex height coordinate are written into the corresponding vertex number to obtain the 3D spatial coordinate parameters.
3. The twin data visualization method based on digital mirroring according to claim 2, characterized in that, The steps for obtaining the spatial twin tensor field are as follows: According to the correspondence between the sampling unit number and the vertex number, each set of stress tensor data is written to the spatial position corresponding to the three-dimensional spatial coordinate parameter, and each set of concentration gradient magnitude is written to the spatial position of the same three-dimensional spatial coordinate parameter. For mesh vertices that have not been written, the written physical quantity records of adjacent vertices under the same patch number are retrieved, and the physical quantity mapping relationship of the corresponding spatial position is completed according to the vertex connection order to generate a spatial twin tensor field.
4. The twin data visualization method based on digital mirroring according to claim 1, characterized in that, The steps for obtaining the theoretical growth benchmark vector are as follows: Based on the spatial twin tensor field, read the node number, node three-dimensional coordinate parameters, iteration level identifier and parent node number of the current growth node, define the start character, rewrite character, branch character, backtrack character and termination character of the parameterized L system, project the node three-dimensional coordinate parameters of the current growth node to the spatial position index in the spatial twin tensor field, and retrieve the stress tensor data and concentration gradient magnitude under the same spatial position index; Read the stress tensor data, concentration gradient magnitude, iteration level identifier, and parent node number corresponding to the current growth node. Decompose the stress tensor data into principal direction tensor components and shear tensor components. Convert the concentration gradient magnitude into concentration driving intensity. Correct the branch rotation direction according to the principal direction tensor components. Correct the branch deflection amplitude according to the shear tensor components. Correct the node advance distance according to the concentration driving intensity to obtain the branch deflection angle and generation step size of the current growth node. Based on the branch deflection angle and generation step size of the current growth node, the start character, rewrite character, branch character, backtrack character, and termination character in the parameterized L system are read. The rewrite character in the current string is replaced round by round according to the iteration level identifier. The branch character is written at the position corresponding to the branch deflection angle, the forward character is written at the position corresponding to the generation step size, and the backtrack character is written at the position corresponding to the parent node number, forming a topology string containing multiple branch paths. The node connection order, branch turning order, and node forward order are parsed character by character according to the topology string. The forward character direction of the current growth node is converted into a three-dimensional direction parameter to obtain the theoretical growth reference vector of the current growth node.
5. The twin data visualization method based on digital mirroring according to claim 1, characterized in that, The steps for obtaining the restricted tangent direction vector are as follows: In the boundary representing the three-dimensional surface mesh, the node three-dimensional coordinate parameters of the current growth node, the face number of each polygon face, the vertex number, the vertex horizontal coordinate, the vertex vertical coordinate, and the vertex height coordinate are read. Each polygon face is traversed one by one according to the face number. The spatial distance from the current growth node to each vertex of each polygon face is calculated. The average of the spatial distances within the same polygon face is calculated. The polygon face with the smallest average spatial distance is determined as the target polygon face. The direction of adjacent vertices is extracted according to the vertex connection order of the target polygon face. The direction of adjacent vertices is cross-multiplied and normalized to obtain the face normal vector parameters of the target polygon face. Read the theoretical growth reference vector of the current growth node, calculate the projection component of the theoretical growth reference vector in the direction of the normal vector parameter of the facet, subtract the projection component from the theoretical growth reference vector and press it into the tangent plane space of the target polygon facet, perform length normalization processing on the direction component after pressing into the tangent plane space, if the length normalized direction component points to the outer boundary of the target polygon facet, then correct the direction component along the tangential direction of the boundary of the target polygon facet to obtain the restricted tangent direction vector.
6. The twin data visualization method based on digital mirroring according to claim 1, characterized in that, The steps for obtaining the curved surface fitting sliding trajectory are as follows: On the boundary representing the three-dimensional surface mesh, read the node three-dimensional coordinate parameters of the current growth node, the patch number of the target polygon patch, the shared edge number of adjacent polygon patches, and the coordinates of the endpoints of the shared edge. Using the node three-dimensional coordinate parameters of the current growth node as the starting point coordinates, sequentially select adjacent polygon patches that pass through the shared edge number along the restricted tangent direction vector. Record the new point coordinates after each passage through the shared edge number. If the new point coordinates reach the termination position corresponding to the multi-branch path, stop the point coordinate recursion. Connect the point coordinates in the generation order to establish a surface fitting sliding trajectory.
7. The twin data visualization method based on digital mirroring according to claim 1, characterized in that, The steps for obtaining the surface morphology of the three-dimensional cylindrical branch are as follows: Read the point coordinate sequence, point sequence number, adjacent point direction quantity and surface normal vector parameter associated with the surface fitting sliding trajectory. Establish the cross-section center position at each point coordinate. Determine the cross-section advancement direction according to the adjacent point direction quantity. Determine the cross-section outward normal direction according to the surface normal vector parameter. Take points of the cross-section outward normal direction around the cross-section center position at equal angles. Connect adjacent contour points within the same cross-section position to generate cross-section geometric contour parameters. Based on the cross-sectional geometric contour parameters, the coordinate sequence of adjacent cross-section positions in the surface fitting sliding trajectory is read. The contour point numbers of adjacent cross-section positions are called sequentially according to the point position numbering. The contour point numbers of the previous cross-section position are matched one by one with the corresponding contour point numbers of the next cross-section position. The corresponding contour points between adjacent cross-section positions are connected to form a lateral boundary. The adjacent lateral boundaries are closed into cylindrical branch patches to form a three-dimensional cylindrical branch body surface morphology.
8. The twin data visualization method based on digital mirroring according to claim 1, characterized in that, The steps for obtaining the three-dimensional diffused tree-like solid mesh are as follows: Read the cylindrical branch facets, contour point numbers, lateral boundaries, point coordinate sequences, and vertex numbers of the boundary-representing 3D surface mesh from the surface morphology of the 3D cylindrical branch body. Split the cylindrical branch facets into triangular facet units according to the connection order of the cylindrical branch facets. Project the vertex coordinates of each triangular facet unit to the nearest spatial position on the surface of the boundary-representing 3D surface mesh. Write the projected vertex coordinates into the corresponding vertex number. Reconnect adjacent triangular facet units according to the lateral boundaries to generate a 3D diffused tree-like solid mesh that fits the surface of the boundary-representing 3D surface mesh.