Processor and method for intelligent identification of three-dimensional model
By analyzing and comparing the surface normal relationship of non-primitive objects of the three-dimensional model, the problem of parameter information loss in the three-dimensional model transformation is solved, and more efficient geometric recognition and processing is achieved, computing complexity is reduced and model availability is improved.
Patent Information
- Application Number
- CN202510323090.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-22
- Publication Date
- 2025-07-25
AI Technical Summary
Existing three-dimensional model conversion techniques often lose precise geometric shapes, dimensions and relative positions when converting geometry from design files to exchange formats, resulting in increased identification and processing complexity in subsequent processing, especially for infrequently used or complex geometries.
By loading the standard exchange format file, the vertex coordinates, normal vectors and triangle index information of non-primitive objects are processed, the surface normals of the triangle are generated, their relationships are analyzed and compared with the standard judgment set, and the description parameters of non-primitive objects are extracted to ensure the retention of geometric information and the optimization of computing resources.
It effectively reduces the risk of information loss, reduces the computational complexity, improves the availability and processing efficiency of three-dimensional models in different environments, and improves the accuracy and speed of geometric recognition.
Smart Images

Figure CN120375353A_ABST
Abstract
Description
[0001] The original basis of this divisional application is a patent application with the application number 202411678899.2, the application date of November 22, 2024, and the invention title of "An Intelligent Identification Method and Device for Solid Objects". Technical Field
[0002] The present invention relates to the field of graphic recognition technology, and particularly to a processor and method for intelligent recognition of three-dimensional models. Background Art
[0003] In the fields of modern 3D design and computer-aided design (CAD), technicians often use various computer tools to create complex 3D models. To share and use these 3D models in different system environments, model files need to be converted from one file format to a common exchange data format, such as OBJ, STL, and STEP, etc. However, during the conversion process, the parameter information defined in detail in the original design often gets lost. This information loss causes difficulties in subsequent identification and processing of geometric bodies, especially in terms of accuracy and integrity.
[0004] Current 3D model conversion technologies usually rely on the surface triangulation description of geometric bodies. In this description method, a geometric body is represented as a mesh composed of many small triangles. Although it is helpful for rendering and display, during the conversion process, the parametric information of the original model (such as precise geometric shape, size, and relative position) may be lost. For example, a cylinder can be precisely defined by its radius and height in the design file, but when converted to a triangulated exchange format, these parameters may no longer be obvious.
[0005] Taking a cylinder as an example, in the design stage, its dimensions are clearly described by the bottom radius, top radius, and height. However, when converted to a format such as STL, the cylinder may just be composed of multiple small triangles spliced together, and its parametric information is not directly saved in the file. Subsequent computer tools may need to re-identify its geometry and deduce parameters when processing this cylinder, which increases the computational burden and may lead to identification errors. For common geometric bodies, such as cylinders, spheres, and cubes, some graphics processing files may adopt special methods to retain their parametric features, making them regarded as basic solid objects in subsequent processing. However, for uncommon or more complex geometric shapes, this feature information is often ignored or discarded, making them regarded as non-basic solid objects in subsequent processing, increasing the processing complexity.
[0006] During the geometric entity recognition process, subsequent graphics processing files face the challenge of recognizing a large number of geometric objects when loading and parsing standard exchange format files, and must distinguish between basic entity objects and non-basic entity objects. The current recognition process faces several challenges: First, different graphics processing files may use different triangulation methods to describe the same geometric shape, and this diversity requires the recognition algorithm to have high adaptability to improve accuracy. Second, in order to reduce the file size, technicians simplify the model, resulting in loss of details and decline in precision, increasing the difficulty of geometric recognition. In addition, when processing large and complex models, re-recognizing each geometric entity and deriving parameters requires a large amount of computing resources.
[0007] For example, CN107391872A discloses a method, device, and computer-readable storage medium for using a three-dimensional model in software. The method includes: selecting a three-dimensional model to be embedded in a pre-set software from PDMS software, and converting the three-dimensional model into a three-dimensional model file in STP format; using Solidworks software to convert the three-dimensional model file in STP format into a three-dimensional model file in STL format, and outputting the three-dimensional model file in STL format; calling VTK software to read the three-dimensional model file in STL format, and embedding the read three-dimensional model file in the pre-set software. This technical solution is a typical case of the prior art. During the conversion process, the parametric information of the original model (such as precise geometric shape, size, and relative position) will be lost, resulting in difficulties for subsequent image processing software in recognizing and processing geometric entities.
[0008] Another example, CN118552398A discloses a method for generating a two-dimensional plan view for a three-dimensional mesh model. The method includes: obtaining the triangular mesh data of the three-dimensional network model; converting according to the triangular mesh data through a first preset rule to obtain contour edge data; establishing a corresponding bounding volume hierarchical structure tree based on the triangular mesh data; traversing the bounding volume hierarchical structure tree according to the contour edge data, and performing clipping processing and overlapping expansion processing on the contour edge data to obtain a two-dimensional plan view. However, this technical solution cannot effectively solve the technical problems of the present invention.
[0009] First, the above technical solution still relies on the acquisition and processing of triangular mesh data, which means that during the conversion process, the original geometric parameterization information (such as the radius and height of a cylinder) still cannot be retained. Therefore, the precise geometric shape and dimensions of the 3D model during the design stage will not be revealed after conversion. In addition, for the processing of complex geometric bodies, although the technical solution provides operations on contour edge data and the hierarchical structure tree of bounding volumes, during the clipping and overlapping expansion processes, the essential features and parameterization information of complex shapes may be further lost, resulting in still difficult subsequent geometric recognition and parameter derivation. Second, although generating 2D floor plans can simplify some subsequent processing, the triangulated description and detailed processing of 3D models still consume corresponding computing resources, which may lead to low efficiency in practical applications. Finally, for uncommon or complex geometric shapes, the technical solution fails to ensure that these shapes are recognized as basic body objects in subsequent processing, increasing the complexity of subsequent processing.
[0010] Therefore, how to improve the existing technology to accurately identify non-basic body objects and convert them into basic body objects, significantly reduce the model file size, simplify the storage requirements, and relieve the rendering pressure during model loading is the problem that the present invention hopes to solve.
[0011] In addition, on the one hand, there are differences in the understanding of those skilled in the art; on the other hand, although the applicant studied a large number of documents and patents when making the present invention, all details and content were not listed in detail due to space limitations. However, this by no means indicates that the present invention does not possess the features of these existing technologies. On the contrary, the present invention already possesses all the features of the existing technologies, and the applicant reserves the right to add relevant existing technologies in the background art. Summary of the Invention
[0012] Current 3D model conversion technologies usually rely on the surface triangulated description of geometric bodies. In this description method, a geometric body is represented as a mesh composed of many small triangles. Although it is helpful for rendering and display, during the conversion process, the parameterization information of the original model (such as precise geometric shape, dimensions, and relative positions) may be lost. For example, a cylinder can be precisely defined by its radius and height in a design file, but when converted to a triangulated exchange format, these parameters may no longer be obvious.
[0013] Aiming at the deficiencies of the prior art, the present invention provides an intelligent recognition method for solid objects from the first aspect. The method includes: loading a standard exchange format file, which includes several basic solid objects and non-basic solid objects; processing the non-basic solid objects in sequence. Among them, the non-basic solid objects include a vertex coordinate set, a vertex normal vector set, and a vertex index information set of each triangle. Determine the triangles spanned by each vertex according to the vertex index information set of each triangle, and generate the face normal of the triangle according to the vertex normal vectors of the vertices of the spanned triangle. Analyze the face normals of each triangle and determine the non-intersecting, coplanar, parallel or intersecting relationships of the triangles. Compare the standard judgment set of the face normals of all triangles in the standard geometric form with the face normal set of all triangles of the non-basic solid object to preliminarily determine the macroscopic geometric form of the non-basic solid object; on the basis of preliminarily determining the macroscopic geometric form of the non-basic solid object, determine the face normals and relationships of each macroscopic surface, and extract the description parameters of the non-basic solid object according to these face normals and relationships.
[0014] Through the recognition and processing of the device, the geometric information in the three-dimensional model is ensured to be retained, reducing the risk of information loss. In addition, the method effectively reduces the consumption of computing resources, avoids the need to re-recognize and deduce parameters for each geometric body, thereby reducing the computational complexity and improving the overall processing efficiency. At the same time, the retained parameter information enables subsequent computer tools to process the three-dimensional model more efficiently, thus enhancing the usability of the unit model in different environments. Through the comparison of the standard judgment set and the rapid determination of the macroscopic geometric form, the scheme significantly improves the recognition speed of geometric bodies, shows high adaptability, and can effectively handle challenges such as different triangulation methods and detail loss caused by model simplification, ensuring the effective recognition of complex geometric bodies during the conversion process.
[0015] According to a preferred embodiment, the method further includes: selecting one of the face normals of several coplanar triangles as the face normal of the surface of the non-basic solid object where the coplanar triangles are located.
[0016] By selecting one of the face normals of coplanar triangles as the face normal of its surface, the processing flow of the geometric body can be simplified. This step can effectively reduce redundant data, improve the processing speed of the geometric body, and ensure more efficient and accurate recognition of complex models.
[0017] According to a preferred embodiment, the method further includes: during the process of loading a standard exchange format file, loading each basic solid object by reading the parameters describing the basic solid object. This step can not only ensure the correct loading of the basic solid, but also maintain the integrity of its parametric characteristics, significantly enhancing the usability and accuracy of the three-dimensional model in subsequent processing.
[0018] According to a preferred embodiment, the method further includes: pre-determining each face composed of at least one triangle in a standard geometric form, and determining the face normal of each face of the standard geometric form, so as to form a set of typical information of the standard geometric form; wherein, the set of typical information of the face normal is used as a standard judgment set for determining the macroscopic geometric form of a non-basic body object.
[0019] This step can provide an effective reference standard for the subsequent identification of non-basic body objects. This process helps to improve the accuracy of identification and reduce the complexity brought by diverse geometric shapes.
[0020] According to a preferred embodiment, the method further includes: determining the relationships and quantities of all planes of the standard geometric form through the non-intersecting, coplanar, parallel or intersecting relationships of all triangles of the standard geometric form, and pre-defining the macroscopic geometric form of the standard geometric form according to the mutual relationships of the plane face normals.
[0021] Defining the relationships and quantities between planes by using the relationships of all triangles of the standard geometric form can clearly define the macroscopic structure of complex geometric bodies. This step makes the device more efficient in identifying and processing complex geometric bodies, ensuring the accuracy and integrity of the geometric bodies during the conversion process.
[0022] According to a preferred embodiment, the method further includes: adding the normal vectors of each vertex of the triangle to each other to obtain the face normal of the triangle; wherein, after adding the normal vectors of each vertex to each other, normalizing the sum to obtain the face normal of the triangle.
[0023] By adding and normalizing the normal vectors of each vertex of the triangle, the face normal of the triangle can be accurately obtained. This method ensures the accuracy of the face normal, provides necessary support for subsequent geometric body analysis and identification, and improves the accuracy of the overall model processing.
[0024] According to a preferred embodiment, the method further includes: in the case where there are two or more face normals of a non-basic body object that are the same as each other, regarding the triangles with the same face normals as parallel or coplanar triangles; determining several coplanar triangles by analyzing the vertex coordinates of the parallel or coplanar triangles.
[0025] When there are two or more triangles with the same face normal in a non-basic body object, identifying and analyzing these parallel or coplanar triangles can effectively simplify the structure of the geometric body. This function helps to improve the accuracy and efficiency of geometric body identification, ensuring that the processing of complex models can be smoother.
[0026] The present invention provides an intelligent recognition device for a solid object from a second aspect, including a processor, which includes a loading module, a preprocessing module, an analysis module, a judgment module, and an extraction module. The loading module is used to load a standard exchange format file, which includes a number of basic solid objects and non-basic solid objects; the preprocessing module processes the non-basic solid objects in sequence, where the non-basic solid objects include a vertex coordinate set, a vertex normal vector set, and a vertex index information set of each triangle. The analysis module determines the triangles spanned by each vertex according to the vertex index information set of each triangle, and generates the face normal of the triangle according to the vertex normal vectors of the vertices of the spanned triangle, analyzes the face normals of each triangle, and determines the non-intersecting, coplanar, parallel, or intersecting relationships of the triangles. The judgment module compares the standard judgment set of the face normals of all triangles of the standard geometric shape with the face normal set of all triangles of the non-basic solid object to preliminarily determine the macroscopic geometric shape of the non-basic solid object; the extraction module determines the face normals and relationships of each macroscopic surface on the basis of preliminarily determining the macroscopic geometric shape of the non-basic solid object, and extracts the description parameters of the non-basic solid object according to these face normals and relationships.
[0027] In the intelligent recognition device of the present invention, the loading module ensures that the data in the standard exchange format file is extracted and processed in an orderly manner, providing clear and structured data support for the subsequent preprocessing and analysis modules. This structured data processing method can significantly improve the processing efficiency of the subsequent modules, reducing the interference of potential errors and redundant data. The preprocessing module can efficiently integrate and organize vertex coordinates, normal vectors, and triangle index information. This integrated processing reduces the repeated operations during calculation, optimizes the data flow, enabling the subsequent analysis module and judgment module to perform calculations and make decisions faster. The analysis module effectively generates the face normal of the triangle through the operation and logical analysis of vertex information, and conducts systematic analysis. It not only improves the efficiency of data processing but also provides the necessary basis for subsequent judgment, ensuring the scientificity and reliability of the decision-making. The judgment module can efficiently process and compare the face normal data of different geometric shapes. It not only improves the judgment speed but also reduces the consumption of computing resources, providing a clearer judgment basis for the subsequent extraction module and ensuring the high efficiency of data processing. The extraction module can efficiently generate the description parameters of the non-basic solid object according to the face normal and relationship. This process effectively improves the effectiveness and accuracy of the data by integrating the analysis results, making the subsequent data processing and application smoother, and ensuring the high efficiency of the system when dealing with complex geometric bodies.
[0028] According to a preferred embodiment, the determination module is further configured to: predetermine each face composed of at least one triangle with a standard geometric shape, and determine the face normal of each face of the standard geometric shape, so as to form a set of typical information of the standard geometric shape; wherein, the set of typical information of the face normal is used as a standard judgment set for determining the macroscopic geometric shape of the non-basic body object.
[0029] In terms of data processing, through the set of typical information of the face normals of the standard geometric shape, the determination module can efficiently classify and compare data. This systematic processing method improves the efficiency of data processing, ensuring rapid and effective determination and extraction of geometric shapes in complex models.
[0030] According to a preferred embodiment, the determination module is further configured to: determine the relationships and quantities of all planes of the standard geometric shape through the non-coplanar non-intersecting, coplanar, parallel or intersecting relationships of all triangles of the standard geometric shape, and predefined the macroscopic geometric shape of the standard geometric shape according to the relationships between the face normals of the planes.
[0031] This process can form a clearer and more structured data model during data processing by analyzing and integrating the relationships between planes. This processing not only improves the accuracy of calculations but also provides the necessary basic data support for subsequent applications, reducing the complexity of identification and processing. BRIEF DESCRIPTION OF THE DRAWINGS
[0032] Figure 1 is a schematic diagram of the module connection relationship of the intelligent identification device provided by the present invention;
[0033] Figure 2 is a schematic diagram of the steps of the intelligent identification method provided by the present invention;
[0034] Figure 3 is a schematic diagram of the structure of the triangular surface of the cylinder provided by the present invention;
[0035] Figure 4 is a schematic diagram of the normal of the cuboid provided by the present invention;
[0036] Figure 5 is a schematic diagram of the vector of the cuboid provided by the present invention;
[0037] Figure 6 is a schematic diagram of the side normal of the quadrangular pyramid provided by the present invention;
[0038] Figure 7 is a schematic diagram of the triangular end face of the cylinder provided by the present invention.
[0039] LIST OF REFERENCE NUMERALS
[0040] 100: Processor; 110: Loading module; 120: Preprocessing module; 130: Analysis module; 140: Judgment module; 150: Extraction module. Detailed implementation manners
[0041] The following will be described in detail with reference to the accompanying drawings.
[0042] Embodiment 1
[0043] Current 3D model conversion technologies usually rely on the surface triangulation description of geometric bodies. In this description method, a geometric body is represented as a mesh composed of many small triangles, which is helpful for rendering and display. However, during the conversion process, the parametric information of the original model (such as precise geometric shapes, dimensions, and relative positions) may be lost. For example, a cylinder can be precisely defined by its radius and height in a design file, but when converted to a triangulated exchange format, these parameters may no longer be obvious.
[0044] The present invention provides an intelligent recognition device for volume objects, including a processor 100. The processor 100 is used to implement the intelligent recognition method for volume objects of the present invention. The present invention also provides a storage medium for storing an encoded program for running the intelligent recognition method for volume objects.
[0045] Preferably, as Figure 1 shown, the processor 100 includes a loading module 110, a preprocessing module 120, an analysis module 130, a judgment module 140, and an extraction module 150. These five modules are connected in sequence for data connection.
[0046] The loading module 110 is used to load a standard exchange format file, which includes several basic volume objects and non-basic volume objects.
[0047] The preprocessing module 120 processes non-basic volume objects in sequence, where the non-basic volume objects include a vertex coordinate set, a vertex normal vector set, and a vertex index information set of each triangle.
[0048] The analysis module 130 determines the triangles spanned by each vertex according to the vertex index information set of each triangle, and generates a face normal of the triangle according to the vertex normal vectors of the vertices of the spanned triangle, analyzes the face normals of each triangle, and determines the non-intersecting, coplanar, parallel, or intersecting relationships of the triangles.
[0049] The judgment module 140 compares the standard judgment set of the face normals of all triangles of the standard geometric form with the set of face normals of all triangles of the non-basic volume object to preliminarily determine the macroscopic geometric form of the non-basic volume object.
[0050] Based on the preliminary determination of the macroscopic geometric shape of the non-primitive object, the extraction module 150 determines the surface normal vectors and relationships of each macroscopic surface, and extracts the description parameters of the non-primitive object according to these surface normal vectors and relationships.
[0051] Specifically, the processor 100 can adopt a high-performance central processing unit (CPU) or a graphics processing unit (GPU) to support complex data processing and computing requirements.
[0052] The loading module 110 can be implemented as a dedicated data interface card (such as a USB or PCIe card), and its main function is to load standard exchange format files from external storage devices (such as hard disks, solid-state drives, or network storage). The loading module 110 may include a reader or a data decoder to ensure the extraction of data from files in different formats. The loading module 110 is connected to the external storage device through a high-speed data bus (such as SATA, USB, or PCIe), and at the same time is connected to the processor 100 through an internal data bus to transfer the loaded data to the subsequent preprocessing module 120.
[0053] The preprocessing module 120 can be implemented as a functional unit inside the processor 100, or can be configured as an independent expansion module (such as an FPGA or an ASIC), which is specifically used to process and analyze the data structure of the non-primitive object. The preprocessing module 120 is connected to the loading module 110 through the memory bus of the processor 100 and receives the data transmitted from the loading module 110. The preprocessing module 120 then transfers the processed data to the analysis module 130 to ensure the smooth flow of data.
[0054] The analysis module 130 is usually integrated in the computing core of the processor 100 and can utilize multi-core processing technology to achieve efficient geometric analysis. The analysis module 130 can also be a dedicated acceleration hardware (such as a GPU, TPU) for performing complex geometric calculations. The analysis module 130 is connected to the preprocessing module 120 through the internal data bus of the processor 100, receives the preprocessed data, and transfers the analysis results to the judgment module 140. The output of the analysis module 130 can be directly stored in the cache or internal memory of the processor 100 to ensure fast access.
[0055] The judgment module 140 is usually a built-in logic and arithmetic unit of the processor 100, responsible for executing the judgment logic of the standard geometric shape, and may use software algorithms for data comparison and analysis. The judgment module 140 is closely connected to the analysis module 130 through the internal bus of the processor 100, receives the analysis results of the triangular surface normal vectors, and transfers the preliminarily determined macroscopic geometric shape to the extraction module 150.
[0056] The extraction module 150 can be a functional module or software component in the processor 100, responsible for extracting the description parameters of non-primary object bodies, and may use an algorithm library or a computing framework to implement.
[0057] The extraction module 150 is connected to the judgment module 140 through the internal data bus of the processor 100, obtains the judgment result and performs further data processing. The extracted parameters can be stored in the memory, cache or external memory of the processor 100 for subsequent use or analysis.
[0058] The loading module 110, preprocessing module 120, analysis module 130, judgment module 140 and extraction module 150 in the entire processor 100 are connected through the internal data bus to form an efficient data processing chain. Data enters the preprocessing module 120 from the loading module 110, undergoes analysis and judgment, and finally the extraction module 150 outputs the result. The connection between each module ensures the continuity of data flow and processing efficiency, and can effectively support complex 3D model recognition and parameter extraction tasks.
[0059] As Figure 2 shown, the intelligent recognition method of the object body of the present invention includes:
[0060] S1: Load a standard exchange format file, which includes several primary object bodies and non-primary object bodies.
[0061] S2: Process the non-primary object bodies in sequence, where the non-primary object bodies include a vertex coordinate set, a vertex normal vector set, and a vertex index information set of each triangle.
[0062] S3: Determine the triangles spanned by each vertex according to the vertex index information set of each triangle, generate the face normal of the triangle according to the vertex normal vectors of the vertices of the spanned triangle, analyze the face normals of each triangle and determine the non-coplanar non-intersecting, coplanar, parallel or intersecting relationships of the triangles.
[0063] S4: Compare the standard judgment set of the face normals of all triangles of the standard geometric form with the set of face normals of all triangles of the non-primary object body to preliminarily determine the macroscopic geometric form of the non-primary object body.
[0064] S5: On the basis of preliminarily determining the macroscopic geometric form of the non-primary object body, determine the face normals and relationships of each macroscopic surface, and extract the description parameters of the non-primary object body according to these face normals and relationships.
[0065] The following explanations are given for each of the steps S1 to S5.
[0066] S1: Load a standard exchange format file. The loaded information includes several primitive objects and non-primitive objects.
[0067] The standard exchange format file is a data file format used to store and transmit 3D model information, including descriptions of primitive objects and non-primitive objects. The file format of the standard exchange format file can be recognized and used by different software or systems to facilitate data sharing and communication. For example, a file containing a 3D model (such as in OBJ, STL, or FBX format) can be called a standard exchange format file. Such a file may contain all the relevant information of a house model, including elements such as walls, windows, and roofs.
[0068] Primitive objects are described by parameters in the standard exchange format file. Further, primitive objects refer to simple geometric shapes described in a parametric way in the standard exchange format file. These shapes usually have simple mathematical definitions and their characteristics and properties can be directly represented by parameters.
[0069] For example, a cube or a sphere can be regarded as a primitive object. In the standard exchange format file, a cube can be described by its side length, e.g., "cube (side length = 2)", while a sphere can be described by its radius, e.g., "sphere (radius = 3)".
[0070] Non-primitive objects are composed of triangles in the standard exchange format file. Specifically, non-primitive objects refer to complex geometric shapes assembled by triangles in the standard exchange format file. These shapes cannot be described by simple parameters but are constructed by combining multiple triangles. As Figure 3 shown, a cylinder is composed of triangles and belongs to non-primitive objects. Another example is a humanoid model, which is composed of many small triangles to represent its complex shape and details.
[0071] Preferably, the loading of each primitive object is completed by reading the parameters describing the primitive object.
[0072] For example, first, the user selects a standard exchange format file through the terminal. The loading module 110 reads the file content and classifies it into two categories: primitive objects and non-primitive objects.
[0073] For primitive objects, the loading module 110 parses the parameters describing these primitive objects, such as radius, height, width, and position. By analyzing these parameters, the loading module 110 can generate the corresponding geometric bodies.
[0074] When processing non-primitive objects, the loading module 110 will identify the geometry composed of multiple triangles. The loading module 110 will extract the vertex coordinates of each triangle and combine these coordinates to form the shape of a complete non-primitive object. After parsing and creating all objects, the loading module 110 adds these geometries to the 3D model for subsequent operations.
[0075] S2: Process non-primitive objects sequentially.
[0076] Non-primitive objects include a set of vertex coordinates, a set of vertex normal vectors, and a set of vertex index information for each triangle.
[0077] In the standard exchange format file, the vertex normal vectors are determined for each vertex as follows.
[0078] S21: By calculating the sum of the normal vectors of all triangles (p1, p3, p4; p1, p2, p3; p1, p2, p5; p1, p4, p5) pointing to the outside direction of the non-primitive object where the corresponding vertex (p1) in the set of vertex coordinates is located, the sum of the normal vectors of all triangles where a vertex is located is used as the vertex normal vector of that vertex.
[0079] That is, taking vertex p1 as an example, determine the specific vertex for which the normal vector needs to be calculated. In the 3D model, identify all triangles that contain vertex p1.
[0080] For example: Triangle A1: (p1, p3, p4); Triangle A2: (p1, p2, p3); Triangle A3: (p1, p2, p5); Triangle A4: (p1, p4, p5).
[0081] For each triangle that contains p1, calculate the normal vector of the triangle. Assume the vertex coordinates of the triangle are: p1 = (x1, y1, z1); p2 = (x2, y2, z2); p3 = (x3, y3, z3); p4 = (x4, y4, z4); p5 = (x5, y5, z5).
[0082] The normal vector of the triangle can be calculated through the following steps:
[0083] Let the normal vector of triangle A1 be N1, and it is calculated using the cross product formula:
[0084] N1 = (p3 - p1) × (p4 - p1).
[0085] Calculate the normal vectors N2, N3, and N4 of the other triangles in the same way.
[0086] Add up all the normal vectors to get the vertex normal vector of vertex p1: V P = N总 = N1 + N2 + N3 + N4.
[0087] S22: Form a vertex normal vector set by sequentially determining the vertex normal vectors of each vertex.
[0088] For example, the vectors V of each vertex P1 (x1, y1, z1), V P2 (x2, y2, z2), V P3 (X3, y3, Z3) and V P4 (x4, y4, z4) represent the normal vectors associated with the vertices p1, p2, p3, and p4 respectively. Then, the normal vector set can be expressed as: {V P1 , V P2 , V P3 , V P4}.
[0089] S23: The vertex index information set of each triangle is an index pointing to specific point coordinates.
[0090] That is to say, the vertex index information set of a triangle is an index value used to point to specific point coordinates, and these index values represent positions in the vertex coordinate array.
[0091] In a 3D model, each vertex is usually assigned a unique index value for quickly accessing its coordinates and normal vectors.
[0092] List the vertex indices for each triangle.
[0093] For example: For triangle A4(p1, p4, p5), its vertex indices may be:
[0094] Index corresponding to p1 = 0; index corresponding to p4 = 3; index corresponding to p5 = 4. Then the vertex indices of this triangle are [0, 3, 4]. In addition, index corresponding to p2 = 1; index corresponding to p3 = 2.
[0095] Repeat the above steps to record the vertex indices of all triangles.
[0096] For example: Triangle A1 = [0, 2, 3]; Triangle A2 = [0, 1, 2]; Triangle A3 = [0, 1, 4]; Triangle A4 = [0, 3, 4].
[0097] Triangle A1 = [0, 2, 3] means its vertices are p1, p3, and p4 respectively.
[0098] Triangle A2 = [0, 1, 2] means its vertices are p1, p2, and p3 respectively.
[0099] The index information of all triangles is aggregated into a list or array, i.e., the vertex index information set, which facilitates subsequent operations and rendering. The vertex index information set is used to quickly find the specific vertices of each triangle for rendering or other calculations.
[0100] Using the index set saves memory, avoiding duplicate storage of vertex coordinates; improves efficiency, as accessing vertex coordinates through indices during rendering can enhance computational efficiency; simplifies the data structure, making the representation of triangles more concise.
[0101] S3: Determine the triangles tensed by each vertex according to the vertex index information sets of each triangle, and generate the face normal vectors of the triangles based on the vertex normal vectors of the vertices of the tensed triangles. Analyze the face normal vectors of each triangle and determine the non-intersecting, coplanar, parallel, or intersecting relationships of the triangles.
[0102] The tensed triangle refers to ensuring that the triangle can maintain the optimal shape and structural integrity at the given vertex positions through the geometric relationship tensed by its vertices in three-dimensional space. Here, "tensed" is usually related to the geometric properties and physical meanings of the triangle.
[0103] In a 3D model, a triangle is the most basic polygon, and any complex shape can be formed by piecing together triangles. A tensed triangle means that the vertex positions of these triangles are optimized, usually after mesh subdivision, smoothing, or physical simulation, to ensure that the shape of the model is maintained well and there are no self-intersections or distortions.
[0104] In a physics engine, a triangle may represent the surface of some object, and a tensed triangle refers to a triangle that maintains a stable shape during the simulation. By applying appropriate constraints, it is ensured that these triangles do not exhibit excessive distortion during deformation or movement.
[0105] Using the vertex index information sets of each triangle, it is convenient to find the vertices corresponding to the tensed triangles. For example, if the vertex index set corresponding to a triangle is [0, 1, 2], then its vertices are p1, p2, and p3.
[0106] After determining the normal vectors of the vertices, the face normal vectors of the triangles can be generated through these normal vectors. This is because the face normal vector is usually generated by the average or weighted average of the vertex normal vectors of the triangle, reflecting the direction of the triangle in space.
[0107] Preferably, the face normal vector of the triangle is a unit vector pointing to the outside of the triangle surface. Through the calculation of the face normal vector, the specific direction of the triangle can be judged.
[0108] If the surface normal vectors of two triangles differ significantly and their vertices are not in the same plane, they can be determined to be skew and non-intersecting.
[0109] If the surface normal vectors of two triangles are the same and they share one or more vertices, they can be considered coplanar.
[0110] If the directions of the surface normal vectors of two triangles are the same but their positions are different, they are parallel.
[0111] If the directions of the surface normal vectors of two triangles are different and there is an intersection, they are intersecting.
[0112] S31: Select one of the surface normals (V5 or V6) of several coplanar triangles as the surface normal (V 56 ) of the surface of the non-basic solid object where these coplanar triangles are located.
[0113] Preferably, assume that the vertex normal vectors of triangle (a, p1, p2) are known. The surface normal is calculated as follows.
[0114] Add the vertex normal vectors of the triangle (a, p1, p2) to each other to obtain the surface normal of the triangle. Preferably, after adding the vertex normal vectors to each other, normalize their sum to obtain the surface normal of the triangle.
[0115] For example, assume that the vertex normals of triangle (a, p1, p2) are: V pa =(x a , y a , z a ); V pp1 =(x p1 , y p1 , z p1 ); V pp2 =(x p2 , y p2 , z p2 ).
[0116] The surface normal V 56 can be calculated by adding the vertex normal vectors:
[0117] V 56 =V pa +V pp1 +V pp2 .
[0118] Calculate the modulus of V 56 :
[0119] Normalize V 56 : The obtained face normal represents the surface direction of the triangle.
[0120] By the above process, the surface normals of each coplanar triangle are accurately calculated, providing a basis for subsequent calculations.
[0121] S32: For a non - primitive object where there are two or more face normals of triangles that are the same (less than a predetermined threshold) with each other, consider these triangles with the same face normals as parallel or coplanar triangles. Determine several coplanar triangles by analyzing the vertex coordinates of the "parallel or coplanar triangles".
[0122] For each triangle in the non - primitive object, calculate its face normal vector.
[0123] For example, assume there are three triangles; the face normal of triangle B1 is V1; the face normal of triangle B2 is V2; the face normal of triangle B3 is V3.
[0124] Compare the face normal of each triangle with the face normals of other triangles. Specifically, calculate the angle difference between the previous face normal and its adjacent face normal (using the dot - product method):
[0125]
[0126] If the angle θ is less than a predetermined threshold (e.g., 5 degrees), then consider these two triangles as parallel or coplanar.
[0127] By comparing the face normals of all triangles, collect the vertex coordinates of those triangles that meet the parallel condition to form a set of coplanar triangles. This method can effectively identify the coplanar regions on the polygon surface, facilitating subsequent optimization processes such as simplifying the geometry.
[0128] Preferably, the face normals of each triangle point to the outer direction of the non - primitive object. In some cases, they can also all point to the inner direction of the non - primitive object within a coordinate system.
[0129] By clearly defining the direction of the face normal, misjudgments in determining the geometric shape of the non - primitive object can be reduced. For example, if the face normals are inconsistent, it may cause triangles to be misclassified as irrelevant surfaces.
[0130] Consistent face normals (especially referring to being consistently outward or consistently inward) help to more clearly identify the structural characteristics of the object. For the process of identifying and segmenting non - primitive objects, it can more effectively determine which triangles belong to the same surface.
[0131] By logically classifying similar normal vectors into one category, the number of triangles that need to be considered can be significantly reduced during processing and calculation. This not only improves the performance of the algorithm but also reduces the consumption of computing resources.
[0132] S4: By comparing the standard judgment set of the face normal vectors of all triangles of the standard geometric form with the set of face normal vectors of all triangles of this non - elementary object, the macroscopic geometric form of this non - elementary object is preliminarily determined.
[0133] The standard judgment set is a set that includes the face normal vector characteristics, geometric relationships, and quantity characteristics of the standard geometric form, aiming to be compared with the geometric characteristics of the non - elementary object to preliminarily determine the macroscopic geometric form of this object. The composition of this set includes the face normal vector characteristic set, which contains the face normal vectors of all triangles in the standard geometric form and is used to describe the directionality and geometric characteristics of the surface. At the same time, the geometric relationship part describes the relationships between triangles, including coplanar relationships, parallel relationships, skew relationships, and intersecting relationships, to clarify the spatial positions of triangles and their interactions. In addition, the quantity characteristic quantitatively describes the quantities of various geometric relationships and structures to evaluate the complexity and characteristics of the form. The standard judgment set plays a role in preliminarily identifying the form of the object in geometric analysis, providing a comparison basis to help judge the similarity between the geometric characteristics of the non - elementary object and the standard geometric form.
[0134] S41: By analyzing the skew non - intersecting, coplanar, parallel, or intersecting relationships of all triangles of this non - elementary object, the relationships and quantities of all planes of this non - elementary object are determined.
[0135] Specifically, the relationships and quantities of all planes of the non - elementary object are counted.
[0136] For example, the non - elementary object includes six triangles. The face normal vectors of each triangle are V1=(0, 0, 1); V2=(0, 0, 1); V3=(0, - 1, 1); V4=(0, - 1, 1); V5=(0, 0, 1); V6=(0, - 1, 0).
[0137] Then, V1 and V2 are the same and there is a common edge. The two triangles corresponding to V1 and V2 (triangle T1 and triangle T2) are coplanar. V3 and V4 are the same and there is a common edge. The two triangles corresponding to V3 and V4 (triangle T3 and triangle T4) are coplanar. V1 and V5 are the same and there is a common edge. The two triangles corresponding to V1 and V5 (triangle T1 and triangle T5) are coplanar. V6 and V4 are the same and there is a common edge. The two triangles corresponding to V6 and V4 (triangle T6 and triangle T4) are coplanar. V2 and V5 are the same and there is no intersection point. The two triangles corresponding to V2 and V5 (triangle T2 and triangle T5) are parallel.
[0138] V3 and V5 are different and do not intersect. The two triangles corresponding to V3 and V5 (triangle T3 and triangle T5) are skew and non - intersecting. V3 and V1 are different and do not intersect. The two triangles corresponding to V3 and V1 (triangle T3 and triangle T1) are skew and non - intersecting. V2 and V4 are different and do not intersect. The two triangles corresponding to V2 and V4 (triangle T2 and triangle T4) are skew and non - intersecting.
[0139] Based on the above statistics, obtain all the relationships and quantities of the planes of the non - basic solid object:
[0140] Coplanar relationship: 4 pairs (triangle T1 and triangle T2, triangle T1 and triangle T5, triangle T3 and triangle T4, triangle T6 and triangle T4).
[0141] Parallel relationship: 1 pair (triangle T2 and triangle T5).
[0142] Intersecting relationship: 0 pairs.
[0143] Skew and non - intersecting relationship: 3 pairs (triangle T3 and triangle T5, triangle T1 and triangle T3, triangle T2 and triangle T4).
[0144] S42: Determine the macroscopic geometric shape of the non - basic solid object by comparing all the relationships and quantities of its planes with the standard judgment set of standard geometric shapes.
[0145] By comparing with the standard geometric shape, the non - basic solid object can be classified into a specific geometric type or shape. This standardized comparison helps to quickly identify whether the non - basic solid object belongs to known basic geometric shapes, such as spheres, cubes, cylinders, etc.
[0146] By analyzing the relationships between the various faces of a non - basic solid object (such as coplanarity, parallelism, intersection, etc.), its internal structure and external form can be understood. This analysis helps to identify the geometric characteristics of the non - basic solid object, such as whether there are flat faces or curved surfaces. Judging the macroscopic geometric form can also help to confirm whether the object is complete and whether there are missing parts.
[0147] By analyzing the planar relationships, the macroscopic characteristics of the object (such as symmetry, closedness, curvature, etc.) can be identified, and then its performance in three - dimensional space can be judged. After identifying the macroscopic geometric form of the non - basic solid object, computer modeling and simulation can be carried out more effectively.
[0148] S421: The coplanarity relationship between triangle (p1, p4, p3) and triangle (p1, p3, p2) is judged as follows.
[0149] The two triangles have common vertices p3 and p1, and the face normals V5 and V6 of the two triangles are the same. Thus, it can be determined that the two triangles are coplanar with each other.
[0150] By identifying the coplanarity relationship, it can be determined which parts of the surface are flat. This is very useful for surface refinement and texture generation. The coplanarity relationship helps to understand the geometric structure of the object and supports the identification of basic surface features in a three - dimensional model.
[0151] S422: The intersection relationship between triangle (p1, p4, p3) and triangle (p1, p4, p5) is judged as follows.
[0152] The two triangles have common vertices p1 and p4, but the normal vectors V5 and V6 of the two triangles are not the same; thus, it can be determined that the two triangles intersect.
[0153] Identifying the intersection relationship helps to understand the complex interaction surfaces of a three - dimensional model. By clarifying the intersection area, the detail accuracy can be improved during modeling. In the inspection of a three - dimensional model, the intersection relationship may indicate potential modeling errors or areas that need improvement.
[0154] S43: Predetermine the various faces of standard geometric forms (prisms, cylinders, spheres, cones) (all of which are planes composed of at least one triangle), and then determine the face normals of the various faces of the standard geometric form, thereby forming a typical information set of the standard geometric form. Preferably, this typical information set of face normals is used as a standard judgment set for determining the macroscopic geometric form of non - basic solid objects.
[0155] Provide a standardized reference for evaluating and classifying non - primitive objects. By comparing with a standard set, improve the accuracy and efficiency of identifying non - primitive objects. Contribute to the automation of the identification process and enhance the intelligence of computer - aided design and analysis systems.
[0156] S44: Determine the relationships and quantities of all the planes of the standard geometric forms (prisms, cylinders, spheres, cones) through the non - coplanar non - intersecting, coplanar, parallel or intersecting relationships of all the triangles of the standard geometric forms (prisms, cylinders, spheres, cones), and pre - define the macroscopic geometric form of the standard geometric form according to the mutual relationships of the plane normal vectors of these planes.
[0157] All the surfaces of the macroscopic geometric form are occupied by at least one triangle spanned by the vertices of the vertex coordinate set of the non - primitive object.
[0158] By defining the plane relationships of the standard geometric form, provide a comprehensive understanding of the structure of the non - primitive object.
[0159] Preferably, the face normals of the triangles of the non - primitive object are defined within the same Cartesian coordinate system, that is, the directions of the face normals are defined within a unified coordinate system. For example, for a cylinder, since the coordinate system is unified, its top and bottom surfaces have a number of face normals with the same magnitude but opposite directions, resulting in a sum of zero. A similar situation exists for the triangles on the lateral surface.
[0160] Taking the cylinder as an example, in some special cases, the number of triangles on the top and bottom surfaces may not be equal, which may cause the sum of their face normal vectors not to be zero. However, the parallelism between them can be judged by checking whether the triangles on the top and bottom surfaces are coplanar. But for the lateral surface, if there are an odd number of triangles, it may lead to the situation where the sum of the face normals of the lateral surface is not zero. Therefore, a threshold needs to be set to judge the macroscopic geometric form of the non - primitive object. This threshold is determined according to the set of vertex index information of each triangle. Among them, the parity of the number of triangles on the top, bottom and lateral surfaces is determined according to the set of vertex index information of each triangle, and the threshold for judging the macroscopic geometric form of the non - primitive object is determined according to the parity of the number of triangles on the corresponding surface. For example, the threshold is 1.x for odd numbers and 0.x for even numbers. The reason for the numbers after the decimal point is due to floating - point calculation errors.
[0161] Take the cylinder as an example for illustration.
[0162] For a cylinder, its top and bottom end faces are a group, their normal directions are opposite, and the sum of the normals after addition is 0; the sum of the face normals of its lateral surfaces is basically 0, and there will be no completely co - directed faces.
[0163] AsFigure 3 As shown, for a typical cylinder, the parameters of the top and bottom surfaces of the cylinder are:
[0164] V top = [0, 0, 1]; V bottom = [0, 0, -1]; V top + V bottom = [0, 0, 0].
[0165] The parameters of the side surface of the cylinder are:
[0166] V A1 = [0, -1, 0]; V A2 = [0.5, -0.866, 0]; V A3 = [0.866, -0.5, 0];
[0167] V A4 = [1, 0, 0]; V A5 = [0.866, 0.5, 0]; V A6 = [0.5, 0.866, 0];
[0168] V A7 = [0, 1, 0]; V A8 = [-0.5, 0.866, 0]; V A9 = [-0.866, 0.5, 0];
[0169] V A10 = [-1, 0, 0]; V A11 = [-0.866, -0.5, 0]; V A12 = [-0.5, 0.866, 0];
[0170] (∑V Ai ) = [0, 0, 0].
[0171] In Figure 4 , each arrow represents the normal vector of its corresponding surface. As Figure 4 shown, for a cuboid: the triangular normal vectors of the six surfaces exactly form three groups with two opposite surfaces as a group. In each group, the normals are opposite, and the sum of the normals is 0 after addition, so the total sum is 0.
[0172] As Figure 5 shown, the normal vector situation of a cuboid (where A4 is the surface blocked on the outside of the geometric body and A5 is the surface blocked at the lower part of the geometric body) is:
[0173] V A1 = [1, 0, 0]; V A6 = [-1, 0, 0]; V A1 + V A6= [0, 0, 0];
[0174] V A2 = [0, -1, 0]; V A4 = [0, 1, 0]; V A2 + V A4 = [0, 0, 0];
[0175] V A3 = [0, 0, 1]; V A5 = [0, 0, -1]; V A3 + V A5 = [0, 0, 0];
[0176] V A1 + V A6 + V A2 + V A4 + V A3 + V A5 = [0, 0, 0].
[0177] As Figure 6 shown, for a quadrangular pyramid, there is no obvious direct relationship among the normal vectors of its five faces. However, if the normal vectors of the four side faces of the pyramid are added together, a new face normal vector will be formed, that is, V A1 + V A2 + V A3 + V A4 = V A If the vector normalization is performed on V A to obtain the unit normal vector V Anormal of the sum of the side face normal vectors of the polyhedron.
[0178]
[0179] ||·|| represents the modulus (length) of a vector.
[0180] Then at this time V Anormal + V bottom = [0, 0, 0]. V bottom represents the unit normal vector of the bottom surface. V A5 represents the normal vector of the bottom surface. This rule applies to any polyhedron with side faces.
[0181] S5: On the basis of initially determining the macroscopic geometric shape of the non - basic solid object, determine the face normal directions and relationships of each macroscopic surface, and extract the description parameters of the non - basic solid object according to these face normal directions and relationships.
[0182] For example, after preliminarily determining that the macro geometric shape of the non - basic body object is a cylinder, the surface data of the non - basic body object is divided into three main parts: the top circular surface, the bottom circular surface, and the side cylindrical surface. Edge detection technology and curvature analysis are used to identify the boundaries between different surfaces.
[0183] In the case of determining the relationship between the surface normal and the surface (which has been determined in the previous steps), the radius is calculated by measuring the diameter of the top or bottom circular surface, and the height is calculated from the distance between two parallel circular surfaces.
[0184] Determine the axial direction of the cylinder and measure it by aligning the centers of the circular surfaces.
[0185] Preferably, calculate the deviation to verify the perfection of the cylinder, and check the smoothness and consistency of the circumference. Use the least - squares method to fit the circumference to improve the accuracy.
[0186] By extracting the surface normal and relationships, and extracting descriptive parameters based on this information, an accurate description and analysis of the cylinder can be achieved. This not only supports the understanding and optimization of the three - dimensional model but also provides a solid data foundation for applications in related fields.
[0187] Embodiment 2
[0188] This embodiment is a further illustration of Embodiment 1, and the repeated content will not be elaborated.
[0189] Taking the cylinder as an example, the specific steps of the present invention are described.
[0190] The geometric features of the cylinder include:
[0191] (1) The triangular faces of the cylinder are mainly divided into three categories: the upper and lower end - face triangular faces, and the side - face triangular faces.
[0192] (2) The geometric relationships between the triangular faces.
[0193] The plane where the above - mentioned triangles are located is denoted as the triangular face, and all normal vectors are unit vectors.
[0194] a. The normal vectors of the triangular faces on the upper and lower end - faces are parallel to each other; for example, the face {p 24 , p 20 , p 19} is parallel to the face {p1, p3, p4};
[0195] b. The normal vectors of the triangular faces on the upper and lower end - faces are perpendicular to the normal vectors of the triangular faces on the side - face (within the error range); for example, the normal vector Vnor1 of the face {p1, p2, p 14} is perpendicular to the normal vector V 13 , p 17 , p 18} of the face {p nor1}.
[0196] c. The triangular face normal that has only a perpendicular or parallel relationship with the normal of triangular faces other than itself must be an end face triangular face. For example, the normal V of {p 13 ,p 17 ,p 18} nor1 is either perpendicular or parallel to the normals of all other faces, with no other angular relationships, so this face is an end face triangle;
[0197] (3) The number of vertices on the upper and lower end faces is even.
[0198] Based on the above geometric characteristics of the cylinder, identification is made by combining the vertex coordinates of non-basic objects and the geometric characteristics of triangular faces.
[0199] Take Figure 3 as an example. The end face of this cylinder is equally divided into 12 parts, and the set form it forms is:
[0200] The set P where all vertices are located ts ={p1, p2, ……, p 23 ,p 24}.
[0201] The set of all triangle indices is:
[0202] Trig = {[p1, p2, p 14 , [p2, p 14 ,p 15 , ……, [p 13 ,p 22 ,p 23 , [p 13 ,p 23 ,p 24}.
[0203] The distance error value d1 ∈ (0, 1 e-3 ).
[0204] The angular error value d2 (about 5 degrees, that is, when the angle is 85 degrees, it is approximately considered a perpendicular relationship).
[0205] The variance error value d3 ∈ (0, 0.01).
[0206] The normal is a three-dimensional vector pointing to the face orientation. For example, the normal of the triangle {p 13 ,p 23 ,p 24} may be {0, 0, -1}, that is, downward along the vertical direction.
[0207] Count the number of the same normals of all triangular faces and record it in the set V nor1 ={V 侧1, V 侧2 , ……V 上端1 , V 上端2 , ……V 下端1 , V 下端2 , ……V 下端10}, where the judgment basis for the same normal direction is that the difference in the unit normal distance is 0 (distance error value d1).
[0208] Filter out the triangles on the upper and lower end faces and their corresponding vertices. Calculate the angular error value d2 according to the perpendicular relationship between the normal directions of the end-face triangles and the side-face triangles. If it meets the judgment criteria, the corresponding vertex coordinates can be obtained through the triangle index.
[0209] Next, filter the vertices on the upper end face and the lower end face. If the normal directions are the same, these vertices belong to the same end-face triangle. If the normal directions are opposite, it means they belong to different end-face triangles. Extract the corresponding vertex coordinates in P ts through the triangle index.
[0210] If the number of vertices on the upper and lower end faces is inconsistent, or the number of end-face vertices is odd, the possibility that the geometric body is a cylinder can be excluded.
[0211] Through the above process, it can be determined whether the geometric body is a cylinder, and further calculate and extract the construction parameters of the cylinder, including the center coordinates, radius, and height of the cylinder.
[0212] d. Exclude duplicate vertices;
[0213] e. Whether the center coordinates already exist among the end-face vertices. Whether there is a vertex whose distances to other vertices are all equal; if so, this point is the center, and the distance from this point to any other point is the radius; in this case, the bottom surface triangulation form is as Figure 7 shown.
[0214] f. The center coordinates do not exist among the end-face vertices, the mean value of the end-face vertices = the center, and the variance of the distances from the center to each vertex is within the error value (less than 0.01), and the mean value of all distances is the radius.
[0215] Reconstruct the cylinder based on the radius r and the height h of the cylinder obtained from the above steps d~f.
[0216] It should be noted that the above specific embodiments are exemplary. Those skilled in the art can come up with various solutions inspired by the disclosure of the present invention, and these solutions also fall within the scope of the disclosure of the present invention and within the protection scope of the present invention. Those skilled in the art should understand that the description and drawings of the present invention are illustrative and do not constitute a limitation on the claims. The protection scope of the present invention is defined by the claims and their equivalents. The description of the present invention contains multiple inventive concepts. For example, "preferably" and "according to a preferred embodiment" indicate that the corresponding paragraphs disclose an independent concept. The applicant reserves the right to file divisional applications based on each inventive concept.
Claims
1. An intelligent recognition processor for three-dimensional models, characterized in that, The processor (100) is configured to: Identify a non - elementary object of a geometric body composed of at least one triangle; Calculate the set of vertex index information of each triangle of the non - elementary object; Analyze the face normal of each triangle according to the set of vertex index information and determine the non - coplanar non - intersecting, coplanar, parallel or intersecting relationships of the triangles, and count the relationships and quantities of all planes of the non - elementary object to form a face normal set; Extract the description parameters of the non - elementary object according to the face normal and relationships of the non - elementary object, so as to identify the 3D model.
2. The processor according to claim 1, wherein The processor (100) is further configured to: Before identifying the 3D model, compare the face normal set with the standard judgment set of the face normals of the standard geometric forms to preliminarily determine the macroscopic geometric form of the non - elementary object; On the basis of preliminarily determining the macroscopic geometric form of the non - elementary object, extract the description parameters of the non - elementary object according to the face normal and relationships of the non - elementary object.
3. The processor according to claim 1 or 2, wherein The processor (100) is further configured to: In the 3D model, identify the triangles of the vertices in all vertex coordinate sets, and use the sum of the normal vectors of all triangles where the vertex is located as the vertex normal vector of the vertex to form a vertex normal vector set; List the vertex indices for each triangle and record the vertex indices of all triangles; Aggregate the index information sets of all triangles into a vertex index information set.
4. The processor according to any one of claims 1 to 3, characterized in that, The processor (100) is further configured to: Determine the triangles spanned by each vertex according to the set of vertex index information of each triangle, and generate the face normal of the triangle according to the vertex normal vectors of the vertices of the spanned triangles, and analyze the face normals of each triangle to determine the non - coplanar non - intersecting, coplanar, parallel or intersecting relationships of the triangles.
5. The processor according to any one of claims 1 to 4, characterized in that, The processor (100) is further configured to: Select one of the face normals of several coplanar triangles as the face normal of the surface of the non - elementary object where these coplanar triangles are located; For a non - elementary object where there are two or more triangles with the same face normal, consider the triangles with the same face normal as parallel or coplanar triangles; Analyze the vertex coordinates of the parallel or coplanar triangles to determine several coplanar triangles; Compare the face normals of all triangles, collect the vertex coordinates of the triangles that meet the parallel condition, and form a set of coplanar triangles.
6. The processor according to any one of claims 1 to 5, characterized in that The processor (100) is further configured to: Determine the flat parts of the surface of the 3D model based on the coplanar relationship of the triangles to identify the basic surface features in the 3D model.
7. The processor according to any one of claims 1 to 6, characterized in that The processor (100) is further configured to: Predetermine each face of the standard geometric form, Determine the face normals of each face of the standard geometric form to form a typical information set of the standard geometric form; Use the typical information set of the face normals as the standard judgment set for determining the macroscopic geometric form of the non - elementary object.
8. A method for intelligent recognition of a three-dimensional model, characterized in that, The method includes: Identify a non - elementary object of a geometric body composed of at least one triangle; Calculate the set of vertex index information of each triangle of the non - elementary object; Analyze the face normal vectors of each triangle according to the set of vertex index information, determine the non-coplanar non-intersecting, coplanar, parallel or intersecting relationships of the triangles, and count the relationships and quantities of all planes of the non-basic solid object to form a face normal vector set; Extract the description parameters of the non-basic solid object according to the face normal vectors and relationships of the non-basic solid object, so as to identify the 3D model.
9. The method according to claim 8, wherein The method further includes: Before identifying the 3D model, compare the face normal vector set with the standard judgment set of face normal vectors of standard geometric shapes to preliminarily determine the macroscopic geometric shape of the non-basic solid object; On the basis of preliminarily determining the macroscopic geometric shape of the non-basic solid object, extract the description parameters of the non-basic solid object according to the face normal vectors and relationships of the non-basic solid object.
10. The method according to claim 8 or 9, characterized in that The step of calculating the set of vertex index information of each triangle of the non-basic solid object includes: In the 3D model, identify the triangles of the vertices in all vertex coordinate sets, and use the sum of the normal vectors of all triangles where the vertices are located as the vertex normal vector of the vertex to form a vertex normal vector set; List the vertex indices for each triangle and record the vertex indices of all triangles; Aggregate the index information of all triangles into a set of vertex index information.
Citation Information
Patent Citations
Method and device for using PDMS three-dimensional model in software
CN107391872A
A cutting and reconstructing algorithm of a triangular mesh three-dimensional model
CN109360260A
Accelerated rendering method of scene model
CN110910505A
STL file processing method for 3D printing
CN115221133A
Three-dimensional model aggregation method and device based on triangular patch, electronic equipment and medium
CN116580111A