A method for generating a spatial model slice data organization structure
By generating leaf nodes, intermediate nodes, and root nodes of the slice network, the problem of inefficient data organization in 3D GIS is solved, achieving low storage scale and efficient resource utilization, improving file transfer efficiency and visual effects, and enhancing user experience.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- INTERSTELLAR SPACE (TIANJIN) TECH DEV CO LTD
- Filing Date
- 2022-11-26
- Publication Date
- 2026-07-03
AI Technical Summary
Existing 3D GIS methods struggle to effectively generate multi-level detailed slice structures for model data within a given data block, resulting in inefficient data organization, large storage requirements, high network bandwidth consumption, excessive resource consumption, poor visual effects, and a poor user experience.
By generating leaf nodes, intermediate nodes, and root nodes of the slice network, including model decomposition, aggregation, simplification, and texture processing, we ensure that the slice data of each layer is reasonably detailed, the data organization is efficient, the parent and child nodes correspond, and the scheduling between layers is compact, thereby improving file transfer efficiency and visual effects.
This approach achieves low data storage scale at each layer of the slice, saves network bandwidth, minimizes resource consumption, improves data scheduling performance and visual effects during browsing, and enhances user experience.
Smart Images

Figure CN115937445B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of geographic information technology, specifically to a method for generating a multi-level detailed slice network organization structure for model data in a given data block. The slice data at each level has a reasonable level of detail and efficient organization; the data storage size of a single slice is low and stable, significantly saving network bandwidth and improving file transfer efficiency; the level of detail in the multi-level slice data decreases progressively from the leaf nodes to the root nodes of the slice network, meeting various usage scenarios while using minimal resource consumption and improving data scheduling performance; the slice network has a one-to-one parent-child node correspondence, and the spatial distribution and data volume allocation of the child nodes corresponding to each parent node are reasonable, resulting in a compact scheduling and switching mechanism between slice data levels. Background Technology
[0002] With the rapid development of IT technology and industry, Geographic Information System (GIS), with its distinctive features and increasingly powerful functions, has penetrated widely into various industries and is playing an increasingly important role. At the same time, these applications, in turn, place more and higher demands on GIS. People live in a true three-dimensional space, and many practical phenomena cannot be adequately addressed by existing 2D GIS. Examples include the design and landscape simulation of overpasses and buildings in urban planning; data management and graphical display of underground railways, shopping malls, parking lots, and other service facilities; the rational layout and planning of power and communication facilities; the rational configuration of fire protection, power supply, water supply, gas supply, and alarm facilities in residential buildings; the rational distribution, management, querying, and optimal route selection of urban above-ground and underground pipelines; the planning and management of aviation flight routes; and the description and analysis of various phenomena such as strata, faults, geological structures, oil layers, underground gas, and groundwater in geology, petroleum, and other fields. All of these require intuitive, true three-dimensional representation. Traditional 2D GIS can no longer meet the application needs of people, and there is an urgent need to transform into 3D GIS. Therefore, 3D GIS has aroused strong interest among researchers. Research on 3D GIS has become a hot topic in academia.
[0003] With the emergence of concepts such as "Digital Earth" and "Digital City," the demand for 3D city models is rapidly increasing. The widespread use of geographic information services, such as digital cities and virtual geographic environments, also places urgent demands on their 3D representation. Advances in Earth observation technology and computer technology, particularly high-resolution remote sensing technology and computer graphics processing technology, have provided various display methods for this purpose. The 3D representation of geographic information has the following significant characteristics:
[0004] Three-dimensional representation can provide users with more intuitive spatial elevation information, while traditional two-dimensional representation reflects the planar position of spatial objects, and its elevation information exists only as an attribute value and cannot be reflected intuitively.
[0005] It can point out the types, quantity and quality characteristics of spatial targets, as well as the spatial location of objects and the spatiotemporal distribution of phenomena in a more intuitive and realistic way. Therefore, the three-dimensional representation has complete spatiotemporal positioning characteristics.
[0006] In contrast, a digital city is a realistic three-dimensional digital representation of a city, allowing people to explore and interact with a collection of natural and cultural information about the city. In photogrammetry, a digital city usually refers to a three-dimensional city model. It not only presents a three-dimensional city model but also provides photo-intuitive surface descriptions such as realistic material and texture features, as well as related attribute information. GIS that meets the needs of a digital city is called "Digital City GIS." Compared to 3D visualization and virtual display technologies, the research progress of practical true 3D GIS has been much slower, and its theory and technology are still immature. Therefore, unlike true 3D GIS in the general sense, Digital City GIS is currently only a special prototype method of true 3D GIS. It has been simplified in many aspects according to most application needs, such as using an outer surface model instead of a solid geometric model and downplaying complex spatial topological relationships. Regardless of how the real world is mapped to the spatial database, it emphasizes that GIS provides three-dimensional capabilities in a robust and efficient manner.
[0007] However, current 3D GIS methods have several key technical issues that need to be addressed. These include: how to effectively generate a multi-level detailed slice network structure for model data in a given data block; how to ensure reasonable detail and efficient data organization at each slice level; how to maintain low and stable data storage for individual slices, significantly saving network bandwidth and improving file transfer efficiency; how to progressively reduce the detail of multi-level slice data from leaf nodes to root nodes, meeting various usage scenarios while minimizing resource consumption and improving data scheduling performance; and how to ensure a one-to-one correspondence between parent and child nodes in the slice network, with reasonable spatial distribution and data allocation for child nodes corresponding to each parent node, resulting in compact scheduling and switching between slice data levels, improving the visual effect during browsing, and enhancing the user experience. Summary of the Invention
[0008] To overcome the shortcomings of existing technical solutions, this project aims to achieve a multi-level detailed slice network structure for generating model data in a given data block. The slice data at each level has a reasonable level of detail and efficient organization. The small and stable data storage size of a single slice significantly saves network bandwidth and improves file transfer efficiency. The level of detail in the multi-level slice data decreases progressively from the leaf nodes to the root nodes, meeting various usage scenarios while minimizing resource consumption and improving data scheduling performance. The one-to-one correspondence between parent and child nodes in the slice network, with reasonable spatial distribution and data allocation for the child nodes corresponding to each parent node, ensures compact scheduling and switching between slice data levels, enhancing the visual experience and improving user experience.
[0009] A method for generating a spatial model slice data organization structure includes the following steps: Generating slice vein leaf nodes: Extracting model information from each data block, obtaining the comparison result between the model data volume and the slice threshold through a calculation formula, cyclically decomposing the model until the model data volume meets the slice threshold, performing multiple aggregation operations on the decomposed model blocks until all model blocks have aggregated and grown to obtain multiple model aggregates, and saving each model aggregate as a slice vein leaf node; Generating slice vein intermediate nodes: Calculating adaptive simplification parameters based on quantitative visible distance and model characteristics, performing multi-level simplification on the slice vein leaf node model, and redistributing texture coordinates; performing multi-scale simplification on each texture image, merging the model texture images within the slice vein leaf nodes, and processing the texture information of the models within the slice. The process involves updating the slice network; selecting the initial point for aggregation of leaf nodes in the slice network and performing multiple aggregation operations on each leaf-level slice until all leaf-level slices are aggregated to obtain multiple slice aggregates; based on the correspondence between the leaf nodes of the slice network and the intermediate nodes of the aggregated slice network, binding the leaf nodes of the slice network to their parent intermediate nodes of the slice network, ensuring that each intermediate node of the slice network has a logical relationship with its child nodes; generating the root node of the slice network: calculating the slice depth simplification coefficient based on the specified simplification level and aggregating and simplifying the model triangular points; aggregating all intermediate nodes of the slice network in the data block into a whole to generate the root node of the slice network, and binding the intermediate nodes of the slice network to their parent root nodes of the slice network based on the relevant correspondence, ensuring that each root node of the slice network has a logical relationship with its child nodes.
[0010] A method for generating a spatial model slice data organization structure, wherein the step of generating slice vein leaf nodes is as follows:
[0011] Model splitting: Extract the model information from each data block, obtain the model data volume through calculation formula and compare it with the slicing threshold, and cyclically split the model according to the comparison result until the model data meets the slicing threshold;
[0012] Model aggregation growth: Based on the geometric information of the statistically decomposed model blocks, a model block at a specified location is obtained, and this model block is selected as the initial point for model aggregation. Starting from the initial point for model aggregation, multiple aggregation operations are performed with each model block until all model blocks are aggregated to obtain multiple model aggregates. Each model aggregate is saved as a slice vein leaf node.
[0013] A method for generating a spatial model slice data organization structure, wherein the model splitting steps are as follows:
[0014] Calculate the model data volume: Extract the geometric and texture information of each model in the data block, and obtain the total data volume of geometric and texture information through the model data volume calculation formula;
[0015] The calculation formula is as follows:
[0016]
[0017] In the formula:
[0018] Size model This represents the amount of model data in the data block;
[0019] length verCoord Represents the length of the model vertex coordinates in the data block;
[0020] length norCoord Represents the length of the model normal coordinates in the data block;
[0021] Size float This represents the unit of storage space occupied by float type data in the target storage computer system of the slice;
[0022] length texCoord Represents the length of the model texture coordinates in the data block;
[0023] n texture This represents the number of textures in the model within the data block;
[0024] width i Represents the width of the i-th texture image;
[0025] height i Represents the height of the i-th texture image;
[0026] Size pixel The storage space occupied by a unit pixel in the computer system storing the sliced target;
[0027] Model iterative decomposition: The model data volume is compared with the slicing threshold. If the model data volume meets the slicing threshold condition, the next process is initiated. If the model data volume is greater than the slicing threshold, the model is decomposed and compared with the slicing threshold again in a loop until the number of models meets the slicing threshold. Then the loop stops and the next process is initiated.
[0028] A method for generating a spatial model slice data organization structure, wherein the model aggregation and growth steps are as follows:
[0029] Select the initial point for model aggregation: Calculate the bounding box of each model block based on the geometric information of the disassembled model blocks, obtain the model block at the specified position based on the bounding box coordinate range, and use this model block as the initial point for model aggregation; the geometric information includes: vertex coordinates, normal coordinates, and texture coordinates;
[0030] Perform model aggregation operation: Starting from the initial point of model aggregation, perform Euclidean distance analysis and comparison with each model block to determine one or more model blocks that meet the Euclidean distance rules. Merge multiple model blocks with the best Euclidean distance and then compare them with the slice threshold. When it is determined that the threshold condition is met, the aggregation is completed. If the threshold condition is not met, merge more model blocks until the threshold condition is met and the aggregation is determined to be completed, forming a model aggregate. Repeat the aggregation operation multiple times until all model blocks are aggregated to obtain multiple model aggregates. Save each model aggregate as a slice vein leaf node.
[0031] A method for generating a spatial model slice data organization structure, wherein the steps for generating intermediate nodes of the slice network are as follows:
[0032] Slice Internal Model Simplification: The number of triangular faces in the internal models of the leaf nodes of the slice vein is counted. The termination condition for geometric simplification is calculated. Adaptive simplification parameters are calculated based on the quantitative visible distance and model characteristics. Multi-level simplification of the slice vein leaf node models is performed until the number of triangular faces in the slice vein leaf node models in the data block meets the termination condition for geometric simplification. Texture coordinates are then redistributed. A texture simplification information dictionary is generated, and each texture image is simplified at multiple scales using this dictionary. The texture images of the internal models of the slice vein leaf nodes are grouped, and corresponding rule templates are generated for each group. New texture images are generated using these rule templates to obtain the merged model textures. The texture information of the internal models of the slice is then updated.
[0033] Slice vein leaf node aggregation growth: Based on the geometric information of the leaf nodes after statistical decomposition, the leaf node at a specified position of the slice vein is obtained, and this leaf node is selected as the initial point for aggregation of the leaf node of the slice vein. Starting from the initial point of the leaf-level slice aggregation, multiple aggregation operations are performed with each leaf-level slice until all leaf-level slices are aggregated to obtain multiple slice aggregates. According to the correspondence between the leaf nodes of the slice vein and the intermediate nodes of the aggregated slice vein, the leaf nodes of the slice vein are bound to their parent intermediate nodes of the slice vein, so that each intermediate node of the slice vein has a logical relationship with its child nodes.
[0034] A method for generating a spatial model slice data organization structure, wherein the simplification of the internal model of the slice includes the following steps:
[0035] Calculate the simplification termination condition: Count the number of triangles in the internal model of the leaf nodes of the slice vein, and calculate the final number of remaining triangles based on the given simplification level as the termination condition for geometric simplification.
[0036] The formula is:
[0037] N end = (1-Sim)×N △
[0038] In the formula:
[0039] N end This represents the number of triangles in the simplified termination slice leaf node model.
[0040] Sim represents the given level of simplification;
[0041] N Δ This represents the number of triangles in the internal model of the leaf node of the unsimplified slice network.
[0042] Adaptive geometric simplification: Read the geometric information of the slice vein leaf node model, calculate the adaptive simplification parameters based on the quantitative visual distance and model characteristics, perform multi-level simplification on the slice vein leaf node model, perform edge folding simplification on the triangular face based on the calculated adaptive edge folding parameters and redistribute the texture coordinates, and perform face deletion simplification based on the calculated adaptive face deletion parameters on the result of edge folding simplification.
[0043] Multi-scale texture simplification: Extract texture images from the leaf node model of the sliced vein after adaptive geometric simplification, calculate the texture simplification coefficients corresponding to each texture image in the leaf node of the sliced vein, generate a texture simplification information dictionary, and perform multi-scale simplification on each texture image through the texture simplification information dictionary.
[0044] Merging based on rule templates: The texture layer number information of the slice vein leaf node model is read, and a corresponding number of texture merging templates are generated based on this information. Texture images contained in the slice vein leaf node model are grouped according to their texture layer number to obtain multiple texture groups at different levels. Each level of texture group is traversed, and the texture images in each group are assigned to specified positions in the corresponding template window. Texture restoration information is generated based on the specified positions of each texture image in the template window and bound to the texture coordinates of the slice vein leaf node model. The template windows are merged to generate new texture images, and the mapping relationship between the new texture image and the original texture image is saved. The texture images in the slice vein leaf node model are replaced according to the mapping relationship to obtain the merged slice vein leaf node model texture.
[0045] A method for generating an organizational structure for spatial model slice data, wherein the specific steps for simplifying the adaptive geometric structure are as follows:
[0046] Read geometric information of leaf node models in slice veins: Batch read vertex coordinates of leaf node models in slice veins;
[0047] Filtering and folding triangular faces: Calculate the area of each triangular face using a formula based on the coordinates of its vertices.
[0048] The calculation formula is as follows:
[0049]
[0050] In the formula:
[0051] S △ Represents the area of the triangular face;
[0052] x1, y1, and z1 represent the coordinates of the first vertex of the triangle face;
[0053] x2, y2, z2 represent the coordinates of the second vertex of the triangle face;
[0054] x3, y3, z3 represent the coordinates of the second vertex of the triangle face;
[0055] Further, the projected pixel value of each triangular facet at a fixed visible distance is calculated based on the area value of the triangular facets, where the calculation formula is:
[0056]
[0057] In the formula:
[0058] P △ Represents the pixel value of the triangular projection;
[0059] S△ Represents the area of the triangular face;
[0060] d represents the visible distance within a specified range, where the visible distance within the specified range is between 1cm and 5000m;
[0061] h sc Represents the screen height of the scene;
[0062] fovy represents the longitudinal angle of the view frustum in the scene;
[0063] Based on the calculated projected pixel values, each triangular facet in the sliced vein leaf node model is filtered. Triangular faces with a projected pixel value < 1 are marked and awaited processing, while triangular faces with a projected pixel value ≥ 1 are retained.
[0064] Simplifying the edges of the triangle by folding: The quadratic error value of the edge folding is obtained by calculating the coordinates of the marked vertex of the triangle and the plane in which they lie. The calculation formula is as follows:
[0065]
[0066] In the formula:
[0067] x, y, z are the coordinates of the midpoints of the sides of the triangle;
[0068] a, b, c, and d represent the coefficients of the equation of the plane to which the edge belongs, ax + by + cz + d = 0;
[0069] E represents the second-order error value of the edge folding;
[0070] The edge folding weight value is calculated based on the quadratic error value of the edge folding obtained from the calculation; wherein the calculation formula is:
[0071]
[0072] In the formula:
[0073] E represents the second-order error value of the edge folding;
[0074] P represents the edge collapse weight value;
[0075] The edges of each triangle are reordered and folded according to the edge folding weight value to generate a recombined triangle, and the texture coordinates of the recombined triangle are updated.
[0076] The process involves filtering and deleting triangular faces: Calculating the interior angles using the cosine formula and the coordinates of the reconstructed triangle vertices, and filtering out faces with interior angles smaller than extreme values; calculating the shortest side length of the filtered faces with interior angles smaller than extreme values using the cosine formula, and then calculating the triangles whose pixel value projected onto the scene plane is less than 1; the calculation formula is as follows:
[0077]
[0078] In the formula:
[0079] e represents the length of the shortest side;
[0080] P edge Represents the pixel value of the shortest side projected onto the scene plane;
[0081] h sc Represents the screen height of the scene;
[0082] fovy represents the longitudinal angle of the view frustum in the scene;
[0083] The selected triangles are deleted until the number of triangles in the leaf node model of the slice vein in the data block meets the termination condition for geometric simplification.
[0084] A method for generating a spatial model slice data organization structure, wherein the specific steps of multi-scale texture simplification are as follows:
[0085] Calculate the texture simplification scale coefficient of slice vein leaf node: extract the set of triangular faces corresponding to the texture image of each slice vein leaf node model, calculate the sum of the area values of the triangular faces corresponding to the texture image of each slice vein leaf node, perform segmented statistical calculation on the obtained sum of area values, further calculate the corresponding texture simplification coefficient based on the segmented statistical results, and generate a slice vein leaf node texture simplification information dictionary at the same time.
[0086] The summation formula is as follows:
[0087]
[0088] In the formula:
[0089] S p This represents the sum of the area values of the set of triangles corresponding to each texture image;
[0090] S i This represents the area value of each set of triangles corresponding to each texture image;
[0091] The segmented statistical calculation formula is as follows:
[0092]
[0093] In the formula:
[0094] Pro j The result of piecewise statistical calculation of the total area of the triangular facets corresponding to the j-th texture image;
[0095] S j and These represent the sum of the triangular facets corresponding to the texture images of the j-th and all slice vein leaf node models, respectively;
[0096] The formula for calculating the texture simplification factor is as follows:
[0097]
[0098] In the formula:
[0099] r j This represents the texture simplification factor corresponding to the j-th texture image;
[0100] Pro j The result of piecewise statistical calculation of the total area of the triangular facets corresponding to the j-th texture image;
[0101] Simplify the texture images of each slice leaf node: Traverse the texture images of the slice vein leaf node model, and simplify each texture image at multiple scales using the corresponding texture simplification coefficients in the texture simplification information dictionary.
[0102] A method for generating a spatial model slice data organization structure, wherein the specific steps of the slice vein leaf node aggregation and growth are as follows:
[0103] Select the initial point for slice aggregation: Calculate the bounding box of each slice vein leaf node based on the geometric information of the leaf nodes of the slice vein after statistical analysis. Obtain the slice vein leaf node at the specified position based on the bounding box coordinate range, and use this slice vein leaf node as the initial point for leaf-level slice aggregation.
[0104] Perform slice aggregation operation: Starting from the initial point of the leaf-level slice aggregation, perform Euclidean distance analysis and comparison with the leaf nodes of each slice vein to determine one or more slice vein leaf nodes that meet the Euclidean distance rules. Merge multiple slice vein leaf nodes with the best Euclidean distance and then compare them with the slice threshold. When the threshold condition is met, the aggregation is complete. If the threshold condition is not met, merge more slice vein leaf nodes until the threshold condition is met and the aggregation is completed to form a slice aggregate. Repeat the aggregation operation multiple times until all slice vein leaf nodes are aggregated to obtain multiple slice aggregates. Save each slice aggregate as a slice vein intermediate node and save the correspondence between slice vein leaf nodes and slice vein intermediate nodes.
[0105] Parent-child node binding: Based on the correspondence between the leaf nodes of the slice network and the intermediate nodes of the slice network obtained by aggregation, the leaf nodes of the slice network are bound to their parent intermediate nodes of the slice network, so that each intermediate node of the slice network has a logical relationship with its child nodes.
[0106] A method for generating a spatial model slice data organization structure, wherein the specific steps for generating the root node of the slice network are as follows:
[0107] Slice data depth simplification: The slice depth simplification coefficient is calculated according to the specified simplification level. Based on the face deletion simplification result, the model triangle points are aggregated and simplified according to the calculated adaptive point aggregation parameters.
[0108] Slice network intermediate node aggregation growth: Aggregate all slice network intermediate nodes in the data block into a whole, generate slice network root nodes and save the parent-child relationship between slice network intermediate nodes and aggregates; and bind slice network intermediate nodes to their parent slice network root nodes according to the relevant correspondence, so that each slice network root node has a logical relationship with its child nodes.
[0109] A method for generating a spatial model slice data organization structure, wherein the specific steps for depth simplification of the slice data are as follows:
[0110] Calculate the deep simplification factor: Calculate the deep simplification factor of the slice based on the specified simplification level; the formula for calculating the deep simplification factor is as follows:
[0111]
[0112] In the formula:
[0113] n represents the simplification factor for slice depth;
[0114] Size model Represents the amount of data in the model;
[0115] Size thres This represents the upper limit of the threshold for the root node of the slice network;
[0116] Adaptive geometric simplification: Based on the face deletion simplification results, the model triangle points are aggregated and simplified according to the calculated adaptive point aggregation parameters.
[0117] Multi-scale texture simplification and merging: Extract texture images from the adaptively geometrically simplified slice network intermediate node model to obtain texture simplification coefficients, and perform multi-scale simplification on each texture image; read the texture layer information of the slice network intermediate node model to generate a texture merging template; group the texture images contained in the slice network intermediate node model according to the texture layer number to obtain multiple texture groups of different levels; traverse each level of texture group, assign the texture images in each texture group to the specified positions in the corresponding template window, generate texture restoration information based on the specified positions of each texture image in the template window, and bind it to the texture coordinates of the slice network intermediate node model; merge the various template windows to generate new texture images, and save the mapping relationship between the new texture image and the original texture image; replace the texture images in the slice network intermediate node model according to the mapping relationship to obtain the merged slice network intermediate node model texture.
[0118] A method for generating a spatial model slice data organization structure, wherein the specific steps of the adaptive geometric structure simplification are as follows:
[0119] Calculate the triangulation threshold: Calculate the bounding box radius of the slice based on the maximum and minimum values of the model coordinates in the slice, and then calculate the slice aggregation threshold based on the obtained bounding box radius.
[0120] Calculate the bounding box radius of the model: Calculate the bounding box radius of the slice based on the maximum and minimum values of the model coordinates within the slice; the calculation formula is as follows:
[0121]
[0122] In the formula:
[0123] R represents the radius of the bounding box obtained from the calculation;
[0124] x min y min z min This represents the minimum value among the vertex coordinates of the model in the slice;
[0125] x max y max z max This represents the maximum value among the vertex coordinates of the model in the slice;
[0126] The aggregation threshold is calculated based on the radius: the slice aggregation threshold is obtained by calculating the radius of the obtained slice bounding box; wherein the calculation formula is:
[0127]
[0128] In the formula:
[0129] T represents the slice aggregation threshold obtained from the operation;
[0130] R represents the bounding box radius;
[0131] n represents the degree of simplification;
[0132] Aggregate model triangles: Divide the space where the slice is located into cubes of equal volume with the slice aggregation threshold as the side length, aggregate the model vertices in each cube, and remove redundant textures;
[0133] A method for generating a spatial model slice data organization structure, wherein the specific steps of the aggregation and growth of intermediate nodes in the slice network are as follows:
[0134] Slice aggregation: Aggregate all intermediate nodes of the slice network in the data block into a whole, generate the root node of the slice network and save the parent-child relationship between the intermediate nodes of the slice network and the aggregate;
[0135] Parent-child node binding: Based on the correspondence between the intermediate nodes of the slice network and the root nodes of the slice network obtained by aggregation, the intermediate nodes of the slice network are bound to their parent root nodes of the slice network, so that each root node of the slice network has a logical relationship with its child nodes.
[0136] Therefore, it can be seen that:
[0137] The method in this embodiment of the invention can effectively generate a multi-level detailed slice organization structure for model data in a given data block. The slice data at each level has a reasonable level of detail and efficient data organization. The data storage scale of a single slice is low and stable, which greatly saves network bandwidth and improves file transfer efficiency. The level of detail of the multi-level slice data decreases step by step from the leaf node to the root node of the slice network, which can meet various use cases while using the lowest resource consumption and improving data scheduling performance. The parent and child nodes of the slice network correspond one-to-one, and the child nodes corresponding to each parent node are reasonably distributed in space and allocated in terms of data volume, making the scheduling and switching between slice data levels compact, improving the visual effect during browsing, and enhancing the user experience. Attached Figure Description
[0138] Figure 1 This is a flowchart illustrating the method for generating spatial model slice data organization structure provided in an embodiment of the present invention;
[0139] Figure 2 This is a schematic diagram of the steps for generating sliced vein leaf nodes in an embodiment of the present invention;
[0140] Figure 3 This is a schematic diagram of the model splitting steps in an embodiment of the present invention;
[0141] Figure 4This is a schematic diagram of the model aggregation and growth steps in an embodiment of the present invention;
[0142] Figure 5 This is a schematic diagram of the process of generating intermediate nodes of the slice network in an embodiment of the present invention;
[0143] Figure 6 This is a simplified flowchart illustrating the internal model of a slice in an embodiment of the present invention.
[0144] Figure 7 This is a simplified flowchart of the adaptive geometry structure in an embodiment of the present invention;
[0145] Figure 8 This is a schematic diagram of the simplified multi-scale texture steps in an embodiment of the present invention;
[0146] Figure 9 This is a schematic diagram of the process of piecing together and growing leaf nodes in the slice veins of this invention.
[0147] Figure 10 This is a schematic diagram of the process for generating the root node of the slice network in an embodiment of the present invention;
[0148] Figure 11 This is a simplified flowchart of the slice data depth steps in an embodiment of the present invention;
[0149] Figure 12 This is a simplified flowchart of the adaptive geometry structure in an embodiment of the present invention;
[0150] Figure 13 This is a schematic diagram of the process of aggregation and growth of intermediate nodes in the sliced veins in an embodiment of the present invention. Detailed Implementation
[0151] To enable those skilled in the art to better understand the present invention, the present invention will be described in detail below with reference to the accompanying drawings and specific embodiments. The illustrative embodiments and descriptions of the present invention are used to explain the present invention, but are not intended to limit the present invention.
[0152] Example 1:
[0153] Figure 1 This is a flowchart illustrating the method for generating the spatial model slice data organization structure provided in this embodiment, as shown below. Figure 1As shown, a method for generating a spatial model slice data organization structure includes the following steps: Generating slice vein leaf nodes: Extracting model information from each data block, obtaining the comparison result between the model data volume and the slice threshold through a calculation formula, cyclically decomposing the model until the model data volume meets the slice threshold, performing multiple aggregation operations on the decomposed model blocks until all model blocks have aggregated and grown to obtain multiple model aggregates, and saving each model aggregate as a slice vein leaf node; Generating slice vein intermediate nodes: Calculating adaptive simplification parameters based on quantitative visible distance and model characteristics, performing multi-level simplification on the slice vein leaf node model, and redistributing texture coordinates; performing multi-scale simplification on each texture image, merging the model texture images inside the slice vein leaf nodes, and processing the texture information of the models inside the slice. The process involves updating information; selecting the initial point for aggregation of leaf nodes in the slice network and performing multiple aggregation operations on each leaf-level slice until all leaf-level slices are aggregated to obtain multiple slice aggregates; based on the correspondence between the leaf nodes of the slice network and the intermediate nodes of the aggregated slice network, binding the leaf nodes of the slice network to their parent intermediate nodes of the slice network, ensuring that each intermediate node of the slice network has a logical relationship with its child nodes; generating the root node of the slice network: calculating the slice depth simplification coefficient based on the specified simplification level and aggregating and simplifying the model triangular points; aggregating all intermediate nodes of the slice network in the data block into a whole to generate the root node of the slice network, and binding the intermediate nodes of the slice network to their parent root nodes of the slice network based on the relevant correspondence, ensuring that each root node of the slice network has a logical relationship with its child nodes.
[0154] like Figure 2 The method for generating a spatial model slice data organization structure is shown, wherein the step of generating slice vein leaf nodes is as follows:
[0155] Model splitting: Extract the model information from each data block, obtain the model data volume through calculation formula and compare it with the slicing threshold. Based on the comparison result, the model is cyclically split until the model data meets the slicing threshold.
[0156] Model aggregation growth: Based on the geometric information of the statistically decomposed model blocks, a model block at a specified location is obtained, and this model block is selected as the initial point for model aggregation. Starting from the initial point for model aggregation, multiple aggregation operations are performed with each model block until all model blocks are aggregated to obtain multiple model aggregates. Each model aggregate is saved as a slice vein leaf node.
[0157] like Figure 3 The present invention discloses a method for generating a spatial model slice data organization structure, wherein the model splitting step is as follows:
[0158] Calculate the model data volume: Extract the geometric and texture information of each model in the data block, and obtain the total data volume of geometric and texture information through the model data volume calculation formula;
[0159] The calculation formula is as follows:
[0160]
[0161] In the formula:
[0162] Size model This represents the amount of model data in the data block;
[0163] length verCoord Represents the length of the model vertex coordinates in the data block;
[0164] length norCoord Represents the length of the model normal coordinates in the data block;
[0165] Size float This represents the unit of storage space occupied by float type data in the target storage computer system of the slice;
[0166] length texCoord Represents the length of the model texture coordinates in the data block;
[0167] n texture This represents the number of textures in the model within the data block;
[0168] width i Represents the width of the i-th texture image;
[0169] height i Represents the height of the i-th texture image;
[0170] Size pixel The storage space occupied by a unit pixel in the computer system storing the sliced target;
[0171] Model iterative decomposition: The model data volume is compared with the slicing threshold. If the model data volume meets the slicing threshold condition, the next process is initiated. If the model data volume is greater than the slicing threshold, the model is decomposed and compared with the slicing threshold again in a loop until the number of models meets the slicing threshold. Then the loop stops and the next process is initiated.
[0172] like Figure 4 The method for generating a spatial model slice data organization structure is shown, wherein the model aggregation and growth step is as follows:
[0173] Select the initial point for model aggregation: Calculate the bounding box of each model block based on the geometric information of the disassembled model blocks, obtain the model block at the specified position based on the bounding box coordinate range, and use this model block as the initial point for model aggregation; the geometric information includes: vertex coordinates, normal coordinates, and texture coordinates;
[0174] Perform model aggregation operation: Starting from the initial point of model aggregation, perform Euclidean distance analysis and comparison with each model block to determine one or more model blocks that meet the Euclidean distance rules. Merge multiple model blocks with the best Euclidean distance and then compare them with the slice threshold. When it is determined that the threshold condition is met, the aggregation is completed. If the threshold condition is not met, merge more model blocks until the threshold condition is met and the aggregation is determined to be completed, forming a model aggregate. Repeat the aggregation operation multiple times until all model blocks are aggregated to obtain multiple model aggregates. Save each model aggregate as a slice vein leaf node.
[0175] like Figure 5 The method for generating a spatial model slice data organization structure is shown, wherein the steps for generating intermediate nodes of the slice network are as follows:
[0176] Slice Internal Model Simplification: The number of triangular faces in the internal models of the leaf nodes of the slice vein is counted. The termination condition for geometric simplification is calculated. Adaptive simplification parameters are calculated based on the quantitative visible distance and model characteristics. Multi-level simplification of the slice vein leaf node models is performed until the number of triangular faces in the slice vein leaf node models in the data block meets the termination condition for geometric simplification. Texture coordinates are then redistributed. A texture simplification information dictionary is generated, and each texture image is simplified at multiple scales using this dictionary. The texture images of the internal models of the slice vein leaf nodes are grouped, and corresponding rule templates are generated for each group. New texture images are generated using these rule templates to obtain the merged model textures. The texture information of the internal models of the slice is then updated.
[0177] Slice vein leaf node aggregation growth: Based on the geometric information of the leaf nodes after statistical decomposition, the leaf node at a specified position of the slice vein is obtained, and this leaf node is selected as the initial point for aggregation of the leaf node of the slice vein. Starting from the initial point of the leaf-level slice aggregation, multiple aggregation operations are performed with each leaf-level slice until all leaf-level slices are aggregated to obtain multiple slice aggregates. According to the correspondence between the leaf nodes of the slice vein and the intermediate nodes of the aggregated slice vein, the leaf nodes of the slice vein are bound to their parent intermediate nodes of the slice vein, so that each intermediate node of the slice vein has a logical relationship with its child nodes.
[0178] like Figure 6The method for generating a spatial model slice data organization structure is shown, wherein the steps for simplifying the internal model of the slice are as follows:
[0179] Calculate the simplification termination condition: Count the number of triangles in the internal model of the leaf nodes of the slice vein, and calculate the final number of remaining triangles based on the given simplification level as the termination condition for geometric simplification.
[0180] The formula is:
[0181] N end = (1-Sim)×N △
[0182] In the formula:
[0183] N end This represents the number of triangles in the simplified termination slice leaf node model.
[0184] Sim represents the given level of simplification;
[0185] N Δ This represents the number of triangles in the internal model of the leaf node of the unsimplified slice network.
[0186] Adaptive geometric simplification: Read the geometric information of the slice vein leaf node model, calculate the adaptive simplification parameters based on the quantitative visual distance and model characteristics, perform multi-level simplification on the slice vein leaf node model, perform edge folding simplification on the triangular face based on the calculated adaptive edge folding parameters and redistribute the texture coordinates, and perform face deletion simplification based on the calculated adaptive face deletion parameters on the result of edge folding simplification.
[0187] Multi-scale texture simplification: Extract texture images from the leaf node model of the sliced vein after adaptive geometric simplification, calculate the texture simplification coefficients corresponding to each texture image in the leaf node of the sliced vein, generate a texture simplification information dictionary, and perform multi-scale simplification on each texture image through the texture simplification information dictionary.
[0188] Merging based on rule templates: The texture layer number information of the slice vein leaf node model is read, and a corresponding number of texture merging templates are generated based on this information. Texture images contained in the slice vein leaf node model are grouped according to their texture layer number to obtain multiple texture groups at different levels. Each level of texture group is traversed, and the texture images in each group are assigned to specified positions in the corresponding template window. Texture restoration information is generated based on the specified positions of each texture image in the template window and bound to the texture coordinates of the slice vein leaf node model. The template windows are merged to generate new texture images, and the mapping relationship between the new texture image and the original texture image is saved. The texture images in the slice vein leaf node model are replaced according to the mapping relationship to obtain the merged slice vein leaf node model texture.
[0189] like Figure 7 The present invention provides a method for generating a spatial model slice data organization structure, wherein the specific steps for simplifying the adaptive geometric structure are as follows:
[0190] Read geometric information of leaf node models in slice veins: Batch read vertex coordinates of leaf node models in slice veins;
[0191] Filtering and folding triangular faces: Calculate the area of each triangular face using a formula based on the coordinates of its vertices.
[0192] The calculation formula is as follows:
[0193]
[0194] In the formula:
[0195] S △ Represents the area of the triangular face;
[0196] x1, y1, and z1 represent the coordinates of the first vertex of the triangle face;
[0197] x2, y2, z2 represent the coordinates of the second vertex of the triangle face;
[0198] x3, y3, z3 represent the coordinates of the second vertex of the triangle face;
[0199] Further, the projected pixel value of each triangular facet at a fixed visible distance is calculated based on the area value of the triangular facets, where the calculation formula is:
[0200]
[0201] In the formula:
[0202] P △ Represents the pixel value of the triangular projection;
[0203] S △ Represents the area of the triangular face;
[0204] d represents the visible distance within the specified range;
[0205] h sc Represents the screen height of the scene;
[0206] fovy represents the longitudinal angle of the view frustum in the scene;
[0207] Based on the calculated projected pixel values, each triangular facet in the sliced vein leaf node model is filtered. Triangular faces with a projected pixel value < 1 are marked and awaited processing, while triangular faces with a projected pixel value ≥ 1 are retained.
[0208] Simplifying the edges of the triangle by folding: The quadratic error value of the edge folding is obtained by calculating the coordinates of the marked vertex of the triangle and the plane in which they lie. The calculation formula is as follows:
[0209]
[0210] In the formula:
[0211] x, y, z are the coordinates of the midpoints of the sides of the triangle;
[0212] a, b, c, and d represent the coefficients of the equation of the plane to which the edge belongs, ax + by + cz + d = 0;
[0213] E represents the second-order error value of the edge folding;
[0214] The edge folding weight value is calculated based on the quadratic error value of the edge folding obtained from the calculation; wherein the calculation formula is:
[0215]
[0216] In the formula:
[0217] E represents the second-order error value of the edge folding;
[0218] P represents the edge collapse weight value;
[0219] The edges of each triangle are reordered and folded according to the edge folding weight value to generate a recombined triangle, and the texture coordinates of the recombined triangle are updated.
[0220] The process involves filtering and deleting triangular faces: Calculating the interior angles using the cosine formula and the coordinates of the reconstructed triangle vertices, and filtering out faces with interior angles smaller than extreme values; calculating the shortest side length of the filtered faces with interior angles smaller than extreme values using the cosine formula, and then calculating the triangles whose pixel value projected onto the scene plane is less than 1; the calculation formula is as follows:
[0221]
[0222] In the formula:
[0223] e represents the length of the shortest side;
[0224] P edge Represents the pixel value of the shortest side projected onto the scene plane;
[0225] h sc Represents the screen height of the scene;
[0226] fovy represents the longitudinal angle of the view frustum in the scene;
[0227] The selected triangles are deleted until the number of triangles in the leaf node model of the slice vein in the data block meets the termination condition for geometric simplification.
[0228] like Figure 8 The method for generating a spatial model slice data organization structure is shown, wherein the specific steps of multi-scale texture simplification are as follows:
[0229] Calculate the texture simplification scale coefficient of slice vein leaf node: extract the set of triangular faces corresponding to the texture image of each slice vein leaf node model, calculate the sum of the area values of the triangular faces corresponding to the texture image of each slice vein leaf node, perform segmented statistical calculation on the obtained sum of area values, further calculate the corresponding texture simplification coefficient based on the segmented statistical results, and generate a slice vein leaf node texture simplification information dictionary at the same time.
[0230] The summation formula is as follows:
[0231]
[0232] In the formula:
[0233] S p This represents the sum of the area values of the set of triangles corresponding to each texture image;
[0234] S i This represents the area value of each set of triangles corresponding to each texture image;
[0235] The segmented statistical calculation formula is as follows:
[0236]
[0237] In the formula:
[0238] Pro j The result of piecewise statistical calculation of the total area of the triangular facets corresponding to the j-th texture image;
[0239] S j and These represent the sum of the triangular facets corresponding to the texture images of the j-th and all slice vein leaf node models, respectively;
[0240] The formula for calculating the texture simplification factor is as follows:
[0241]
[0242] In the formula:
[0243] r j This represents the texture simplification factor corresponding to the j-th texture image;
[0244] Pro j The result of piecewise statistical calculation of the total area of the triangular facets corresponding to the j-th texture image;
[0245] Simplify the texture images of each slice leaf node: Traverse the texture images of the slice vein leaf node model, and simplify each texture image at multiple scales using the corresponding texture simplification coefficients in the texture simplification information dictionary.
[0246] like Figure 9 The method for generating a spatial model slice data organization structure is shown, wherein the specific steps for the aggregation and growth of leaf nodes in the slice vein are as follows:
[0247] Select the initial point for slice aggregation: Calculate the bounding box of each slice vein leaf node based on the geometric information of the leaf nodes of the slice vein after statistical analysis. Obtain the slice vein leaf node at the specified position based on the bounding box coordinate range, and use this slice vein leaf node as the initial point for leaf-level slice aggregation.
[0248] Perform slice aggregation operation: Starting from the initial point of the leaf-level slice aggregation, perform Euclidean distance analysis and comparison with the leaf nodes of each slice vein to determine one or more slice vein leaf nodes that meet the Euclidean distance rules. Merge multiple slice vein leaf nodes with the best Euclidean distance and then compare them with the slice threshold. When the threshold condition is met, the aggregation is complete. If the threshold condition is not met, merge more slice vein leaf nodes until the threshold condition is met and the aggregation is completed to form a slice aggregate. Repeat the aggregation operation multiple times until all slice vein leaf nodes are aggregated to obtain multiple slice aggregates. Save each slice aggregate as a slice vein intermediate node and save the correspondence between slice vein leaf nodes and slice vein intermediate nodes.
[0249] Parent-child node binding: Based on the correspondence between the leaf nodes of the slice network and the intermediate nodes of the slice network obtained by aggregation, the leaf nodes of the slice network are bound to their parent nodes, so that each intermediate node of the slice network has a logical relationship with its child nodes.
[0250] like Figure 10 The method for generating a spatial model slice data organization structure is shown, wherein the specific steps for generating the root node of the slice network are as follows:
[0251] Slice data depth simplification: The slice depth simplification coefficient is calculated according to the specified simplification level. Based on the face deletion simplification result, the model triangle points are aggregated and simplified according to the calculated adaptive point aggregation parameters.
[0252] Slice network intermediate node aggregation growth: Aggregate all slice network intermediate nodes in the data block into a whole, generate slice network root nodes and save the parent-child relationship between slice network intermediate nodes and aggregates; and bind slice network intermediate nodes to their parent slice network root nodes according to the relevant correspondence, so that each slice network root node has a logical relationship with its child nodes.
[0253] like Figure 11 The method for generating a spatial model slice data organization structure is shown, wherein the specific steps for simplifying the slice data depth are as follows:
[0254] Calculate the deep simplification factor: Calculate the deep simplification factor of the slice based on the specified simplification level; the formula for calculating the deep simplification factor is as follows:
[0255]
[0256] In the formula:
[0257] n represents the simplification factor for slice depth;
[0258] Size model Represents the amount of data in the model;
[0259] Size thres This represents the upper limit of the threshold for the root node of the slice network;
[0260] Adaptive geometric simplification: Based on the face deletion simplification results, the model triangle points are aggregated and simplified according to the calculated adaptive point aggregation parameters.
[0261] Multi-scale texture simplification and merging: Extract texture images from the adaptively geometrically simplified slice network intermediate node model to obtain texture simplification coefficients, and perform multi-scale simplification on each texture image; read the texture layer information of the slice network intermediate node model to generate a texture merging template; group the texture images contained in the slice network intermediate node model according to the texture layer number to obtain multiple texture groups of different levels; traverse each level of texture group, assign the texture images in each texture group to the specified positions in the corresponding template window, generate texture restoration information based on the specified positions of each texture image in the template window, and bind it to the texture coordinates of the slice network intermediate node model; merge the various template windows to generate new texture images, and save the mapping relationship between the new texture image and the original texture image; replace the texture images in the slice network intermediate node model according to the mapping relationship to obtain the merged slice network intermediate node model texture.
[0262] like Figure 12 The method for generating a spatial model slice data organization structure is shown, wherein the specific steps for simplifying the adaptive geometry structure are as follows:
[0263] Calculate the triangulation threshold: Calculate the bounding box radius of the slice based on the maximum and minimum values of the model coordinates in the slice, and then calculate the slice aggregation threshold based on the obtained bounding box radius.
[0264] Calculate the bounding box radius of the model: Calculate the bounding box radius of the slice based on the maximum and minimum values of the model coordinates within the slice; the calculation formula is as follows:
[0265]
[0266] In the formula:
[0267] R represents the radius of the bounding box obtained from the calculation;
[0268] x min y min z min This represents the minimum value among the vertex coordinates of the model in the slice;
[0269] x max y min z maxThis represents the maximum value among the vertex coordinates of the model in the slice;
[0270] Calculate the aggregation threshold based on the radius: Obtain the slice aggregation threshold by calculating the obtained slice bounding box radius;
[0271] The calculation formula is as follows:
[0272]
[0273] In the formula:
[0274] T represents the slice aggregation threshold obtained from the operation;
[0275] R represents the bounding box radius;
[0276] n represents the degree of simplification;
[0277] Aggregate model triangles: Divide the space where the slice is located into cubes of equal volume with the slice aggregation threshold as the side length, aggregate the model vertices in each cube, and remove redundant textures;
[0278] like Figure 13 The method for generating a spatial model slice data organization structure is shown, wherein the specific steps for the aggregation and growth of intermediate nodes in the slice network are as follows:
[0279] Slice aggregation: Aggregate all intermediate nodes of the slice network in the data block into a whole, generate the root node of the slice network and save the parent-child relationship between the intermediate nodes of the slice network and the aggregate;
[0280] Parent-child node binding: Based on the correspondence between the intermediate nodes of the slice network and the root nodes of the slice network obtained by aggregation, the intermediate nodes of the slice network are bound to their parent root nodes of the slice network, so that each root node of the slice network has a logical relationship with its child nodes.
[0281] The following is a detailed explanation using a specific implementation case.
[0282] This method processes spatial model data. Using this method, a multi-level, progressively more complex architectural model slice data organization structure can be generated from architectural model data within a given data block.
[0283] First, generate slice network leaf nodes. Extract building model data information from a data block, and use a calculation formula to compare the building model data volume with the 2M slice threshold. Iteratively decompose the building model until the data volume meets the 2M slice threshold. Perform multiple aggregation operations on the decomposed building model blocks until all building model blocks have aggregated and grown to obtain multiple building model aggregates. Save each building model aggregate as a slice network leaf node.
[0284] Secondly, intermediate nodes of the slice network are generated. Adaptive simplification parameters are calculated based on a 500m visibility distance and the characteristics of the building model. Multi-level simplification is performed on the building model of the leaf nodes in the slice network, and texture coordinates are redistributed. Multi-scale simplification is performed on each texture image. Texture images of the building models within the leaf nodes of the slice network are merged, and the texture information of the building models within the slices is updated. The initial aggregation point of the leaf nodes in the slice network is selected, and multiple aggregation operations are performed with each leaf-level slice until all leaf-level slices are aggregated to obtain multiple slice aggregates. Based on the correspondence between the leaf nodes of the slice network and the intermediate nodes of the aggregated slice network, the leaf nodes of the slice network are bound to their parent intermediate nodes, ensuring that each intermediate node of the slice network has a logical relationship with its child nodes.
[0285] Finally, the root node of the slice network is generated. The slice depth simplification coefficient is calculated based on a 30% simplification level to aggregate and simplify the triangulation points of the building model; all intermediate nodes of the slice network in the data block are aggregated into a whole to generate the root node of the slice network, and according to the relevant correspondence, the intermediate nodes of the slice network are bound to their parent root node of the slice network, so that each root node of the slice network has a logical relationship with its child nodes.
[0286] In a specific implementation example, the steps for generating sliced vein leaf nodes can be as follows:
[0287] 1. Model splitting: Extract vertex coordinates, normal coordinates, texture coordinates, and texture image information of each building model in the data block. Obtain the building model data volume through calculation formula and compare it with the 2M slice threshold. Based on the comparison result, the building model is cyclically split until the building model data meets the 2M slice threshold.
[0288] 2. Model Aggregation and Growth: Based on the vertex coordinates of the disassembled building model blocks, the building model block closest to the northwest corner of the data block is obtained, and this building model block is selected as the initial point for building model aggregation. Starting from the initial point for building model aggregation, multiple aggregation operations are performed with each building model block until all building model blocks are aggregated to obtain multiple building model aggregates. Each building model aggregate is saved as a slice vein leaf node.
[0289] In a specific implementation case, the steps for model decomposition can be as follows:
[0290] (1) Calculate the model data volume: Extract the vertex coordinate information, normal coordinate information, texture coordinate information and texture image information of each building model in the data block, and obtain the total data volume of vertex coordinate information, normal coordinate information, texture coordinate information and texture image information through the building model data volume calculation formula;
[0291] The calculation formula is as follows:
[0292]
[0293] In the formula:
[0294] Size model This represents the amount of building model data in the data block;
[0295] length verCoord Represents the length of the vertex coordinates of the building model in the data block;
[0296] length norCoord Represents the length of the building model normal coordinates in the data block;
[0297] Size float This represents the unit storage space occupied by float type data in a Windows 64-bit computer system.
[0298] length texCoord Represents the length of the texture coordinates of the building model within the data block;
[0299] n texture The number of textures in the building model within the data block;
[0300] width i Represents the width of the i-th texture image;
[0301] height i Represents the height of the i-th texture image;
[0302] Size pixel This represents the storage space occupied by a unit pixel in a Windows 64-bit computer system.
[0303] (2) Model cyclic decomposition: The amount of building model data is compared with the 2M slice threshold. If the amount of building model data meets the 2M slice threshold condition, the next step is carried out. If the amount of building model data is greater than the 2M slice threshold, the building model is decomposed and compared with the 2M slice threshold again in a loop until the number of building models meets the 2M slice threshold. Then the loop stops and the next step is carried out.
[0304] In a specific implementation case, the steps for model aggregation and growth can be as follows:
[0305] (1) Select the initial point for model aggregation: Calculate the AABB bounding box of each building model block by statistically analyzing the vertex coordinate information of the disassembled building model blocks, obtain the building model block at the specified position according to the coordinate range of the AABB bounding box, and take this building model block as the initial point for building model aggregation.
[0306] (2) Perform model aggregation operation: Starting from the initial point of model aggregation, perform Euclidean distance analysis and comparison with each building model block to determine one or more building model blocks that meet the Euclidean distance rules. Merge multiple building model blocks with the best Euclidean distance and then compare and analyze them with the 2M slice threshold. When it is determined that the 2M threshold condition is met, the aggregation is completed. When it is determined that the 2M threshold condition is not met, more building model blocks are merged until the 2M threshold condition is met and the aggregation is determined to be completed, forming a building model aggregate. Repeat the aggregation operation multiple times until all building model blocks are aggregated to obtain multiple building model aggregates. Save each building model aggregate as a slice vein leaf node.
[0307] In a specific implementation example, the steps involved in generating intermediate nodes of the slice network can be as follows:
[0308] 1. Slice Internal Model Simplification: The number of triangular faces in the building models within the leaf nodes of the slice network is counted. The termination condition for geometric simplification is calculated. Adaptive simplification parameters are calculated based on a 500m visibility distance and the characteristics of the building models. Multi-level simplification is performed on the building models of the leaf nodes of the slice network until the number of triangular faces in the building models of the leaf nodes of the slice network in the data block meets the termination condition for geometric simplification. Texture coordinates are then redistributed. A texture simplification information dictionary is generated, and each texture image is simplified at multiple scales using this dictionary. The texture images of the building models within the leaf nodes of the slice network are grouped, and corresponding rule templates are generated for each group. New texture images are generated using these rule templates to obtain the merged building model textures. The texture information of the building models within the slice network is then updated.
[0309] 2. Slice Vein Leaf Node Aggregation and Growth: Based on the vertex coordinates of the leaf nodes in the statistically decomposed slice vein, the slice vein leaf node closest to the northwest corner of the data block is obtained. This slice vein leaf node is selected as the initial point for slice vein leaf node aggregation. Starting from the initial point for leaf-level slice aggregation, multiple aggregation operations are performed with each leaf-level slice until all leaf-level slices are aggregated to obtain multiple slice aggregates. Based on the correspondence between the slice vein leaf nodes and the intermediate nodes of the aggregated slice vein, the slice vein leaf nodes are bound to their parent slice vein intermediate nodes, so that each slice vein intermediate node has a logical relationship with its child nodes.
[0310] In a specific implementation case, the steps involved in simplifying the internal model of the slice can be as follows:
[0311] (1) Calculate the simplification termination condition: count the number of triangular faces in the internal model of the leaf node of the slice vein, and calculate the final number of remaining triangular faces based on the 70% simplification degree as the termination condition for geometric simplification.
[0312] The formula is:
[0313] N end = (1-Sim)×N △
[0314] In the formula:
[0315] N end This represents the number of triangles in the simplified termination slice leaf node model.
[0316] Sim represents a 70% simplification level;
[0317] N Δ This represents the number of triangles in the internal model of the leaf node of the unsimplified slice network.
[0318] (2) Adaptive geometric simplification: Read the vertex coordinate information of the building model of the slice vein leaf node, calculate the adaptive simplification parameters according to the 500m visibility distance and the characteristics of the building model, perform multi-level simplification on the building model of the slice vein leaf node, perform edge folding simplification on the triangular face according to the calculated adaptive edge folding parameters and redistribute the texture coordinates, and perform face deletion simplification on the result of edge folding simplification according to the calculated adaptive face deletion parameters.
[0319] (3) Multi-scale texture simplification: Extract texture images from the sliced vein leaf node building model after adaptive geometric simplification, calculate the texture simplification coefficients corresponding to each texture image in the sliced vein leaf node, generate a texture simplification information dictionary, and perform multi-scale simplification on each texture image through the texture simplification information dictionary.
[0320] (4) Merging based on rule templates: Read the texture layer information of the slice vein leaf node building model, and generate a corresponding number of texture merging templates based on the texture layer information; group the texture images contained in the slice vein leaf node building model according to the texture layer to obtain multiple texture groups of different levels; traverse each level of texture group, assign the texture images in each texture group to the specified positions in the corresponding template window, generate texture restoration information based on the specified positions of each texture image in the template window, and bind it to the texture coordinates of the slice vein leaf node building model; merge the template windows to generate new texture images, and save the mapping relationship between the new texture images and the original texture images; replace the texture images in the slice vein leaf node building model according to the mapping relationship to obtain the merged texture of the slice vein leaf node building model.
[0321] In a specific implementation example, the steps for simplifying the adaptive geometry can be as follows:
[0322] ① Read the geometric information of the leaf node model of the slice vein: Batch read the vertex coordinates of the building model of the leaf node of the slice vein;
[0323] ② Filtering and folding triangular faces: Calculate the area of each triangular face using a formula based on the coordinates of the vertices.
[0324] The calculation formula is as follows:
[0325]
[0326] In the formula:
[0327] S △ Represents the area of the triangular face;
[0328] x1, y1, and z1 represent the coordinates of the first vertex of the triangle face;
[0329] x2, y2, z2 represent the coordinates of the second vertex of the triangle face;
[0330] x3, y3, z3 represent the coordinates of the second vertex of the triangle face;
[0331] Further, based on the area values of the triangular faces, the projected pixel value of each triangular face at a visible distance of 500m is calculated, where the calculation formula is:
[0332]
[0333] In the formula:
[0334] P △ Represents the pixel value of the triangular projection;
[0335] S △ Represents the area of the triangular face;
[0336] d represents a visibility distance of 500m;
[0337] h sc Represents the screen height of the scene;
[0338] fovy represents the longitudinal angle of the view frustum in the scene;
[0339] Based on the calculated projection pixel values, each triangular face in the sliced vein leaf node building model is filtered. Triangular faces with a projection pixel value < 1 are marked and awaited processing, while triangular faces with a projection pixel value ≥ 1 are retained.
[0340] ③ Simplify the edges of the triangle by folding: Calculate the quadratic error value of the edge folding by using the coordinates of the marked vertex of the triangle and the plane it lies in. The calculation formula is as follows:
[0341]
[0342] In the formula:
[0343] x, y, z are the coordinates of the midpoints of the sides of the triangle;
[0344] a, b, c, and d represent the coefficients of the equation of the plane to which the edge belongs, ax + by + cz + d = 0;
[0345] E represents the second-order error value of the edge folding;
[0346] The edge folding weight value is calculated based on the quadratic error value of the edge folding obtained from the calculation; wherein the calculation formula is:
[0347]
[0348] In the formula:
[0349] E represents the second-order error value of the edge folding;
[0350] P represents the edge collapse weight value;
[0351] The edges of each triangle are reordered and folded according to the edge folding weight value to generate a recombined triangle, and the texture coordinates of the recombined triangle are updated.
[0352] ④ Filter and delete triangular faces: Calculate the interior angles using the cosine formula of trigonometric functions and the coordinates of the reconstructed triangular face vertices, and filter out triangular faces with interior angles smaller than extreme values; calculate the length of the shortest side of the filtered triangular faces with interior angles smaller than extreme values using the cosine formula of trigonometric functions, and calculate the triangular faces whose pixel value projected onto the scene plane is less than 1; the calculation formula is as follows:
[0353]
[0354] In the formula:
[0355] e represents the length of the shortest side;
[0356] P edge Represents the pixel value of the shortest side projected onto the scene plane;
[0357] h sc Represents the screen height of the scene;
[0358] fovy represents the longitudinal angle of the view frustum in the scene;
[0359] The selected triangles are deleted until the number of triangles in the building model of the leaf node slice in the data block meets the termination condition for geometric simplification.
[0360] In a specific implementation example, the steps for multi-scale texture simplification can be as follows:
[0361] ① Calculate the texture simplification scale coefficient of slice vein leaf node: Extract the set of triangular faces corresponding to the texture image of each slice vein leaf node building model, calculate the sum of the area values of the triangular faces corresponding to the texture image of each slice vein leaf node, perform segmented statistical calculation on the sum of the calculated area values, further calculate the corresponding texture simplification coefficient based on the segmented statistical results, and generate a slice vein leaf node texture simplification information dictionary at the same time.
[0362] The summation formula is as follows:
[0363]
[0364] In the formula:
[0365] S p This represents the sum of the area values of the set of triangles corresponding to each texture image;
[0366] S i This represents the area value of each set of triangles corresponding to each texture image;
[0367] The segmented statistical calculation formula is as follows:
[0368]
[0369] In the formula:
[0370] Pro j The result of piecewise statistical calculation of the total area of the triangular facets corresponding to the j-th texture image;
[0371] S j and These represent the sum of the triangular facets corresponding to the texture images of the j-th and all slice vein leaf node models, respectively;
[0372] The formula for calculating the texture simplification factor is as follows:
[0373]
[0374] In the formula:
[0375] r j This represents the texture simplification factor corresponding to the j-th texture image;
[0376] Pro jThe result of piecewise statistical calculation of the total area of the triangular facets corresponding to the j-th texture image;
[0377] ②Simplify the texture images of each slice leaf node: Traverse the texture images of the slice vein leaf node building model, and simplify each texture image at multiple scales using the corresponding texture simplification coefficients in the texture simplification information dictionary.
[0378] In a specific implementation example, the steps for the aggregation and growth of sliced vein leaf nodes can be as follows:
[0379] (1) Select the initial point for slice aggregation: Calculate the AABB bounding box of each slice leaf node by statistically analyzing the vertex coordinate information of the leaf nodes of the slice vein after disassembly. Obtain the slice leaf node at the specified position based on the coordinate range of the AABB bounding box, and use this slice leaf node as the initial point for leaf-level slice aggregation.
[0380] (2) Perform slice aggregation operation: Starting from the initial point of leaf-level slice aggregation, perform Euclidean distance analysis and comparison with each slice vein leaf node to determine one or more slice vein leaf nodes that meet the Euclidean distance rule. Merge multiple slice vein leaf nodes with the best Euclidean distance and then compare and analyze them with the 2M slice threshold. When it is determined that the 2M threshold condition is met, the aggregation is completed. When it is determined that the 2M threshold condition is not met, more slice vein leaf nodes are merged until the 2M threshold condition is met and the aggregation is determined to be completed to form a slice aggregate. Repeat the aggregation operation multiple times until all slice vein leaf nodes are aggregated to obtain multiple slice aggregates. Save each slice aggregate as a slice vein intermediate node and save the correspondence between slice vein leaf nodes and slice vein intermediate nodes.
[0381] (3) Parent-child node binding: Based on the correspondence between the leaf nodes of the slice network and the intermediate nodes of the slice network obtained by aggregation, the leaf nodes of the slice network are bound to their parent nodes, so that each intermediate node of the slice network has a logical relationship with its child nodes.
[0382] In a specific implementation example, the steps for generating the root node of the slice network can be as follows:
[0383] 1. Slice data depth simplification: The slice depth simplification coefficient is calculated based on the upper limit of 0.8M threshold. Based on the face deletion simplification result, the triangular points of the building model are aggregated and simplified according to the calculated adaptive point aggregation parameters.
[0384] 2. Slice Context Intermediate Node Aggregation and Growth: Aggregate all slice context intermediate nodes in the data block into a whole, generate a slice context root node and save the parent-child relationship between the slice context intermediate nodes and the aggregate; and bind the slice context intermediate nodes to their parent slice context root nodes according to the relevant correspondence, so that each slice context root node has a logical relationship with its child nodes.
[0385] In a specific implementation case, the steps for simplifying the slice data depth can be as follows:
[0386] (1) Calculate the deep simplification coefficient: Calculate the deep simplification coefficient of the slice based on the upper limit of the 0.8M threshold; the formula for calculating the deep simplification coefficient is as follows:
[0387]
[0388] In the formula:
[0389] n represents the simplification factor for slice depth;
[0390] Size model Represents the amount of data in the model;
[0391] Size thres This represents the upper limit of the threshold for the root node of the slice network;
[0392] (2) Adaptive geometric simplification: Based on the face deletion simplification results, the triangular points of the building model are aggregated and simplified according to the calculated adaptive point aggregation parameters.
[0393] (3) Multi-scale texture simplification and merging: Extract texture images from the sliced network intermediate node building model after adaptive geometric simplification to obtain texture simplification coefficients, and simplify each texture image at multiple scales; read the texture layer information of the sliced network intermediate node building model and generate a texture merging template; group the texture images contained in the sliced network intermediate node building model according to the texture layer to obtain multiple texture groups of different levels; traverse each level of texture group, assign the texture images in each texture group to the specified positions in the corresponding template window, generate texture restoration information according to the specified positions of each texture image in the template window, and bind it to the texture coordinates of the sliced network intermediate node building model; merge the template windows to generate new texture images, and save the mapping relationship between the new texture images and the original texture images; replace the texture images in the sliced network intermediate node building model according to the mapping relationship to obtain the merged texture of the sliced network intermediate node building model.
[0394] In a specific implementation example, the steps for simplifying the adaptive geometry can be as follows:
[0395] ① Calculate the triangulation threshold: Calculate the bounding box radius of the slice based on the maximum and minimum values of the building model vertex coordinates in the slice, and then calculate the slice aggregation threshold based on the obtained bounding box radius.
[0396] ② Calculate the bounding box radius of the model: Calculate the bounding box radius of the slice based on the maximum and minimum values of the vertex coordinates of the building model within the slice; the calculation formula is as follows:
[0397]
[0398] In the formula:
[0399] R represents the radius of the bounding box obtained from the calculation;
[0400] x min y min z min This represents the minimum value among the vertex coordinates of the building model in the slice;
[0401] x max y max z max This represents the maximum value among the vertex coordinates of the building model in the slice;
[0402] ③ Calculate the aggregation threshold based on the radius: The slice aggregation threshold is obtained by calculating the radius of the obtained slice bounding box; the calculation formula is as follows:
[0403]
[0404] In the formula:
[0405] T represents the slice aggregation threshold obtained from the operation;
[0406] R represents the bounding box radius;
[0407] n represents the degree of simplification;
[0408] ④ Aggregate model triangles: Divide the space where the slice is located into cubes of equal volume with the slice aggregation threshold as the side length, aggregate the vertices of the building model in each cube, and delete redundant textures.
[0409] In a specific implementation example, the steps for the aggregation and growth of intermediate nodes in the sliced vein can be as follows:
[0410] (1) Slice aggregation: Aggregate all intermediate nodes of the slice network in the data block into a whole, generate the root node of the slice network and save the parent-child relationship between the intermediate nodes of the slice network and the aggregate.
[0411] (2) Parent-child node binding: Based on the correspondence between the intermediate nodes of the slice network and the root nodes of the slice network obtained by aggregation, the intermediate nodes of the slice network are bound to their parent root nodes of the slice network, so that each root node of the slice network has a logical relationship with its child nodes.
[0412] The foregoing method description and flowchart are provided merely as exemplary examples and are not intended to require or imply that the steps of the above operations or aspects must be performed in the given order. As those skilled in the art will understand, the boxes in the foregoing aspects can be performed in any order. Words such as “then,” “following,” “next,” etc., are not intended to limit the order of operations or steps; these words are only used to guide the reader through the description of the method. Furthermore, any singular reference to a claim element, for example, the use of the articles “a,” “an,” or “the,” is not to be construed as limiting that element to the singular.
[0413] The various illustrative logic blocks, modules, circuits, and algorithmic steps described in conjunction with the aspects disclosed herein can be implemented as electronic hardware, computer software, or a combination thereof. To clearly illustrate the interchangeability between hardware and software, the various illustrative components, blocks, modules, circuits, and steps have been generally described above in terms of their functionality. Whether this functionality is implemented as hardware or software depends on the specific application and the design constraints imposed on the overall method. Those skilled in the art can implement the described functionality in alternative ways for each specific application; however, such implementation decisions should not be construed as causing a departure from the scope of protection of this invention.
[0414] The method in this embodiment of the invention can effectively generate a multi-level detailed slice network organization structure for model data in a given data block. The slice data at each level has a reasonable level of detail and efficient data organization. The data storage scale of a single slice is low and stable, which greatly saves network bandwidth and improves file transfer efficiency. The level of detail of the multi-level slice data decreases step by step from the leaf node to the root node of the slice network, which can meet various use cases while using the lowest resource consumption and improving data scheduling performance. The parent and child nodes of the slice network correspond one-to-one, and the child nodes corresponding to each parent node are reasonably distributed in space and allocated in terms of data volume, making the scheduling and switching between slice data levels compact, improving the visual effect during browsing, and enhancing the user experience.
[0415] The foregoing description of the disclosed aspects is provided to enable any person skilled in the art to make or use the invention. Various modifications to these aspects will be apparent to those skilled in the art, and the general principles defined herein can also be applied to other embodiments without departing from the spirit and scope of the invention. Therefore, the invention is not intended to be limited to the aspects given herein, but rather to conform to the widest scope consistent with the principles and novel features disclosed herein.
Claims
1. A method for generating a spatial model slice data organization structure, characterized in that... The method includes the following steps: Generating sliced vein leaf nodes: Extracting model information from each data block, obtaining the comparison result between the model data volume and the slice threshold through calculation formula, and cyclically decomposing the model until the model data volume meets the slice threshold. Performing multiple aggregation operations on the decomposed model blocks until all model blocks are aggregated and grown to obtain multiple model aggregates. Saving each model aggregate as a sliced vein leaf node; Generating sliced vein intermediate nodes: Calculating adaptive simplification parameters based on quantitative visible distance and model characteristics, performing multi-level simplification on the sliced leaf node model, and redistributing texture coordinates; performing multi-scale simplification on each texture image, merging the model texture images inside the sliced leaf node, and updating the texture information of the model inside the slice; Selecting the initial point for sliced leaf node aggregation and performing multiple aggregation operations on each leaf-level slice until all leaf-level slices are aggregated to obtain multiple slice aggregates. Based on the correspondence between the sliced vein leaf nodes and the aggregated sliced vein intermediate nodes, binding the sliced vein leaf nodes to their parent sliced vein intermediate nodes, so that each sliced vein intermediate node has a logical relationship with its child nodes. Generate slice root nodes: Calculate the slice depth simplification coefficient according to the specified simplification level and aggregate and simplify the model triangle points; aggregate all slice intermediate nodes in the data block into a whole to generate slice root nodes, and bind slice intermediate nodes to their parent slice root nodes according to the relevant correspondence, so that each slice root node has a logical relationship with its child nodes. The steps involved in generating intermediate nodes of the slice network are as follows: Slice Internal Model Simplification: The number of triangular faces in the internal model of the slice leaf nodes is counted. The termination condition for geometric simplification is calculated. Adaptive simplification parameters are calculated based on quantitative visibility distance and model characteristics. Multi-level simplification of the slice leaf node model is performed until the number of triangular faces in the slice leaf node model in the data block meets the termination condition for geometric simplification. Texture coordinates are then redistributed. A texture simplification information dictionary is generated, and each texture image is simplified at multiple scales using this dictionary. The texture images of the slice leaf node internal model are grouped, and corresponding rule templates are generated for each group. New texture images are generated using these rule templates to obtain the merged model texture. The texture information of the slice internal model is then updated. Slice vein leaf node aggregation growth: Based on the geometric information of the slice leaf nodes after statistical decomposition, the slice leaf node at the specified position is obtained, and this slice leaf node is selected as the initial point for slice leaf node aggregation. Starting from the initial point of leaf-level slice aggregation, perform multiple aggregation operations with each leaf-level slice until all leaf-level slices are aggregated to obtain multiple slice aggregates. Based on the correspondence between the leaf nodes of the slice network and the intermediate nodes of the aggregated slice network, bind the leaf nodes of the slice network to their parent intermediate nodes of the slice network, so that each intermediate node of the slice network has a logical relationship with its child nodes. The specific steps for simplifying the internal model of the slice are as follows: Calculate the simplification termination condition: count the number of triangles in the model inside the slice leaf node, and calculate the final number of remaining triangles based on the given simplification level as the termination condition for geometric simplification. The formula is: , In the formula: This represents the number of triangles in the internal model of the simplified terminal slice leaf node. Represents a given level of simplification; This represents the number of triangles in the internal model of the leaf node before simplification; Adaptive geometric simplification: Read the geometric information of the slice leaf node model, calculate the adaptive simplification parameters based on the quantitative visual distance and model characteristics, perform multi-level simplification on the slice leaf node model, perform edge folding simplification on the triangular face based on the calculated adaptive edge folding parameters and redistribute the texture coordinates, and perform face deletion simplification based on the calculated adaptive face deletion parameters on the result of edge folding simplification. Multi-scale texture simplification: Extract texture images from the sliced leaf node model after adaptive geometric simplification, calculate the texture simplification coefficients corresponding to each texture image in the sliced leaf node, generate a texture simplification information dictionary, and perform multi-scale simplification on each texture image using the texture simplification information dictionary. Merging based on rule templates: Read the texture layer number information of the slice leaf node model, and generate a corresponding number of texture merging templates based on the texture layer number information; The texture images contained in the slice leaf node model are grouped according to the number of texture layers to obtain multiple texture groups of different levels. Each texture group is traversed, and the texture images in each texture group are assigned to the specified positions in the corresponding template window. Texture restoration information is generated based on the specified positions of each texture image in the template window and bound to the texture coordinates of the slice leaf node model. The template windows are merged to generate a new texture image, and the mapping relationship between the new texture image and the original texture image is saved. The texture images in the slice leaf node model are replaced according to the mapping relationship to obtain the merged slice leaf node model texture.
2. The method for generating a spatial model slice data organization structure according to claim 1, characterized in that: The steps for generating slice vein leaf nodes are as follows: Model splitting: Extract the model information from each data block, obtain the model data volume through calculation formula and compare it with the slicing threshold, and cyclically split the model according to the comparison result until the model data meets the slicing threshold; Model aggregation growth: Based on the geometric information of the statistically decomposed model blocks, a model block at a specified location is obtained, and this model block is selected as the initial point for model aggregation. Starting from the initial point for model aggregation, multiple aggregation operations are performed with each model block until all model blocks are aggregated to obtain multiple model aggregates. Each model aggregate is saved as a slice vein leaf node.
3. The method for generating a spatial model slice data organization structure according to claim 2, characterized in that: The steps for model splitting are as follows: Calculate the model data volume: Extract the geometric and texture information of each model in the data block, and obtain the total data volume of geometric and texture information through the model data volume calculation formula; The calculation formula is as follows: , In the formula: This represents the amount of model data in the data block; Represents the length of the model vertex coordinates in the data block; Represents the length of the model normal coordinates in the data block; This represents the unit of storage space occupied by float type data in the target storage computer system of the slice; Represents the length of the model texture coordinates in the data block; This represents the number of textures in the model within the data block; Represents the width of the i-th texture image; Represents the height of the i-th texture image; The storage space occupied by a unit pixel in the computer system storing the sliced target; Model iterative decomposition: The model data volume is compared with the slicing threshold. If the model data volume meets the slicing threshold condition, the next process is initiated. If the model data volume is greater than the slicing threshold, the model is decomposed and compared with the slicing threshold again in a loop until the number of models meets the slicing threshold. Then the loop stops and the next process is initiated.
4. The method for generating a spatial model slice data organization structure according to claim 2, characterized in that: The steps for the model aggregation and growth are as follows: Select the initial point for model aggregation: Calculate the bounding box of each model block based on the geometric information of the disassembled model blocks, obtain the model block at the specified position based on the bounding box coordinate range, and use this model block as the initial point for model aggregation. The geometric information includes: vertex coordinates and normal coordinates; Perform model aggregation operation: Starting from the initial point of model aggregation, perform Euclidean distance analysis and comparison with each model block to determine one or more model blocks that meet the Euclidean distance rules. Merge multiple model blocks with the best Euclidean distance and then compare them with the slice threshold. When it is determined that the threshold condition is met, the aggregation is completed. If the threshold condition is not met, merge more model blocks until the threshold condition is met and the aggregation is determined to be completed, forming a model aggregate. Repeat the aggregation operation multiple times until all model blocks are aggregated to obtain multiple model aggregates. Save each model aggregate as a slice vein leaf node.
5. The method for generating a spatial model slice data organization structure according to claim 1, wherein the specific steps for simplifying the adaptive geometric structure are as follows; Read geometric information of sliced leaf node models: Batch read vertex coordinates of sliced leaf node models; Filtering and folding triangular faces: Calculate the area of each triangular face using a formula based on the coordinates of its vertices. The calculation formula is as follows: , In the formula: Represents the area of the triangular face; , , The coordinates of the first vertex of the triangle face; , , , represents the coordinates of the second vertex of the triangle; , , The coordinates of the second vertex of the triangle face; Further, the projected pixel value of each triangular facet at a fixed visible distance is calculated based on the area value of the triangular facets, where the calculation formula is: , In the formula: Represents the pixel value of the triangular projection; Represents the area of the triangular face; d represents the visible distance within the specified range; Represents the screen height of the scene; The longitudinal angle of the visual cone in the scene; Based on the calculated projected pixel values, each triangular face in the slice leaf node model is filtered. Triangular faces with a projected pixel value < 1 are marked and awaited processing, while triangular faces with a projected pixel value ≥ 1 are retained. Simplifying the edges of the triangle by folding: The quadratic error value of the edge folding is obtained by calculating the coordinates of the marked vertex of the triangle and the plane in which they lie. The calculation formula is as follows: , In the formula: x, y, z are the coordinates of the midpoints of the sides of the triangle; a, b, c, and d represent the plane to which the edge belongs. The coefficients of each term in the plane equation; E represents the second-order error value of the edge folding; The edge folding weight value is calculated based on the quadratic error value of the edge folding obtained from the calculation. The calculation formula is as follows: , In the formula: E represents the second-order error value of the edge folding; P represents the edge collapse weight value; The edges of each triangle are reordered and folded according to the edge folding weight value to generate a recombined triangle, and the texture coordinates of the recombined triangle are updated. Filter and delete triangular faces: Calculate each interior angle using the cosine formula of trigonometric functions and the coordinates of the vertices of the recombined triangular faces, and filter out triangular faces with interior angles smaller than the extreme values; The shortest side length of the selected triangular faces with interior angles less than extreme values is obtained using the cosine formula of trigonometric functions. This process is then used to calculate the triangular faces whose pixel values projected onto the scene plane are less than 1. The formula for this calculation is as follows: , In the formula: e represents the length of the shortest side; Represents the pixel value of the shortest side projected onto the scene plane; Represents the screen height of the scene; The longitudinal angle of the visual cone in the scene; The selected triangles are deleted until the number of triangles in the slice leaf node model of the data block meets the termination condition for geometric simplification.
6. The method for generating a spatial model slice data organization structure according to claim 5, wherein the specific steps of multi-scale texture simplification are as follows: Calculate the texture simplification scale coefficient of slice leaf node: extract the set of triangular faces corresponding to the texture image of each slice leaf node model, calculate the sum of the area values of the triangular faces corresponding to the texture image of each slice leaf node, perform segmented statistical calculation on the sum of the calculated area values, further calculate the corresponding texture simplification coefficient based on the segmented statistical results, and generate a slice leaf node texture simplification information dictionary at the same time. , In the formula: This represents the sum of the area values of the set of triangles corresponding to each texture image; This represents the area value of each set of triangles corresponding to each texture image; The segmented statistical calculation formula is as follows: , In the formula: The result of piecewise statistical calculation of the total area of the triangular facets corresponding to the j-th texture image; and These represent the sum of the triangular facets corresponding to the texture images of the j-th and all slice vein leaf node models, respectively; The formula for calculating the texture simplification factor is as follows: , In the formula: The result of piecewise statistical calculation of the total area of the triangular facets corresponding to the j-th texture image; Simplify the texture images of each slice leaf node: Traverse the texture images of the slice leaf node model and simplify each texture image at multiple scales using the corresponding texture simplification coefficients in the texture simplification information dictionary.
7. The method for generating a spatial model slice data organization structure according to claim 1, characterized in that: The specific steps for the aggregation and growth of the leaf nodes in the sliced veins are as follows: Select the initial point for slice aggregation: Calculate the bounding box of each slice leaf node based on the geometric information of the leaf nodes after the slice is disassembled, and obtain the slice leaf node at the specified position according to the bounding box coordinate range. Use this slice leaf node as the initial point for leaf-level slice aggregation. Perform slice aggregation operation: Starting from the initial point of leaf-level slice aggregation, perform Euclidean distance analysis and comparison with each slice leaf node to determine one or more slice leaf nodes that meet the Euclidean distance rules. Merge multiple slice leaf nodes with the optimal formula distance and then compare and analyze them with the slice threshold. When it is determined that the threshold condition is met, the aggregation is completed. When the threshold condition is not met, more slice leaf nodes are merged until the threshold condition is met and the aggregation is considered complete, forming a slice aggregate; repeat the aggregation operation multiple times until all slice leaf nodes are aggregated to obtain multiple slice aggregates, save each slice aggregate as a slice network intermediate node, and save the correspondence between slice network leaf nodes and slice network intermediate nodes. Parent-child node binding: Based on the correspondence between the leaf nodes of the slice network and the intermediate nodes of the slice network obtained by aggregation, the leaf nodes of the slice network are bound to their parent intermediate nodes of the slice network, so that each intermediate node of the slice network has a logical relationship with its child nodes.
8. The method for generating a spatial model slice data organization structure according to claim 1, characterized in that: The specific steps for generating the root node of the slice network are as follows: Slice data depth simplification: The slice depth simplification coefficient is calculated according to the specified simplification level. Based on the face deletion simplification result, the model triangle points are aggregated and simplified according to the calculated adaptive point aggregation parameters. Slice network intermediate node aggregation growth: Aggregate all slice network intermediate nodes in the data block into a whole, generate slice network root nodes and save the parent-child relationship between slice network intermediate nodes and aggregates; and bind slice network intermediate nodes to their parent slice network root nodes according to the relevant correspondence, so that each slice network root node has a logical relationship with its child nodes.
9. The method for generating a spatial model slice data organization structure according to claim 8, characterized in that: The specific steps for depth simplification of the sliced data are as follows: Calculate the deep simplification factor: Calculate the deep simplification factor of the slice based on the specified simplification level; the formula for calculating the deep simplification factor is as follows: , In the formula: n represents the simplification coefficient for slice depth; Represents the amount of data in the model; This represents the upper limit of the threshold for the root node of the slice network; Adaptive geometric simplification: Based on the face deletion simplification results, the model triangle points are aggregated and simplified according to the calculated adaptive point aggregation parameters; Multi-scale texture simplification and merging: Extract texture images from the adaptively geometrically simplified slice network intermediate node model to obtain texture simplification coefficients, and perform multi-scale simplification on each texture image; read the texture layer information of the slice network intermediate node model to generate a texture merging template; group the texture images contained in the slice network intermediate node model according to the texture layer number to obtain multiple texture groups of different levels; traverse each level of texture group, assign the texture images in each texture group to the specified positions in the corresponding template window, generate texture restoration information based on the specified positions of each texture image in the template window, and bind it to the texture coordinates of the slice network intermediate node model; merge the various template windows to generate a new texture image, and save the mapping relationship between the new texture image and the original texture image; replace the texture images in the slice network intermediate node model according to the mapping relationship to obtain the merged slice network intermediate node model texture.
10. The method for generating a spatial model slice data organization structure according to claim 9, characterized in that: The specific steps for simplifying the adaptive geometry are as follows: Calculate the triangulation threshold: Calculate the bounding box radius of the slice based on the maximum and minimum values of the model coordinates in the slice, and then calculate the slice aggregation threshold based on the obtained bounding box radius. Calculate the bounding box radius of the model: Calculate the bounding box radius of the slice based on the maximum and minimum values of the model coordinates within the slice; the calculation formula is as follows: , In the formula: R represents the radius of the bounding box obtained from the calculation; , , This represents the minimum value among the vertex coordinates of the model in the slice; , , This represents the maximum value among the vertex coordinates of the model in the slice; The aggregation threshold is calculated based on the radius: the slice aggregation threshold is obtained by calculating the radius of the obtained slice bounding box; wherein the calculation formula is: , In the formula: T represents the slice aggregation threshold obtained from the operation; R represents the bounding box radius; n represents the degree of simplification; Aggregate model triangles: Divide the space where the slice is located into cubes of equal volume with the slice aggregation threshold as the side length, aggregate the model vertices in each cube, and delete redundant textures.
11. The method for generating a spatial model slice data organization structure according to claim 8, characterized in that: The specific steps for the aggregation and growth of intermediate nodes in the slice network are as follows: Overall slice aggregation: Aggregate all intermediate nodes in the slice network in the data block into a whole, generate the root node of the slice network, and save the parent-child relationship between the intermediate nodes of the slice network and the aggregate. Parent-child node binding: Based on the correspondence between the intermediate nodes of the slice network and the root nodes of the slice network obtained by aggregation, the intermediate nodes of the slice network are bound to their parent root nodes of the slice network, so that each root node of the slice network has a logical relationship with its child nodes.