Method for constructing three-dimensional model of power line erection

CN122966901APending Publication Date: 2026-10-23XINJIANG ZHONGDIAN POWER ENG CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202611142307.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2026-07-30
Publication Date
2026-10-23

AI Technical Summary

Technical Problem

[0003]现有三维模型构建、层级组织、模型轻量化及实时渲染过程通常围绕通用场景展开,实际运作时往往按照统一网格尺度或统一简化规则处理不同空间对象,未能充分区分连续地形表面与杆塔细长构件、镂空结构之间的几何差异,容易在面片压缩过程中出现孔洞闭合、杆件粘连、轮廓偏移及纹理错位;空间坐标、纹理坐标及法线向量常被分开处理,属性之间缺少同步约束,模型层级切换时容易产生纹理跳变和法线断裂;层级节点之间若仅记录几何父子关系,缺少边界对应信息,重新组合相邻网格时容易形成可见裂缝

Benefits of technology

[0013]与现有技术相比,本发明的优点和积极效果在于:

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122966901A_ABST
    Figure CN122966901A_ABST
Patent Text Reader

Abstract

The application relates to the technical field of three-dimensional model, in particular to a three-dimensional model construction method for power line erection, which comprises the following steps: obtaining a three-dimensional original model of a power channel, extracting the space coordinates, texture coordinates and normal vectors of each grid vertex in the three-dimensional original model of the power channel, and constructing a six-dimensional attribute vertex set; performing spatial clustering on the three-dimensional original model of the power channel, dividing the three-dimensional original model into a terrain grid and a tower grid, constraining the clustering boundary, and generating a first-level micro-grid cluster. The application distributes rendering tasks in parallel according to the screening results, decodes the local vertex index and six-dimensional attribute data, combines the adjacent polygon areas to complete the interpolation of the texture coordinates and the normal vectors, and performs normal smoothing on the adjacent micro-grid boundary, so that the visual joints formed by the hierarchical switching and the grid splicing can be weakened, and finally, on the basis of controlling the display memory occupation, the geometric calculation amount and the fragment processing burden, the rendering efficiency of a large-scale power channel three-dimensional scene can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of three-dimensional modeling technology, and in particular to a method for constructing three-dimensional models of power line erection. Background Technology

[0002] 3D modeling specifically involves technologies such as 3D model construction, 3D model hierarchical organization, lightweight model processing, real-time model rendering, and graphics computing.

[0003] Current 3D model building, hierarchical organization, model lightweighting, and real-time rendering processes typically revolve around general scenarios. In practice, different spatial objects are often processed according to a uniform mesh scale or simplified rules, failing to adequately distinguish the geometric differences between continuous terrain surfaces and slender tower components or hollow structures. This easily leads to issues such as hole closure, component adhesion, contour offset, and texture misalignment during patch compression. Spatial coordinates, texture coordinates, and normal vectors are often processed separately, lacking synchronous constraints between attributes, which can easily cause texture jumps and normal breaks when switching model levels. If only geometric parent-child relationships are recorded between hierarchical nodes, and boundary correspondence information is lacking, visible cracks can easily form when recombining adjacent meshes. Therefore, improvements are needed. Summary of the Invention

[0004] The purpose of this invention is to overcome the shortcomings of existing technologies and propose a method for constructing a three-dimensional model of power line erection.

[0005] To achieve the above objectives, the present invention adopts the following technical solution: a method for constructing a three-dimensional model of power line erection, comprising the following steps: Obtain the original three-dimensional model of the power channel, extract the spatial coordinates, texture coordinates and normal vectors of each mesh vertex in the original three-dimensional model of the power channel, and construct a six-dimensional attribute vertex set; The original three-dimensional model of the power channel is spatially clustered, divided into terrain grids and tower grids, and the clustering boundaries are constrained to generate a first-level micro-grid cluster. Extract boundary topology information based on the first-level microgrid cluster; The edge folding cost is calculated based on the set of six-dimensional attribute vertices and the boundary topology information. Edge folding downsampling and re-clustering are performed. The bounding sphere parameters and boundary mapping relationships are recorded. A micro-mesh directed acyclic graph is constructed from the bottom up. The micromesh directed acyclic graph is encoded into a micromesh directed acyclic graph linear buffer structure and submitted to the graphics processor's video memory space; the bounding sphere parameters are read and tested during the task shader stage to filter out the visible micromesh nodes within the view frustum; Calculate the screen space projection error of the visible micro-mesh nodes within the view frustum and compare it with the error limit to filter the set of visible micro-mesh nodes; Based on the set of visible micromesh nodes, the task shader distributes micromesh rendering task flows to the mesh shader; the mesh shader decodes the data and performs interpolation calculations to obtain the interpolated and reconstructed 3D polygon patches. The interpolated and reconstructed 3D polygon patches are output to a rasterizer for calculation to generate a 3D scene of the power channel.

[0006] Preferably, the steps for obtaining the six-dimensional attribute vertex set are as follows: Obtain the original 3D model of the power channel, locate each mesh vertex one by one according to the mesh vertex index, read the coordinate components of each mesh vertex in 3D space, read the texture coordinate components of each mesh vertex, read the normal vector components of each mesh vertex, check whether the mesh vertex indexes corresponding to the spatial coordinates, texture coordinates and normal vectors are consistent, remove mesh vertex records with missing indexes or conflicting attribute correspondences, and concatenate the spatial coordinates, texture coordinates and normal vectors according to the unified mesh vertex index order to obtain a six-dimensional attribute vertex set.

[0007] Preferably, the steps for obtaining the first-level microgrid cluster are as follows: According to the grid vertex index, read the polygonal facet connection relationship in the three-dimensional original model of the power channel, count the number of polygonal facets and vertices corresponding to each continuous grid region, track the spatial extension order formed by the continuous grid region along the direction of the power line, identify the grid regions that are continuously spread along the channel direction, identify the grid regions that form vertical connections, horizontal connections and hollow connections around the main body of the tower, classify the continuously spread grid regions as terrain grids, classify the grid regions connected around the main body of the tower as tower grids, and obtain the terrain grid and tower grids; Based on the terrain grid and the tower grid, adjacent polygonal faces are arranged according to the direction of the power lines. The extension boundary of each group of adjacent polygonal faces is determined along the direction of the power lines. Merging is prohibited from crossing the type boundary between the terrain grid and the tower grid. The number of polygonal faces and vertices in the merged area is accumulated group by group. The position where the accumulated number of polygonal faces reaches the preset limit or the accumulated number of vertices reaches the preset limit is determined as the cluster boundary. The subsequent polygonal face merging is truncated at the cluster boundary. The arrangement, accumulation, boundary determination and truncation are repeated for the remaining polygonal faces to generate the first-level microgrid cluster.

[0008] Preferably, the step of obtaining the boundary topology information is as follows: Based on the first-level micromesh cluster, the bounding range, spatial coordinates of the mesh vertices, and polygonal facet connections of each first-level micromesh are read. The interval distance between the bounding ranges of different first-level micromesh is compared. First-level micromesh with common mesh edges or common boundary vertices are retrieved. Pairing relationships are established in ascending order of spatial distance. The mesh edge number, boundary vertex number, adjacent facet number, and boundary connection order corresponding to the outer contour of the paired micromesh are read one by one. The common mesh edges that appear repeatedly inside the paired micromesh are removed, and the outer mesh edges that are continuously arranged around the paired area are retained to obtain the boundary topology information.

[0009] Preferably, the steps for obtaining the micro-mesh directed acyclic graph are as follows: Based on the boundary topology information, the spatial coordinates, texture coordinates, and normal vectors of the two vertices at both ends of each mesh edge in the six-dimensional attribute vertex set are called. The variation difference of the two vertices at both ends in each attribute component is calculated respectively. The variation difference is normalized according to the mesh edge length. The penalty weight of the normal vector and the penalty weight of the texture coordinate are set to be greater than the penalty weight of the spatial coordinate. The weighted error corresponding to each attribute component is accumulated to form the edge folding cost of each mesh edge. The high-frequency hollow structure composed of slender facets, dense boundaries, and continuous holes in the tower mesh is identified. The boundary vertices of the paired micromesh are marked as locked. The mesh edges corresponding to the locked state are prohibited from participating in folding. Unlocked mesh edges are selected in ascending order of edge folding cost. The two vertices at both ends of the selected mesh edges are merged. The invalid polygon facets are deleted. The vertex index of the remaining polygon facets is corrected. The downsampled mesh facets are re-clustered to generate the parent node micromesh. Calculate the spatial bounding range of all child microgrid vertices covered by the parent microgrid. Determine the center coordinates and radius of the bounding sphere based on the spatial bounding range. Establish a one-to-one correspondence according to the boundary vertex numbers of the parent microgrid and the boundary vertex numbers of the child microgrid. Record the bounding sphere parameters and boundary mapping relationships of the parent and child nodes. Continue to pair the spatially adjacent parent microgrids in the same level. Repeat the extraction of boundary topology information, calculation of edge folding cost, locking of boundary vertices, execution of edge folding downsampling, and re-clustering. After each re-clustering, count the number of microgrid nodes in the current level. If the number of microgrid nodes is greater than the root node limit, continue merging to the next level. If the number of microgrid nodes reaches the root node limit, stop merging. Summarize all parent-child node relationships according to the hierarchical connection direction from the child node to the parent node to obtain a directed acyclic graph of microgrids.

[0010] Preferably, the step of obtaining the screen space projection error is as follows: Based on the microgrid directed acyclic graph, the node number, parent node number, child node starting position, number of child nodes, center coordinates of the bounding sphere, radius of the bounding sphere, and level identifier of each microgrid node are read in hierarchical order from root node to leaf node. The fixed-length microgrid node records are sequentially written into a continuous storage location. The jump position between parent and child nodes is converted into an offset relative to the starting address of the continuous storage. The completeness of the continuous storage location is verified according to the microgrid node number. The continuous storage content that passes the verification is submitted to the video memory space of the graphics processor to form a linear buffer structure of the microgrid directed acyclic graph. Based on the micromesh directed acyclic graph linear buffer structure, during the task shader stage, the bounding sphere center coordinates and bounding sphere radius of the corresponding micromesh node are read according to the parallel thread number. Simultaneously, the plane normal, plane offset, and viewpoint position of each clipping plane of the virtual camera's view frustum are read. The directed distance from the center of the bounding sphere to each clipping plane is calculated one by one. Micromesh nodes whose directed distance is less than the negative value of the bounding sphere radius are determined to be micromesh nodes outside the view frustum. Reading all child nodes corresponding to the micromesh nodes outside the view frustum is stopped. Micromesh nodes that are not excluded by any clipping plane are retained to obtain the visible micromesh nodes inside the view frustum. Read the bounding sphere center coordinates, bounding sphere radius, hierarchy identifier, and child node offset corresponding to each visible micro-mesh node within the view frustum. Calculate the spatial distance from the virtual camera viewpoint to the center of the bounding sphere. Combine the focal length scale, viewport pixel height, and bounding sphere radius in the virtual camera projection matrix to calculate the screen space projection error of each visible micro-mesh node within the view frustum in screen space.

[0011] Preferably, the step of obtaining the set of visible micro-mesh nodes is as follows: Microgrid nodes whose screen space projection error is less than or equal to a preset pixel error limit are identified as hierarchical traversal truncation nodes. Microgrid nodes whose screen space projection error is greater than the preset pixel error limit and have child nodes are expanded to the next level. The hierarchical traversal truncation nodes and the last-level microgrid nodes without child nodes are summarized to obtain a set of visible microgrid nodes.

[0012] Preferably, the steps for acquiring the three-dimensional scene image of the power channel are as follows: Based on the set of visible micromesh nodes, the vertex start offset, number of vertices, face start offset, number of faces, and six-dimensional attribute storage location corresponding to each visible micromesh node are read according to the visible micromesh node number. Each visible micromesh node is converted into an independent task record. The task record is allocated according to the parallel thread number of the task shader. It is checked whether the number of vertices and faces occupied by the task record exceeds the single reception limit of the mesh shader. The task record that exceeds the single reception limit is split into multiple sub-task records according to the continuous face index. The task record that does not exceed the single reception limit is kept intact. The task record and sub-task record are written into the distribution queue according to the storage order of the task record and sub-task record. The task shader submits the distribution queue to the mesh shader in parallel to generate the micromesh rendering task flow. According to the micromesh rendering task flow, the local vertex index of the target micromesh node is read according to the vertex start offset and patch start offset in each task record. The six-dimensional attribute storage location is located based on the local vertex index. The spatial coordinates, texture coordinates and normal vectors of the vertex are decoded and reconstructed item by item. The vertex connection order of the adjacent polygons of each reconstructed vertex is read. The area of ​​each adjacent polygon in three-dimensional space is calculated. The ratio of the area of ​​the adjacent polygon to the total area of ​​all adjacent polygons is determined as the centroid coordinate weight. The texture coordinate components and normal vector components of the adjacent vertices are accumulated according to the centroid coordinate weight. The accumulated normal vector components are normalized. The tangent direction, normal direction and texture direction on both sides of the common boundary of the adjacent micromesh are read. The normal vectors on both sides of the common boundary are converted to a unified tangent space. The difference of the normal vectors on both sides of the common boundary is corrected according to the area ratio of the adjacent polygons. The corrected normal vectors are converted back to three-dimensional space to eliminate the normal seams between adjacent micromeshes and obtain the interpolated and reconstructed three-dimensional polygon patch. Based on the interpolated and reconstructed 3D polygon patches, spatial coordinates, texture coordinates, and normal vectors are submitted to the rasterizer according to the vertex connection order of the 3D polygon patches. Viewport clipping and screen coordinate transformation are performed on the 3D polygon patches. The fragment positions covered by the 3D polygon patches are determined according to the positional relationship between the screen pixel center and the boundary of the 3D polygon patches. Texture coordinates and normal vectors are interpolated according to the centroid coordinates corresponding to the fragment positions. The material color, texture sampling value, surface roughness, and reflection intensity corresponding to the fragment positions are read. Combined with the light source direction, light source intensity, virtual camera viewpoint direction, and interpolated normal vectors, the ambient light component, diffuse reflection component, and specular reflection component of the fragment positions are calculated respectively. Each illumination component and material color are written to the corresponding screen pixel. The color output results of all screen pixels are summarized to generate the 3D scene image of the power channel.

[0013] Compared with the prior art, the advantages and positive effects of the present invention are as follows: This invention extracts the spatial coordinates, texture coordinates, and normal vectors of each mesh vertex in the original 3D model of a power transmission channel, and unifies these multi-dimensional attributes into a six-dimensional attribute vertex set. This allows geometric position, surface texture, and orientation changes to participate in subsequent processing based on the same data, reducing the corresponding deviations caused by processing different attributes separately. Combining the spatial characteristics of the power transmission channel's continuous extension along the line direction, the invention clusters the terrain mesh and tower mesh separately, and constrains the cluster boundaries to avoid mixing continuous terrain surfaces with hollow tower components, improving the adaptability of the micro-mesh division results to the structural differences of the power transmission channel. Based on boundary topology information and six-dimensional attribute changes, the invention calculates edge folding costs, simultaneously considering spatial morphology, texture continuity, and normal changes during downsampling. This allows for the preservation of tower edges, hole outlines, and surface orientation features while compressing the number of facets. Through repeated pairing, downsampling, re-clustering, and parent-child relationship recording, a set of... A directed acyclic graph of micromesh nodes, where detailed nodes converge layer by layer to coarse nodes, allows the model to select appropriate layers based on viewing distance and display requirements. Encoding the hierarchical structure continuously and submitting it to video memory reduces discrete addressing and data transfer overhead during runtime. Performing frustum testing based on bounding sphere parameters and truncating the hierarchical traversal using screen space projection errors preemptively eliminates branches outside the field of view and detailed nodes exceeding display precision requirements, concentrating graphics processing resources on micromesh nodes that are truly visible and have display value in the current scene. Parallel distribution of rendering tasks to the selected results decodes local vertex indices and six-dimensional attribute data, performs texture coordinate and normal vector interpolation based on adjacent polygon areas, and performs normal smoothing on adjacent micromesh boundaries, reducing visual seams formed by layer switching and mesh stitching. Ultimately, this improves the rendering efficiency of large-scale power channel 3D scenes while controlling video memory usage, geometric computation, and fragment processing burden. Attached Figure Description

[0014] Figure 1 This is a schematic diagram of screen space projection error; Figure 2 This is a schematic diagram of the edge folding cost. 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 constructing a three-dimensional model of power line erection, comprising the following steps: A three-dimensional original model of the power channel is obtained. The spatial coordinates, texture coordinates and normal vectors of each grid vertex in the three-dimensional original model of the power channel are extracted to construct a six-dimensional attribute vertex set. Spatial clustering is performed on the three-dimensional original model of the power channel to divide it into terrain grids and tower grids and constrain the clustering boundary to generate the first-level micro-grid cluster. Boundary topology information is extracted from the first-level microgrid cluster; edge folding cost is calculated based on the six-dimensional attribute vertex set and boundary topology information, edge folding downsampling and re-clustering are performed, bounding sphere parameters and boundary mapping relationships are recorded, and a microgrid directed acyclic graph is constructed from bottom to top; The micromesh directed acyclic graph is encoded into a micromesh directed acyclic graph linear buffer structure and submitted to the graphics processor's video memory space; during the task shader stage, the bounding sphere parameters are read and tested to filter out the visible micromesh nodes within the view frustum; the screen space projection error of the visible micromesh nodes within the view frustum is calculated and compared with the error limit to filter the set of visible micromesh nodes. Based on the set of visible micromesh nodes, the task shader distributes the micromesh rendering task flow to the mesh shader; the mesh shader decodes the data and performs interpolation calculations to obtain the interpolated and reconstructed 3D polygon patches; the interpolated and reconstructed 3D polygon patches are output to the rasterizer for solving to generate a 3D scene of the power channel.

[0017] The steps to obtain the set of six-dimensional attribute vertices are as follows: Obtain the original 3D model of the power channel, locate each mesh vertex one by one according to the mesh vertex index, read the coordinate components of each mesh vertex in 3D space, read the texture coordinate components of each mesh vertex, read the normal vector components of each mesh vertex, check whether the mesh vertex indexes corresponding to the spatial coordinates, texture coordinates and normal vectors are consistent, remove mesh vertex records with missing indexes or conflicting attribute correspondences, and concatenate the spatial coordinates, texture coordinates and normal vectors according to the unified mesh vertex index order to obtain a six-dimensional attribute vertex set.

[0018] Specifically, to obtain the original 3D model of the power channel, the first step is to traverse the vertex data blocks in the model file, and then, for each vertex index... It synchronously accesses the spatial coordinate buffer, texture coordinate buffer, and normal vector buffer to read the three-dimensional spatial coordinates respectively. 2D texture coordinates and 3D normal vector During the reading process, a Boolean validity marker array is created for each index. Check its existence in the three buffers; if any buffer is missing an index, then... If the data is false, then the validity flag of that index is set to false. After completing the traversal of all vertices, all vertex records with a false validity flag are filtered out. A new continuous data structure is created, and the spatial coordinate components, texture coordinate components, and normal vector components of each valid vertex are concatenated sequentially according to a unified mesh vertex index order. For example, if the index is false... The valid vertices are represented as a data item in the new set. Although it contains 8 floating-point values, it is considered as three core geometric and appearance attributes in terms of data attribute categories: spatial coordinates, texture coordinates, and normal vectors. In order to be consistent with the subsequent processing flow, this combination is called a six-dimensional attribute description, that is, the three dimensions of position, the two dimensions of texture, and the direction information of normal as a whole dimension. Finally, the data of all valid vertices are integrated to obtain a set of six-dimensional attribute vertices.

[0019] The steps to obtain the first-level microgrid cluster are as follows: Read the polygonal facet connection relationship in the original 3D model of the power channel according to the grid vertex index, count the number of polygonal facets and vertices corresponding to each continuous grid region, trace the spatial extension order formed by the continuous grid region along the direction of the power line, identify the grid regions that are continuously spread along the channel direction, identify the grid regions that form vertical connections, horizontal connections and hollow connections around the main body of the tower, classify the continuously spread grid regions as terrain grids, classify the grid regions connected around the main body of the tower as tower grids, and obtain the terrain grid and tower grids. Based on the terrain grid and the tower grid, adjacent polygonal faces are arranged according to the direction of the power lines. The extension boundary of each group of adjacent polygonal faces is determined along the direction of the power lines. Merging is prohibited from crossing the type boundary between the terrain grid and the tower grid. The number of polygonal faces and vertices in the merged area is accumulated group by group. The position where the accumulated number of polygonal faces reaches the preset limit or the accumulated number of vertices reaches the preset limit is determined as the cluster boundary. At the cluster boundary, subsequent polygonal faces are truncated for merging. The arrangement, accumulation, boundary determination and truncation are repeated for the remaining polygonal faces to generate the first-level micro-grid cluster.

[0020] Specifically, the connection relationships of polygonal faces in the original 3D model of the power channel are read according to the grid vertex index. First, an adjacency list is constructed to represent the topology of the entire model, where each polygonal face is a node, and faces sharing edges are connected. Starting from unvisited faces, a breadth-first search (BFS) or depth-first search (DFS) is performed to identify all independent connected subgraphs, i.e., continuous grid regions. For each identified continuous grid region, the number of polygonal faces and vertices it contains is counted, and the 3D coordinate covariance matrix of all its vertices is calculated. By performing eigenvalue decomposition on the covariance matrix, three mutually orthogonal eigenvectors are obtained, corresponding to the principal, secondary, and tertiary directions of the region's extension in space, respectively. A direction discrimination threshold is set, for example, 0.85. The unit vector perpendicular to the world coordinate system (e.g., the principal eigenvector) is calculated. The absolute value of the dot product of the principal feature vector and the vertical unit vector is taken. If the value is greater than 0.85, it indicates that the region extends significantly in the vertical direction and has typical characteristics of a pole, such as the tower body and crossarm. Further examination is conducted to see if the distribution of its vertices has a large height difference and a small horizontal coverage area. The presence of a hollow structure is determined by detecting the number of boundary loops. Regions that meet these conditions are classified as pole grids. If the absolute value of the dot product of the principal feature vector and the vertical unit vector is much less than 0.85, and its projection length on the horizontal plane is much greater than its height, it indicates that the region extends continuously along the ground surface and has topographic features. It is classified as a topographic grid. The classification of all continuous grid regions is completed, resulting in topographic grids and pole grids.

[0021] Based on the terrain mesh and the tower mesh, spatial partitioning is performed on both types of meshes. Using the centerline of the power line as the guiding axis, a starting polygonal patch is defined, typically located at one end of the power channel. Starting from this patch, adjacent polygonal patches are visited layer by layer along a predetermined direction of the power line, and visited patches are added to a temporary merge set. During the search, it is prohibited to add a patch belonging to the terrain mesh (if it belongs to the tower mesh) to the current merge set, and vice versa, to ensure that clustering does not cross type boundaries. After each new patch is added to the merge set, the total number of polygonal patches in the current set is accumulated in real time. Total number of vertices It is then compared with a preset clustering size limit, which is set based on the mesh shader processing capability of the target hardware, such as a preset limit on the number of polygon faces. Set to 512, preset vertex count limit. Set to 256, when the conditions are met. or When the current set is merged, the expansion of the current set is immediately stopped. All the faces in the current set are identified as an independent microgrid and marked as clustered. The boundary of this set is the cluster boundary. Then, an unclustered face is selected from outside the boundary as a new starting point. The above process of arrangement, accumulation, boundary determination and truncation is repeated until all polygon faces in the terrain grid and tower grid are assigned to a microgrid, generating the first-level microgrid cluster.

[0022] The steps for obtaining boundary topology information are as follows: Based on the first-level micromesh cluster, the bounding range, spatial coordinates of mesh vertices, and polygonal facet connections of each first-level micromesh are read. The interval distance between the bounding ranges of different first-level micromeshes is compared. First-level micromeshes with common mesh edges or common boundary vertices are retrieved. Pairing relationships are established in ascending order of spatial distance. The mesh edge number, boundary vertex number, adjacent facet number, and boundary connection order corresponding to the outer contour of the paired micromeshes are read one by one. The common mesh edges that appear repeatedly inside the paired micromeshes are removed, and the outer mesh edges that are continuously arranged around the paired area are retained to obtain the boundary topology information.

[0023] Specifically, based on the first-level micromesh cluster, the axis-aligned bounding box (AABB) is calculated for each micromesh, and the spatial coordinates of all its vertices and the facet connectivity are read. By comparing the AABBs of different micromesh types, potentially adjacent micromesh pairs are quickly identified. Specifically, for any two micromesh types... and If the distance between their bounding boxes on any of the x, y, or z axes is greater than a small tolerance value (e.g., 0.001 meters), they are determined to be non-adjacent. For micromesh pairs that pass the bounding box test, a precise boundary adjacency determination is performed, traversing the micromesh. For each polygonal facet in the array, identify the edges that are possessed by only one facet; these edges constitute the polygon. Boundary edge set Similarly, Boundary edge set And then Each edge in It consists of vertices Definition, in Search for whether an edge exists in the middle. Its vertex is or If found, it proves and via edge Sharing a common boundary, this pair of micromesh The shared edge and vertex information is recorded as a pair, and the pair is sorted according to the spatial distance of its bounding box center point to provide priority for subsequent merging operations. When recording boundary information, it includes the two vertex numbers of the shared edge, which facet each side of the edge belongs to, and the connection order of these edges on their respective micromesh outer contours. By removing those edges that are no longer boundaries in the union of the paired micromeshes, only the contour edges surrounding the outermost part of the pair of micromeshes are retained to obtain the boundary topology information.

[0024] The steps to obtain a micromesh directed acyclic graph are as follows: Based on the boundary topology information, the spatial coordinates, texture coordinates, and normal vectors of the two vertices at both ends of each mesh edge in the six-dimensional attribute vertex set are called. The variation difference of the two vertices at both ends in each attribute component is calculated. The variation difference is normalized according to the mesh edge length. The penalty weight of the normal vector and the penalty weight of the texture coordinate are set to be greater than the penalty weight of the spatial coordinate. The weighted error corresponding to each attribute component is accumulated to form the edge folding cost of each mesh edge. The high-frequency hollow structure composed of slender patches, dense boundaries and continuous holes in the tower mesh is identified. The boundary vertices of the paired micromesh are marked as locked. The mesh edges corresponding to the locked state are prohibited from participating in folding. Unlocked mesh edges are selected in ascending order of edge folding cost. The two vertices at both ends of the selected mesh edges are merged. The invalid polygon patches are deleted. The vertex index of the remaining polygon patches is corrected. The downsampled mesh patches are re-clustered to generate the parent node micromesh. Calculate the spatial bounding range of all child microgrid vertices covered by the parent microgrid. Determine the center coordinates and radius of the bounding sphere based on the spatial bounding range. Establish a one-to-one correspondence according to the boundary vertex numbers of the parent and child microgrids. Record the bounding sphere parameters and boundary mapping relationships of the parent and child nodes. Continue to pair up spatially adjacent parent microgrids within the same level. Repeat the process of extracting boundary topology information, calculating edge folding costs, locking boundary vertices, performing edge folding downsampling, and re-clustering. After each re-clustering, count the number of microgrid nodes at the current level. If the number of microgrid nodes is greater than the root node limit, continue merging to the next level. If the number of microgrid nodes reaches the root node limit, stop merging. Summarize all parent-child node relationships according to the hierarchical connection direction from the child node to the parent node to obtain a directed acyclic graph of microgrids.

[0025] Specifically, based on the boundary topology information, for each paired micromesh, each mesh edge on its common boundary is processed, for a connecting vertex... and grid edges Retrieve the complete attributes of the two endpoints of a 6-dimensional attribute vertex set, including spatial coordinates. Texture coordinates and normal vector Calculate its edge folding cost This cost function measures the loss of geometric and appearance properties caused by folding the edge, and its calculation formula is as follows: ; in, , , These are the penalty weights for spatial coordinates, texture coordinates, and normal vectors, respectively. To protect the visual details of the model, the weights for normals and textures are set higher than those for spatial coordinates. For example, they can be set empirically. , , These weights ensure that edges in regions with large normal variations or texture seams are more difficult to fold during the simplification process. Before calculating the cost, slender patches and densely perforated areas formed by insulator strings, lattice structures, etc., are identified in the tower mesh, and the micromesh boundary vertices that constitute these high-frequency details are marked as locked, and their associated mesh edges do not participate in the folding calculation. The cost of all unlocked mesh edges is stored in a minimum priority queue. Each time, the edge with the lowest cost is taken from the queue and folded, its two end vertices are merged, and degenerate polygonal patches are deleted. The vertex indices of adjacent patches are updated. When the downsampling reaches the predetermined goal (e.g., reducing the number of patches by 50%), the downsampled mesh patches are re-clustered to generate parent node micromesh with larger size and less detail.

[0026] To calculate the spatial extent of all child micromesh vertices covered by the parent micromesh, the specific method is to traverse all original child micromesh vertices corresponding to the parent micromesh, collect the spatial coordinates of all their vertices, and calculate a minimum bounding sphere based on these coordinates. First, the center of the bounding sphere is obtained by calculating the average of all vertex coordinates. Then iterate through all vertices and find the vertex that is the same as the vertex. The point furthest away is the radius of the enclosing sphere. Then, establish the boundary mapping relationship between parent and child nodes, for each boundary vertex of the parent node's micromesh. It is formed by merging one or more boundary vertices of its child node micromesh during edge folding, recording this process from... To its corresponding original child node boundary vertex set The mapping table will include the bounding ball parameters of the parent node. The boundary mapping relationship is stored together. The newly generated parent micromesh nodes at the same level are regarded as new basic nodes. Spatial adjacency judgment and group pairing are performed on them. The process of extracting boundary topology information, calculating edge folding cost, locking key boundary vertices, performing edge folding downsampling and re-clustering is repeated. After each round of merging to generate a parent node at the next higher level, the total number of micromesh nodes at the current level is counted and compared with the root node number limit. This limit is set according to the scene management complexity and the initial partitioning granularity, for example, set to 4. If the current number of nodes is greater than 4, merging continues upward. If it is equal to or less than 4, merging stops. Then all recorded hierarchical connection relationships from child nodes to their direct parent nodes are summarized to form a bottom-up directed acyclic graph of micromesh nodes.

[0027] The steps for obtaining screen space projection error are as follows: Based on the microgrid directed acyclic graph, the node number, parent node number, child node starting position, number of child nodes, bounding sphere center coordinates, bounding sphere radius, and level identifier of each microgrid node are read in hierarchical order from root node to leaf node. The fixed-length microgrid node records are sequentially written into a continuous storage location. The jump position between parent and child nodes is converted into an offset relative to the continuous storage starting address. The completeness of the continuous storage location is verified according to the microgrid node number. The continuous storage content that passes the verification is submitted to the graphics processor's video memory space, forming a linear buffer structure of the microgrid directed acyclic graph. Based on the linear buffer structure of the directed acyclic graph of the micromesh, during the task shader stage, the coordinates of the center of the bounding sphere and the radius of the bounding sphere of the corresponding micromesh node are read according to the parallel thread number. The plane normal, plane offset and viewpoint position of each clipping plane of the virtual camera frustum are read synchronously. The directed distance from the center of the bounding sphere to each clipping plane is calculated one by one. Micromesh nodes whose directed distance is less than the negative value of the bounding sphere radius are determined to be micromesh nodes outside the frustum. Reading all child nodes corresponding to the micromesh nodes outside the frustum is stopped. Micromesh nodes that are not excluded by any clipping plane are retained to obtain the visible micromesh nodes inside the frustum. Read the bounding sphere center coordinates, bounding sphere radius, hierarchy identifier, and child node offset corresponding to the visible micro-mesh nodes within each view frustum. Calculate the spatial distance from the virtual camera viewpoint to the bounding sphere center. Combine the focal length scale, viewport pixel height, and bounding sphere radius in the virtual camera projection matrix to calculate the screen space projection error of the visible micro-mesh nodes within each view frustum in screen space.

[0028] Specifically, based on the directed acyclic graph (DAG) of the micromesh, the tree-like hierarchical structure of the graph is transformed into a flattened linear array to facilitate parallel access by the GPU. This process traverses the graph in breadth-first or depth-first order from the root node to the leaf node, creating a fixed-length record for each micromesh node. This record contains the node's unique ID, its parent node's ID, the starting offset of its child node sequence in the array, the number of child nodes, the 3D coordinates of the center of the bounding sphere, the radius of the bounding sphere, and the node's level identifier. When filling the array, the child nodes of a node are placed in contiguous memory blocks. The "starting position of child nodes" in the parent node record does not store pointers, but rather byte or element offsets relative to the starting address of the linear buffer. For example, if node A has two... If child nodes B and C are stored at positions 100 and 101 of the array, then the starting offset of the child nodes in the record of node A is 100, and the number of child nodes is 2. After all nodes have been written, an integrity check is performed on the entire linear buffer. For example, each node record in the array is traversed to check whether its child node offset and number point to the valid range within the array to avoid out-of-bounds access. The entire contiguous memory block that has been verified without error, i.e., the microgrid directed acyclic graph linear buffer structure, is submitted to the dedicated video memory space of the graphics processor in one go through the graphics API (such as Direct3D's CreateCommittedResource or Vulkan's vkCreateBuffer followed by memory-mapped copy).

[0029] Based on the micromesh directed acyclic graph (DAG) linear buffer structure, during the GPU's parallel computing phase, especially in the task shader, each parallel thread is assigned to process one or more micromesh nodes in the DAG. The thread reads the coordinates of the center of the bounding sphere of the corresponding node in the linear buffer based on its ID. and the radius of the enclosing sphere Simultaneously, the view frustum parameters of the current virtual camera are read from a global constant buffer. These parameters contain six clipping planes, each represented by a normal vector. and a distance to the origin By definition, for each micromesh node to be tested, the thread calculates the directed distance from the center of its bounding sphere to the six clipping planes one by one, using the following formula: This distance represents the projection of the sphere's center onto the plane's normal direction. This distance is then divided by the negative value of the radius of the enclosing sphere. Comparison: If for any clipping plane, the calculated directed distance... Less than ,Right now This means that the bounding sphere is completely "outside" the plane, and thus the entire micromesh node is completely outside the view frustum and is determined to be invisible. Once a node is determined to be outside the view frustum, the task shader will immediately terminate the subsequent processing of that node and all its child nodes, only if the bounding sphere of a node passes the test of all six clipping planes (i.e., satisfies the condition for all planes). Only when this happens is the node retained, forming the initial set of visible microgrid nodes within the view frustum.

[0030] Read the coordinates of the center of the bounding sphere corresponding to the visible micro-mesh nodes within each view frustum. , radius of the enclosing sphere The hierarchy identifier and child node offsets are obtained, and the current viewpoint position of the virtual camera is retrieved from the constant buffer. For each visible node, first calculate the straight-line spatial distance between the camera viewpoint and the center of its bounding sphere. ,Right now Then, by combining the projection parameters of the virtual camera, the maximum geometric error that the microgrid may produce on the screen can be estimated, namely the screen space projection error. The calculation method is as follows: ; in, It is the radius of the sphere enclosing the microgrid nodes. These are the distances from the viewpoint to the center of the enclosing sphere; these two parameters reflect the size and distance of the object itself. The ratio is approximately equal to the tangent of half the angle at which the object opens in the field of view. It is the pixel height of the rendering viewport, for example, 1080 pixels. It is the vertical field of view of the virtual camera, for example, 60 degrees (i.e.) radians), denominator It is a scale factor related to the focal length in the projection matrix, which transforms the size of the object in view space to clip space, and accounts for the error introduced by the geometric simplification of the micromesh (with the radius of the enclosing sphere). The upper limit is used to map from the three-dimensional world space to the two-dimensional screen pixel space, quantify its influence on the final image, and obtain the screen space projection error of each visible micro-mesh node at the current viewpoint.

[0031] The steps to obtain the micro-mesh node set are as follows: Microgrid nodes whose screen space projection error is less than or equal to the preset pixel error limit are identified as hierarchical traversal truncation nodes. Microgrid nodes whose screen space projection error is greater than the preset pixel error limit and have child nodes are expanded to the next level. Hierarchical traversal truncation nodes and last-level microgrid nodes without child nodes are summarized to obtain the set of visible microgrid nodes.

[0032] Specifically, the calculated screen space projection error of each visible microgrid node is compared with a preset pixel error limit. In comparison, this limit is set based on the requirements for image quality. For example, if it is desired that the geometric errors in the final rendering are within a range that are not easily perceptible to the human eye, it can be set to... The projection error is 1.0 pixel for a screen space. Less than or equal to The micro-mesh node is considered to have a sufficiently high level of detail for the current viewpoint, and there is no need to load its child nodes for further detailed rendering. Therefore, this node is determined as a truncation node in the level traversal and added to the final rendering list. This addresses screen space projection errors. Greater than The micromesh node indicates that it occupies a large area on the screen. The current simplification may cause visible distortion, so it needs to be refined. If the node has child nodes (i.e., it is not a leaf node), the task shader will continue to visit its child nodes and repeat the process of view frustum clipping, screen space projection error calculation, and limit comparison for the child nodes. If the error of a node is greater than the limit but it is already a leaf node (without child nodes), it must also be rendered because it is the highest precision representation. All nodes that are determined to be truncated by hierarchical traversal, as well as all the last-level micromesh leaf nodes traversed to the bottom, are summarized to obtain the final set of visible micromesh nodes used for rendering the current frame.

[0033] The steps for acquiring a 3D scene image of a power channel are as follows: Based on the set of visible micromesh nodes, the vertex start offset, number of vertices, face start offset, number of faces, and storage location of six-dimensional attributes corresponding to each visible micromesh node are read according to the visible micromesh node number. Each visible micromesh node is converted into an independent task record. Task records are allocated according to the parallel thread number of the task shader. It is checked whether the number of vertices and faces occupied by the task record exceeds the single reception limit of the mesh shader. Task records that exceed the single reception limit are split into multiple sub-task records according to the continuous face index. Task records that do not exceed the single reception limit are kept intact. The task records and sub-task records are written into the distribution queue according to the storage order of the task records and sub-task records. The task shader submits the distribution queue to the mesh shader in parallel to generate the micromesh rendering task flow. According to the micromesh rendering task flow, the local vertex index of the target micromesh node is read according to the vertex start offset and patch start offset in each task record. The six-dimensional attribute storage location is located based on the local vertex index. The spatial coordinates, texture coordinates and normal vectors of the vertex are decoded and reconstructed item by item. The vertex connection order of the adjacent polygons of each reconstructed vertex is read. The area of ​​each adjacent polygon in three-dimensional space is calculated. The ratio of the area of ​​the adjacent polygon to the total area of ​​all adjacent polygons is determined as the centroid coordinate weight. The texture coordinate components and normal vector components of the adjacent vertices are accumulated according to the centroid coordinate weight. The accumulated normal vector components are normalized. The tangent direction, normal direction and texture direction on both sides of the common boundary of the adjacent micromesh are read. The normal vectors on both sides of the common boundary are converted to a unified tangent space. The difference of the normal vectors on both sides of the common boundary is corrected according to the area ratio of the adjacent polygons. The corrected normal vectors are converted back to three-dimensional space to eliminate the normal seams between adjacent micromeshes and obtain the interpolated and reconstructed three-dimensional polygon patch. Based on the interpolated and reconstructed 3D polygon patches, spatial coordinates, texture coordinates, and normal vectors are submitted to the rasterizer according to the vertex connection order of the 3D polygon patches. Viewport clipping and screen coordinate transformation are performed on the 3D polygon patches. The fragment positions covered by the 3D polygon patches are determined according to the positional relationship between the screen pixel center and the boundary of the 3D polygon patches. Texture coordinates and normal vectors are interpolated according to the centroid coordinates corresponding to the fragment positions. The material color, texture sampling value, surface roughness, and reflection intensity corresponding to the fragment positions are read. Combined with the light source direction, light source intensity, virtual camera viewpoint direction, and interpolated normal vectors, the ambient light component, diffuse reflection component, and specular reflection component of the fragment positions are calculated respectively. Each lighting component and material color is written to the corresponding screen pixel. The color output results of all screen pixels are summarized to generate the 3D scene image of the power channel.

[0034] Specifically, based on the set of visible micromesh nodes, the task shader processes each node in the set in parallel. For a visible micromesh node, the thread reads its metadata in the micromesh data buffer according to its number, including the starting offset of the vertex data contained in the micromesh in the global vertex buffer, the number of vertices, and the starting offset of the face index data in the global index buffer, and the number of faces. Each visible micromesh node is constructed as an independent rendering task record. The resource requirements of each task record are then checked, comparing its number of vertices and faces with the maximum accept limit for a single workgroup defined in the mesh shader hardware specification. This limit is a fixed value; for example, a typical limit is 256 vertices and 512 triangles. If the number of faces in a task record (e.g., 800) exceeds the upper limit (512), the task must be split. During splitting, the task record is divided into multiple sub-task records according to the continuity of the original face index. The first sub-task processes the first 512 faces, and the second sub-task processes the remaining 288 faces. If the resource requirements of the task record do not exceed the upper limit, it remains intact. All original task records and split sub-task records are written sequentially into a task queue for distributing work to the mesh shader, according to their processing order in the set of visible micromesh nodes. Finally, the task shader starts the corresponding number of mesh shader workgroups based on the total number of tasks in the queue, submits them to the distribution queue in parallel, and generates a micromesh rendering task flow.

[0035] According to the micromesh rendering task flow, each mesh shader workgroup retrieves a task record from the task queue. Based on the vertex and face offsets and quantities in the record, it reads the local vertex and index data of its micromesh from the global buffer in video memory. Using the local vertex indices, it further decompresses and reconstructs the complete attributes of each vertex from the storage area of ​​the six-dimensional attribute vertex set, including spatial coordinates, texture coordinates, and normal vectors. To smooth the vertex normals, for each reconstructed vertex, it reads the vertex connection order of all its adjacent polygons within the current micromesh, calculates the normal vector and area of ​​each adjacent polygon in 3D space using the cross product, and assigns the area of ​​each adjacent polygon to the area of ​​all adjacent polygons surrounding that vertex. The ratio of the total area of ​​the polygons is used as the weight of the centroid coordinates for calculating the vertex normals. The normal vectors of all adjacent polygons are weighted and averaged according to this weight, and the result is normalized to obtain the smoothed vertex normals. To eliminate rendering seams between different micromeshes, for vertices located on a common boundary, the tangents, normals, and texture directions of the adjacent micromesh on both sides of the common boundary are read. The normal vectors on both sides are transformed to a unified tangent space through the TBN matrix. In this space, the two normal vectors are also mixed according to the area ratio of the adjacent polygons on both sides. The mixed normals are then inversely transformed back to world space to complete the normal correction. Finally, the 3D polygon patch flow after the above interpolation reconstruction and seam smoothing is output.

[0036] Based on the interpolated and reconstructed 3D polygonal faces, the mesh shader, according to the vertex connection order of each face, packages and outputs the final spatial coordinates of the vertices, the interpolated texture coordinates, and the smoothed normal vectors to the next stage of the rendering pipeline, namely the rasterizer. The rasterizer first performs viewport clipping on the 3D polygonal faces, discarding the parts completely outside the screen. Then, it transforms the vertices of the remaining faces from 3D clipping space to 2D screen coordinates. For the screen pixel area covered by each face, the rasterizer determines which pixel centers fall inside the face and identifies these positions as fragments. At the same time, it calculates the centroid coordinates of each fragment on the face and uses these coordinates to perform perspective correction interpolation on the texture coordinates and normal vectors of the vertices. In the fragment shader, the material texture is sampled using the interpolated texture coordinates to obtain the basic color and properties of the surface. Combined with the material parameters corresponding to the fragment position, such as surface roughness and reflection intensity, as well as the light source direction, intensity, and virtual camera viewpoint direction obtained from the constant buffer, the lighting model is applied to calculate the lighting color of the fragment. ; Among them, ambient light component diffuse reflection component Specular reflection component In the formula The interpolated normal vector. Let be the unit vector pointing to the light source. It is the half-length vector of the view vector and the light source vector. For the material's environmental, diffuse, and specular values, Highlight index, For ambient light and direct light intensity, the calculated light components are mixed with the material color and written to the color buffer of the corresponding screen pixel. After all fragments are processed, the color output results of all screen pixels are summarized to generate the 3D scene of the power channel.

[0037] 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 method for constructing a three-dimensional model of power line erection, characterized in that, Includes the following steps: Obtain the original three-dimensional model of the power channel, extract the spatial coordinates, texture coordinates and normal vectors of each mesh vertex in the original three-dimensional model of the power channel, and construct a six-dimensional attribute vertex set; The original three-dimensional model of the power channel is spatially clustered, divided into terrain grids and tower grids, and the clustering boundaries are constrained to generate a first-level micro-grid cluster. Extract boundary topology information based on the first-level microgrid cluster; The edge folding cost is calculated based on the set of six-dimensional attribute vertices and the boundary topology information. Edge folding downsampling and re-clustering are performed. The bounding sphere parameters and boundary mapping relationships are recorded. A micro-mesh directed acyclic graph is constructed from the bottom up. The micromesh directed acyclic graph is encoded into a micromesh directed acyclic graph linear buffer structure and submitted to the graphics processor's video memory space; During the task shader phase, the bounding sphere parameters are read and the test is performed to filter out the visible micro-mesh nodes within the view frustum; Calculate the screen space projection error of the visible micro-mesh nodes within the view frustum and compare it with the error limit to filter the set of visible micro-mesh nodes; Based on the set of visible micromesh nodes, the task shader distributes micromesh rendering task flows to the mesh shader; the mesh shader decodes the data and performs interpolation calculations to obtain the interpolated and reconstructed 3D polygon patches. The interpolated and reconstructed 3D polygon patches are output to a rasterizer for calculation to generate a 3D scene of the power channel.

2. The method for constructing a three-dimensional model of power line erection according to claim 1, characterized in that, The steps for obtaining the set of six-dimensional attribute vertices are as follows: Obtain the original 3D model of the power channel, locate each mesh vertex one by one according to the mesh vertex index, read the coordinate components of each mesh vertex in 3D space, read the texture coordinate components of each mesh vertex, read the normal vector components of each mesh vertex, check whether the mesh vertex indexes corresponding to the spatial coordinates, texture coordinates and normal vectors are consistent, remove mesh vertex records with missing indexes or conflicting attribute correspondences, and concatenate the spatial coordinates, texture coordinates and normal vectors according to the unified mesh vertex index order to obtain a six-dimensional attribute vertex set.

3. The method for constructing a three-dimensional model of power line erection according to claim 1, characterized in that, The steps for obtaining the first-level microgrid cluster are as follows: According to the grid vertex index, read the polygonal facet connection relationship in the three-dimensional original model of the power channel, count the number of polygonal facets and vertices corresponding to each continuous grid region, track the spatial extension order formed by the continuous grid region along the direction of the power line, identify the grid regions that are continuously spread along the channel direction, identify the grid regions that form vertical connections, horizontal connections and hollow connections around the main body of the tower, classify the continuously spread grid regions as terrain grids, classify the grid regions connected around the main body of the tower as tower grids, and obtain the terrain grid and tower grids; Based on the terrain grid and the tower grid, adjacent polygonal faces are arranged according to the direction of the power lines. The extension boundary of each group of adjacent polygonal faces is determined along the direction of the power lines. Merging is prohibited from crossing the type boundary between the terrain grid and the tower grid. The number of polygonal faces and vertices in the merged area is accumulated group by group. The position where the accumulated number of polygonal faces reaches the preset limit or the accumulated number of vertices reaches the preset limit is determined as the cluster boundary. The subsequent polygonal face merging is truncated at the cluster boundary. The arrangement, accumulation, boundary determination and truncation are repeated for the remaining polygonal faces to generate the first-level microgrid cluster.

4. The method for constructing a three-dimensional model of power line erection according to claim 1, characterized in that, The steps for obtaining the boundary topology information are as follows: Based on the first-level micromesh cluster, the bounding range, spatial coordinates of the mesh vertices, and polygonal facet connections of each first-level micromesh are read. The interval distance between the bounding ranges of different first-level micromesh is compared. First-level micromesh with common mesh edges or common boundary vertices are retrieved. Pairing relationships are established in ascending order of spatial distance. The mesh edge number, boundary vertex number, adjacent facet number, and boundary connection order corresponding to the outer contour of the paired micromesh are read one by one. The common mesh edges that appear repeatedly inside the paired micromesh are removed, and the outer mesh edges that are continuously arranged around the paired area are retained to obtain the boundary topology information.

5. The method for constructing a three-dimensional model of power line erection according to claim 1, characterized in that, The steps for obtaining the micromesh directed acyclic graph are as follows: Based on the boundary topology information, the spatial coordinates, texture coordinates, and normal vectors of the two vertices at both ends of each mesh edge in the six-dimensional attribute vertex set are called. The variation difference of the two vertices at both ends in each attribute component is calculated respectively. The variation difference is normalized according to the mesh edge length. The penalty weight of the normal vector and the penalty weight of the texture coordinate are set to be greater than the penalty weight of the spatial coordinate. The weighted error corresponding to each attribute component is accumulated to form the edge folding cost of each mesh edge. The high-frequency hollow structure composed of slender facets, dense boundaries, and continuous holes in the tower mesh is identified. The boundary vertices of the paired micromesh are marked as locked. The mesh edges corresponding to the locked state are prohibited from participating in folding. Unlocked mesh edges are selected in ascending order of edge folding cost. The two vertices at both ends of the selected mesh edges are merged. The invalid polygon facets are deleted. The vertex index of the remaining polygon facets is corrected. The downsampled mesh facets are re-clustered to generate the parent node micromesh. Calculate the spatial bounding range of all child microgrid vertices covered by the parent microgrid. Determine the center coordinates and radius of the bounding sphere based on the spatial bounding range. Establish a one-to-one correspondence according to the boundary vertex numbers of the parent microgrid and the boundary vertex numbers of the child microgrid. Record the bounding sphere parameters and boundary mapping relationships of the parent and child nodes. Continue to pair the spatially adjacent parent microgrids in the same level. Repeat the extraction of boundary topology information, calculation of edge folding cost, locking of boundary vertices, execution of edge folding downsampling, and re-clustering. After each re-clustering, count the number of microgrid nodes in the current level. If the number of microgrid nodes is greater than the root node limit, continue merging to the next level. If the number of microgrid nodes reaches the root node limit, stop merging. Summarize all parent-child node relationships according to the hierarchical connection direction from the child node to the parent node to obtain a directed acyclic graph of microgrids.

6. The method for constructing a three-dimensional model of power line erection according to claim 1, characterized in that, The steps for obtaining the screen space projection error are as follows: Based on the microgrid directed acyclic graph, the node number, parent node number, child node starting position, number of child nodes, center coordinates of the bounding sphere, radius of the bounding sphere, and level identifier of each microgrid node are read in hierarchical order from root node to leaf node. The fixed-length microgrid node records are sequentially written into a continuous storage location. The jump position between parent and child nodes is converted into an offset relative to the starting address of the continuous storage. The completeness of the continuous storage location is verified according to the microgrid node number. The continuous storage content that passes the verification is submitted to the video memory space of the graphics processor to form a linear buffer structure of the microgrid directed acyclic graph. Based on the micromesh directed acyclic graph linear buffer structure, during the task shader stage, the bounding sphere center coordinates and bounding sphere radius of the corresponding micromesh node are read according to the parallel thread number. Simultaneously, the plane normal, plane offset, and viewpoint position of each clipping plane of the virtual camera's view frustum are read. The directed distance from the center of the bounding sphere to each clipping plane is calculated one by one. Micromesh nodes whose directed distance is less than the negative value of the bounding sphere radius are determined to be micromesh nodes outside the view frustum. Reading all child nodes corresponding to the micromesh nodes outside the view frustum is stopped. Micromesh nodes that are not excluded by any clipping plane are retained to obtain the visible micromesh nodes inside the view frustum. Read the bounding sphere center coordinates, bounding sphere radius, hierarchy identifier, and child node offset corresponding to each visible micro-mesh node within the view frustum. Calculate the spatial distance from the virtual camera viewpoint to the center of the bounding sphere. Combine the focal length scale, viewport pixel height, and bounding sphere radius in the virtual camera projection matrix to calculate the screen space projection error of each visible micro-mesh node within the view frustum in screen space.

7. The method for constructing a three-dimensional model of power line erection according to claim 1, characterized in that, The steps for obtaining the set of visible micro-mesh nodes are as follows: Microgrid nodes whose screen space projection error is less than or equal to a preset pixel error limit are identified as hierarchical traversal truncation nodes. Microgrid nodes whose screen space projection error is greater than the preset pixel error limit and have child nodes are expanded to the next level. The hierarchical traversal truncation nodes and the last-level microgrid nodes without child nodes are summarized to obtain a set of visible microgrid nodes.

8. The method for constructing a three-dimensional model of power line erection according to claim 1, characterized in that, The steps for acquiring the 3D scene image of the power channel are as follows: Based on the set of visible micromesh nodes, the vertex start offset, number of vertices, face start offset, number of faces, and six-dimensional attribute storage location corresponding to each visible micromesh node are read according to the visible micromesh node number. Each visible micromesh node is converted into an independent task record. The task record is allocated according to the parallel thread number of the task shader. It is checked whether the number of vertices and faces occupied by the task record exceeds the single reception limit of the mesh shader. The task record that exceeds the single reception limit is split into multiple sub-task records according to the continuous face index. The task record that does not exceed the single reception limit is kept intact. The task record and sub-task record are written into the distribution queue according to the storage order of the task record and sub-task record. The task shader submits the distribution queue to the mesh shader in parallel to generate the micromesh rendering task flow. According to the micromesh rendering task flow, the local vertex index of the target micromesh node is read according to the vertex start offset and patch start offset in each task record. The six-dimensional attribute storage location is located based on the local vertex index. The spatial coordinates, texture coordinates and normal vectors of the vertex are decoded and reconstructed item by item. The vertex connection order of the adjacent polygons of each reconstructed vertex is read. The area of ​​each adjacent polygon in three-dimensional space is calculated. The ratio of the area of ​​the adjacent polygon to the total area of ​​all adjacent polygons is determined as the centroid coordinate weight. The texture coordinate components and normal vector components of the adjacent vertices are accumulated according to the centroid coordinate weight. The accumulated normal vector components are normalized. The tangent direction, normal direction and texture direction on both sides of the common boundary of the adjacent micromesh are read. The normal vectors on both sides of the common boundary are converted to a unified tangent space. The difference of the normal vectors on both sides of the common boundary is corrected according to the area ratio of the adjacent polygons. The corrected normal vectors are converted back to three-dimensional space to eliminate the normal seams between adjacent micromeshes and obtain the interpolated and reconstructed three-dimensional polygon patch. Based on the interpolated and reconstructed 3D polygon patches, spatial coordinates, texture coordinates, and normal vectors are submitted to the rasterizer according to the vertex connection order of the 3D polygon patches. Viewport clipping and screen coordinate transformation are performed on the 3D polygon patches. The fragment positions covered by the 3D polygon patches are determined according to the positional relationship between the screen pixel center and the boundary of the 3D polygon patches. Texture coordinates and normal vectors are interpolated according to the centroid coordinates corresponding to the fragment positions. The material color, texture sampling value, surface roughness, and reflection intensity corresponding to the fragment positions are read. Combined with the light source direction, light source intensity, virtual camera viewpoint direction, and interpolated normal vectors, the ambient light component, diffuse reflection component, and specular reflection component of the fragment positions are calculated respectively. Each illumination component and material color are written to the corresponding screen pixel. The color output results of all screen pixels are summarized to generate the 3D scene image of the power channel.