Method, device and storage medium for quickly cutting triangles based on intersection points

By numbering and sorting the vertices and intersections of the triangle, the cut triangle is generated, which solves the problems of low computational efficiency and attribute preservation in the existing technology, and realizes fast and attribute-complete triangle cutting.

CN119762495BActive Publication Date: 2026-06-19众智软件股份有限公司

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
众智软件股份有限公司
Filing Date
2024-12-31
Publication Date
2026-06-19

AI Technical Summary

Technical Problem

Existing triangle cutting algorithms are computationally inefficient and cannot preserve additional attributes of triangle vertices, such as color and texture coordinates.

Method used

By numbering the three original vertices of the triangle and the possible intersections, obtaining the attributes of the intersections, constructing the PTS array, and arranging and removing empty intersections according to a preset order, the cut triangle is generated.

Benefits of technology

It realizes a fast triangle cutting process, simplifies the computational complexity, and preserves the attribute information of the triangle vertices.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119762495B_ABST
    Figure CN119762495B_ABST
Patent Text Reader

Abstract

This invention relates to a method, apparatus, and storage medium for rapidly cutting triangles based on intersection points, applied in the field of geometric data technology. The method includes: numbering the three original vertices of the triangle according to its original orientation; numbering the possible intersection points between the line and the triangle; sorting the vertices and intersection points according to a preset order; removing empty intersection points; and extracting the remaining intersection points and vertices in a specific order to construct the cut triangle. This application simplifies and speeds up the calculation by performing line segment-to-line segment intersections in two dimensions and line segment-to-surface intersections in three dimensions. It obtains the attributes of the three original vertices of the triangle, and based on the distance and attributes of any intersection point from the two original vertices on the same line, it obtains the attributes of the three intersection points respectively; and processes the newly generated triangle using an interpolation algorithm to calculate relevant attributes, ensuring the correctness of the attributes.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of geometric data technology, and more specifically to a method, apparatus, and storage medium for rapidly cutting triangles based on intersection points. Background Technology

[0002] Currently, triangle cutting algorithms are widely used in Boolean operations and intersection / cutting algorithms in geometric operations, so the efficiency of these algorithms has a significant impact on the overall geometric operations.

[0003] Existing triangle cutting algorithms generally use the method of finding the intersection of triangles and then re-dividing the triangles. This method is slow, requires complex mathematical operations, and has high time and space complexity. At the same time, it cannot preserve the additional attributes associated with the triangle vertices, such as color and texture coordinates. Summary of the Invention

[0004] In view of this, the purpose of the present invention is to provide a method, apparatus and storage medium for rapidly cutting triangles based on intersection points, so as to solve the problems of low computational efficiency and inability to retain the additional attributes associated with the triangle vertices in existing triangle cutting algorithms.

[0005] According to a first aspect of the present invention, a method for rapidly cutting triangles based on intersection points is provided, the method comprising:

[0006] Number the three original vertices of the triangle according to its original orientation; number the possible intersections of the line and the triangle.

[0007] Obtain the attributes of the three original vertices of the triangle. Based on the distance and attributes of any intersection point from the two original vertices on the same straight line, obtain the attributes of the three intersection points respectively.

[0008] The numbers of the three original vertices and the numbers of the three intersection points are arranged in a preset order to obtain the PTS array;

[0009] While maintaining the order of the elements in the PTS array, remove the intersections in the PTS array that have empty attributes;

[0010] Determine whether there are three remaining elements in the PTS array. If there are three, directly form a triangle from the points in the PTS array, save the resulting triangle and the attributes of the corresponding vertices in the cut triangle array, and trigger the end process.

[0011] If there are not three, then determine whether the second and last elements of the PTS array are both original vertices; if so, move the first element of the PTS array to the end of the PTS array; if not, keep the order of the elements in the PTS array unchanged.

[0012] The last element, the first element, and the second element in the PTS array are combined to form a triangle, and the resulting triangle and the attributes of the corresponding vertices are stored in the cut triangle array.

[0013] Delete the first element in the PTS array and repeat the triangle extraction process described above until the termination process is triggered.

[0014] Preferably,

[0015] The numbering of the three original vertices of the triangle includes:

[0016] The three original vertices of the triangle are numbered PT1, PT2 and PT3 according to their original orientation.

[0017] The step of numbering the possible intersection points of the line and the triangle includes:

[0018] The intersection point of the line with the edge formed by vertices PT1 and PT2 is numbered as intersection point PT12, the intersection point of the line with the edge formed by vertices PT2 and PT3 is numbered as intersection point PT23, and the intersection point of the line with the edge formed by vertices PT3 and PT1 is numbered as intersection point PT31.

[0019] Preferably,

[0020] The attributes include: texture coordinates or color.

[0021] Preferably,

[0022] The step of obtaining the attributes of the three intersection points based on the distance and attributes of any intersection point from the two original vertices on the same straight line includes:

[0023] Obtain the distances from the intersection point to the two original vertices on the same straight line, and obtain the distance between the two original vertices;

[0024] Based on the distances from the intersection point to the two original vertices on the same straight line, the distance between the two original vertices, and the texture coordinates or colors of the two original vertices, obtain the texture coordinates or colors of the intersection point.

[0025] Preferably,

[0026] If the attribute is color, then obtain the RGB channel values ​​of the three original vertices respectively;

[0027] When obtaining the color of any intersection point, the R-channel value of the intersection point is obtained based on the distance from the intersection point to the two original vertices on the same straight line, the distance between the two original vertices, and the R-channel values ​​of the two original vertices.

[0028] The G-channel value of the intersection point is obtained by taking the distances from the intersection point to the two original vertices on the same straight line, the distance between the two original vertices, and the G-channel values ​​of the two original vertices.

[0029] The B-channel value of the intersection point is obtained based on the distances from the intersection point to the two original vertices on the same straight line, the distance between the two original vertices, and the B-channel values ​​of the two original vertices.

[0030] The color of the intersection point can be determined based on the R channel value, G channel value, and B channel value of the intersection point.

[0031] Preferably,

[0032] The step of arranging the numbers of the three original vertices and the numbers of the three intersection points in a preset order to obtain the PTS array includes:

[0033] The preset order of the elements in the PTS array is: vertex PT1, intersection PT12, vertex PT2, intersection PT23, vertex PT3, intersection PT31.

[0034] According to a second aspect of the present invention, an apparatus for rapidly cutting triangles based on intersection points is provided, the apparatus comprising:

[0035] Numbering module: Used to number the three original vertices of the triangle according to its original orientation; and to number the possible intersections of the line and the triangle.

[0036] Attribute acquisition module: used to acquire the attributes of the three original vertices of the triangle. Based on the distance and attributes of any intersection point from the two original vertices on the same straight line, the attributes of the three intersection points are acquired respectively.

[0037] PTS array acquisition module: used to arrange the numbers of the three original vertices and the numbers of the three intersection points in a preset order to obtain the PTS array;

[0038] Empty intersection removal module: used to remove intersections in the PTS array that have empty attributes while maintaining the order of each element in the PTS array;

[0039] First judgment module: used to determine whether there are three remaining elements in the PTS array. If there are three, the points in the PTS array are directly combined into a triangle, and the obtained triangle and the attributes of the corresponding vertices are stored in the cut triangle array, triggering the end process.

[0040] The second judgment module is used to determine whether the second and last elements of the PTS array are both original vertices if there are not three; if so, the first element of the PTS array is moved to the end of the PTS array; if not, the order of the elements in the PTS array remains unchanged.

[0041] Extraction module: used to form a triangle from the last element, the first element, and the second element in the PTS array, and to store the resulting triangle and the attributes of the corresponding vertices in the cut triangle array;

[0042] Loop module: used to delete the first element in the PTS array and repeat the triangle extraction process described above until the end process is triggered.

[0043] According to a third aspect of the present invention, a storage medium is provided, the storage medium storing a computer program, which, when executed by a host controller, implements the steps of the above-described method.

[0044] The technical solutions provided by the embodiments of the present invention may include the following beneficial effects:

[0045] This application constructs a segmented triangle by numbering the three original vertices of the triangle according to its original orientation; numbering the possible intersections between the line and the triangle; sorting the vertices and intersections according to a preset order; removing empty intersections; and extracting the remaining intersections and vertices in a specific order. This application simplifies and speeds up the calculation by performing line segment intersections in two dimensions and line segment intersections with surfaces in three dimensions. It obtains the attributes of the three original vertices of the triangle and, based on the distance and attributes of any intersection point from the two original vertices on the same line, acquires the attributes of the three intersection points. An interpolation algorithm is then used to process the newly generated triangle, calculating relevant attributes to ensure their accuracy.

[0046] It should be understood that the above general description and the following detailed description are exemplary and explanatory only, and are not intended to limit the invention. Attached Figure Description

[0047] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with the invention and, together with the description, serve to explain the principles of the invention.

[0048] Figure 1 This is a flowchart illustrating a method for rapidly cutting triangles based on intersection points, according to an exemplary embodiment.

[0049] Figure 2This is a schematic diagram illustrating a possible situation where a straight line cuts a triangle, according to another exemplary embodiment.

[0050] Figure 3 This is a schematic diagram of a system for a rapid triangle-cutting device based on intersection points, according to another exemplary embodiment;

[0051] In the attached diagram: 1-Numbering module, 2-Attribute acquisition module, 3-PTS array acquisition module, 4-Empty intersection point removal module, 5-First judgment module, 6-Second judgment module, 7-Extraction module, 8-Loop module. Detailed Implementation

[0052] Exemplary embodiments will now be described in detail, examples of which are illustrated in the accompanying drawings. When the following description relates to the drawings, unless otherwise indicated, the same numerals in different drawings denote the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with the present invention. Rather, they are merely examples of apparatuses and methods consistent with some aspects of the invention as detailed in the appended claims.

[0053] Example 1

[0054] Figure 1 This is a flowchart illustrating a method for rapidly cutting triangles based on intersection points, according to an exemplary embodiment. Figure 1 As shown, the method includes:

[0055] S1, Number the three original vertices of the triangle according to its original orientation; Number the possible intersections of the line and the triangle;

[0056] S2, obtain the attributes of the three original vertices of the triangle, and obtain the attributes of the three intersection points respectively based on the distance and attributes of any intersection point from the two original vertices on the same straight line;

[0057] S3, arrange the numbers of the three original vertices and the numbers of the three intersection points in a preset order to obtain the PTS array;

[0058] S4, while maintaining the order of each element in the PTS array, remove the intersections in the PTS array that have empty attributes;

[0059] S5, determine whether the number of remaining elements in the PTS array is three. If it is three, directly form a triangle from the points in the PTS array, save the obtained triangle and the attributes of the corresponding vertices in the cut triangle array, and trigger the end process.

[0060] S6, if there are not three, determine whether the second and last elements of the PTS array are both original vertices; if so, move the first element of the PTS array to the end of the PTS array; if not, keep the order of the elements in the PTS array unchanged.

[0061] S7, combine the last element, the first element, and the second element in the PTS array to form a triangle, and store the resulting triangle and the attributes of the corresponding vertices in the cut triangle array;

[0062] S8, delete the first element in the PTS array, and repeat the triangle extraction process described above until the end process is triggered;

[0063] Understandably, based on the actual situation, the possible scenarios where a straight line cuts a triangle are as shown in the attached figure. Figure 2 As shown, according to the original orientation of the triangle, the three original vertices of the triangle are numbered PT1, PT2, and PT3. (Based on the attached...) Figure 2 In the scenario shown, there are three possible intersection points between the three sides of the triangle and the line: the line intersects any two sides of the triangle. These intersection points are numbered: the intersection point between the line and the side formed by PT1 and PT2 is numbered PT12, the intersection point between the line and the side formed by PT2 and PT3 is numbered PT23, and the intersection point between the line and the side formed by PT3 and PT1 is numbered PT31. Depending on whether the line cuts the triangle, either any two of these intersection points exist, or none exist. When calculating the intersection points, linear interpolation is performed based on the distance of the intersection point from the two relevant vertices, and the related attributes of the intersection point are also calculated. For example, if a vertex has an attribute (texture coordinates or color) w, the attribute value of PT1 is w1, the attribute value of PT2 is w2, and the attribute value of the intersection point PT12 is w1. 12 Then w 12 The calculation formula is:

[0064] w 12 =(PT12.distance(PT2)) / (PT2.distance(PT1)*w1+(PT12.distance(PT1))

[0065] / (PT2.distance(PT1)*w2

[0066] In the formula, PT12.distance(PT2) represents the distance from the intersection point PT12 to the original vertex PT2, (PT2.distance(PT1) represents the distance from the original vertex PT2 to the original vertex PT1, (PT12.distance(PT1)) represents the distance from the intersection point PT12 to the original vertex PT1, w1 represents the texture coordinates or color of the original vertex PT1, and w2 represents the texture coordinates or color of the original vertex PT2. It is worth noting that if the attribute is color, the RGB three-channel values ​​of the intersection point need to be calculated separately. When calculating the RGB three-channel values ​​of the intersection point separately, the RGB three-channel values ​​of the original vertex PT1 and the original vertex PT2 are also substituted into the formula respectively.

[0067] The points calculated in the previous step are grouped into an array in the following order: PT1, PT12, PT2, PT23, PT3, PT31. Let this array be PTS. While maintaining the order, remove the points that do not exist in PTS. As discussed above, a straight line cutting a triangle will only have two intersection points. Therefore, there will only be two of the three intersection points. For the existing intersection points, they must have a distance relationship with the two original vertices on the same straight line, so the attribute will not be empty. Therefore, the PTS array contains at least 3 points, which means there is no straight line cutting the triangle, and at most 5 points, which means there is a straight line cutting the triangle.

[0068] Based on the array PTS composed of vertices and intersections generated in the previous step, re-divide the triangle as follows:

[0069] If the PTS array has three elements, it means that there is no straight line to divide the triangle. In this case, the points in the PTS array are directly combined into a triangle, and the attributes of the corresponding vertices of the triangle are stored in the array of the cut triangles. The algorithm ends.

[0070] If the PTS array contains more than three elements, it indicates that a straight line cuts the triangle. Then, check the second and last points in the PTS array. If they are both original vertices, modify the order of the PTS array elements by removing the first point and placing it at the end. If the second and last points are both original vertices, the triangle generated in the next step will degenerate into a line segment; this step avoids this situation. Then, combine the last point, the first point, and the second point of the PTS array into a triangle and place it in the array of cut triangles. As previously ensured, the triangle formed by the last point, the first point, and the second point is not a side of the original triangle and can be used directly as a normal triangle. If either the second point or the last point is not an original vertex, directly combine the last point, the first point, and the second point of the PTS array into a triangle and place it in the array of cut triangles.

[0071] Delete the first point in the PTS array, and then repeat the above steps. After extracting the triangle formed by the last point, the first point, and the second point, the first point is no longer related to the triangle. Referring to the Ear Clipping Method in polygon triangulation, the first point can be deleted directly.

[0072] Example 2

[0073] Figure 3 This is a schematic diagram of a system for a rapid triangle-cutting device based on intersection points, according to another exemplary embodiment. The device includes:

[0074] Numbering module 1: Used to number the three original vertices of the triangle according to its original orientation; and to number the possible intersections of the line and the triangle.

[0075] Attribute acquisition module 2: used to acquire the attributes of the three original vertices of the triangle. Based on the distance and attributes of any intersection point from the two original vertices on the same straight line, the attributes of the three intersection points are acquired respectively.

[0076] PTS array acquisition module 3: used to arrange the numbers of the three original vertices and the numbers of the three intersection points in a preset order to obtain the PTS array;

[0077] Empty intersection removal module 4: used to remove intersections with empty attributes in the PTS array while maintaining the order of each element in the PTS array;

[0078] First judgment module 5: used to determine whether the number of remaining elements in the PTS array is three. If it is three, the points in the PTS array are directly combined into a triangle, and the obtained triangle and the attributes of the corresponding vertices are stored in the cut triangle array, triggering the end process.

[0079] Second judgment module 6: If there are not three, then determine whether the second and last elements in the PTS array are both original vertices; if so, move the first element in the PTS array to the end of the PTS array; if not, keep the order of the elements in the PTS array unchanged.

[0080] Extraction module 7: used to form a triangle from the last element, the first element, and the second element in the PTS array, and to store the resulting triangle and the attributes of the corresponding vertices in the cut triangle array;

[0081] Loop module 8: Used to delete the first element in the PTS array and repeat the triangle extraction process described above until the end process is triggered.

[0082] Example 3:

[0083] This embodiment provides a storage medium storing a computer program, which, when executed by a host controller, implements the various steps in the above method.

[0084] It is understood that the storage medium mentioned above can be a read-only memory, a hard disk, or an optical disk, etc.

[0085] It is understood that the same or similar parts in the above embodiments can be referred to each other, and the contents not described in detail in some embodiments can be referred to the same or similar contents in other embodiments.

[0086] It should be noted that in the description of this invention, the terms "first," "second," etc., are used for descriptive purposes only and should not be construed as indicating or implying relative importance. Furthermore, in the description of this invention, unless otherwise stated, "a plurality of" means at least two.

[0087] Any process or method description in the flowchart or otherwise herein can be understood as representing a module, segment, or portion of code comprising one or more executable instructions for implementing a particular logical function or process, and the scope of the preferred embodiments of the invention includes additional implementations in which functions may be performed not in the order shown or discussed, including substantially simultaneously or in reverse order depending on the functions involved, as will be understood by those skilled in the art to which embodiments of the invention pertain.

[0088] It should be understood that various parts of the present invention can be implemented in hardware, software, firmware, or a combination thereof. In the above embodiments, multiple steps or methods can be implemented in software or firmware stored in memory and executed by a suitable instruction execution system. For example, if implemented in hardware, as in another embodiment, it can be implemented using any one or a combination of the following techniques known in the art: discrete logic circuits having logic gates for implementing logical functions on data signals, application-specific integrated circuits (ASICs) having suitable combinational logic gates, programmable gate arrays (PGAs), field-programmable gate arrays (FPGAs), etc.

[0089] Those skilled in the art will understand that all or part of the steps of the methods in the above embodiments can be implemented by a program instructing related hardware. The program can be stored in a computer-readable storage medium, and when executed, the program includes one or a combination of the steps of the method embodiments.

[0090] Furthermore, the functional units in the various embodiments of the present invention can be integrated into a processing module, or each unit can exist physically separately, or two or more units can be integrated into a module. The integrated module can be implemented in hardware or as a software functional module. If the integrated module is implemented as a software functional module and sold or used as an independent product, it can also be stored in a computer-readable storage medium.

[0091] The storage media mentioned above can be read-only memory, disk, or optical disk, etc.

[0092] In the description of this specification, references to terms such as "one embodiment," "some embodiments," "example," "specific example," or "some examples," etc., indicate that a specific feature, structure, material, or characteristic described in connection with that embodiment or example is included in at least one embodiment or example of the invention. In this specification, the illustrative expressions of the above terms do not necessarily refer to the same embodiment or example. Furthermore, the specific features, structures, materials, or characteristics described may be combined in any suitable manner in one or more embodiments or examples.

[0093] Although embodiments of the present invention have been shown and described above, it is understood that the above embodiments are exemplary and should not be construed as limiting the present invention. Those skilled in the art can make changes, modifications, substitutions and variations to the above embodiments within the scope of the present invention.

Claims

1. A method for fast clipping of triangles based on intersection points, characterized in that, The method includes: Number the three original vertices of the triangle according to its original orientation; number the possible intersections of the line and the triangle. Obtain the attributes of the three original vertices of the triangle. Based on the distance and attributes of any intersection point from the two original vertices on the side of the triangle it belongs to, obtain the attributes of the three intersection points respectively. The step of obtaining the attributes of the three intersection points based on the distance and attributes of any intersection point from the two original vertices on the side of the triangle it belongs to includes: Get the distances from the intersection point to the two original vertices on the sides of the triangle it belongs to, and get the distance between the two original vertices; Based on the distances from the intersection point to the two original vertices on the sides of the triangle it belongs to, the distance between the two original vertices, and the texture coordinates or colors of the two original vertices, obtain the texture coordinates or colors of the intersection point. If the attribute is color, then obtain the RGB channel values ​​of the three original vertices respectively; When obtaining the color of any intersection point, the R-channel value of the intersection point is obtained based on the distance from the intersection point to the two original vertices on the sides of the triangle it belongs to, the distance between the two original vertices, and the R-channel values ​​of the two original vertices. The G-channel value of the intersection point is obtained by taking the distances from the intersection point to the two original vertices on the sides of the triangle it belongs to, the distance between the two original vertices, and the G-channel values ​​of the two original vertices. The B-channel value of the intersection point is obtained by taking the distances from the intersection point to the two original vertices on the sides of the triangle it belongs to, the distance between the two original vertices, and the B-channel values ​​of the two original vertices. The color of the intersection point can be obtained based on the R channel value, G channel value, and B channel value of the intersection point. The numbers of the three original vertices and the numbers of the three intersection points are arranged in a preset order to obtain the PTS array; The step of arranging the numbers of the three original vertices and the numbers of the three intersection points in a preset order to obtain the PTS array includes: The preset order of the elements in the PTS array is: vertex PT1, intersection PT12, vertex PT2, intersection PT23, vertex PT3, intersection PT31; While maintaining the order of the elements in the PTS array, remove the intersections in the PTS array that have empty attributes; Determine whether there are three remaining elements in the PTS array. If there are three, directly form a triangle from the points in the PTS array, save the resulting triangle and the attributes of the corresponding vertices in the cut triangle array, and trigger the end process. If there are not three, then determine whether the second and last elements of the PTS array are both original vertices; if so, move the first element of the PTS array to the end of the PTS array; if not, keep the order of the elements in the PTS array unchanged. The last element, the first element, and the second element in the PTS array are combined to form a triangle, and the resulting triangle and the attributes of the corresponding vertices are stored in the cut triangle array. Delete the first element in the PTS array and repeat the triangle extraction process described above until the termination process is triggered.

2. The method according to claim 1, characterized in that, The numbering of the three original vertices of the triangle includes: The three original vertices of the triangle are numbered PT1, PT2 and PT3 according to their original orientation. The step of numbering the possible intersection points of the line and the triangle includes: The intersection point of the line with the edge formed by vertices PT1 and PT2 is numbered as intersection point PT12, the intersection point of the line with the edge formed by vertices PT2 and PT3 is numbered as intersection point PT23, and the intersection point of the line with the edge formed by vertices PT3 and PT1 is numbered as intersection point PT31.

3. The method according to claim 2, characterized in that, The attributes include: texture coordinates or color.

4. An apparatus for fast clipping of triangles based on intersection points, characterized in that, The device includes: Numbering module: Used to number the three original vertices of the triangle according to its original orientation; and to number the possible intersections of the line and the triangle. Attribute acquisition module: used to acquire the attributes of the three original vertices of the triangle. Based on the distance and attributes of any intersection point from the two original vertices on the side of the triangle it belongs to, the attributes of the three intersection points are acquired respectively. The step of obtaining the attributes of the three intersection points based on the distance and attributes of any intersection point from the two original vertices on the side of the triangle it belongs to includes: Get the distances from the intersection point to the two original vertices on the sides of the triangle it belongs to, and get the distance between the two original vertices; Based on the distances from the intersection point to the two original vertices on the sides of the triangle it belongs to, the distance between the two original vertices, and the texture coordinates or colors of the two original vertices, obtain the texture coordinates or colors of the intersection point. If the attribute is color, then obtain the RGB channel values ​​of the three original vertices respectively; When obtaining the color of any intersection point, the R-channel value of the intersection point is obtained based on the distance from the intersection point to the two original vertices on the sides of the triangle it belongs to, the distance between the two original vertices, and the R-channel values ​​of the two original vertices. The G-channel value of the intersection point is obtained by taking the distances from the intersection point to the two original vertices on the sides of the triangle it belongs to, the distance between the two original vertices, and the G-channel values ​​of the two original vertices. The B-channel value of the intersection point is obtained by taking the distances from the intersection point to the two original vertices on the sides of the triangle it belongs to, the distance between the two original vertices, and the B-channel values ​​of the two original vertices. The color of the intersection point can be obtained based on the R channel value, G channel value, and B channel value of the intersection point. PTS array acquisition module: used to arrange the numbers of the three original vertices and the numbers of the three intersection points in a preset order to obtain the PTS array; The step of arranging the numbers of the three original vertices and the numbers of the three intersection points in a preset order to obtain the PTS array includes: The preset order of the elements in the PTS array is: vertex PT1, intersection PT12, vertex PT2, intersection PT23, vertex PT3, intersection PT31; Empty intersection removal module: used to remove intersections in the PTS array that have empty attributes while maintaining the order of each element in the PTS array; First judgment module: used to determine whether there are three remaining elements in the PTS array. If there are three, the points in the PTS array are directly combined into a triangle, and the obtained triangle and the attributes of the corresponding vertices are stored in the cut triangle array, triggering the end process. The second judgment module is used to determine whether the second and last elements of the PTS array are both original vertices if there are not three; if so, the first element of the PTS array is moved to the end of the PTS array; if not, the order of the elements in the PTS array remains unchanged. Extraction module: used to form a triangle from the last element, the first element, and the second element in the PTS array, and to store the resulting triangle and the attributes of the corresponding vertices in the cut triangle array; Loop module: used to delete the first element in the PTS array and repeat the triangle extraction process described above until the end process is triggered.

5. A storage medium, characterized in that, The storage medium stores a computer program, which, when executed by the main controller, implements the various steps of the method for rapidly cutting triangles based on intersection points as described in any one of claims 1-3.