Curve intersection point determination method executed by electronic equipment, equipment and storage medium

By constructing the root node of the BVH structure for initial intersection detection and intersection existence detection, the problems of low efficiency and numerical instability in NURBS curve intersection calculation are solved, achieving efficient and accurate intersection solution, and improving the utilization of computing resources and the quality of model construction.

CN121997571APending Publication Date: 2026-05-08ACAD OF MATHEMATICS & SYSTEMS SCIENCE - CHINESE ACAD OF SCI
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
ACAD OF MATHEMATICS & SYSTEMS SCIENCE - CHINESE ACAD OF SCI
Filing Date
2025-12-31
Publication Date
2026-05-08

AI Technical Summary

Technical Problem

Existing technologies are inefficient, numerically unstable, and unable to verify intersections when calculating NURBS curve intersections, resulting in wasted computing resources and low computational efficiency.

Method used

By constructing the root node of the BVH structure, initial intersection detection and intersection point existence detection are performed. The intersection point is solved by combining the curve endpoint information. The BVH structure is used to quickly eliminate impossible intersection regions and accurately determine the intersection point.

Benefits of technology

It improves the efficiency of solving curve intersection points, saves computing resources, achieves accurate model construction and accurate determination of geometric relationships, and enhances the overall performance of computer graphics and engineering applications.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121997571A_ABST
    Figure CN121997571A_ABST
Patent Text Reader

Abstract

The invention provides a curve intersection point determination method executed by electronic equipment, equipment and a storage medium, and the method comprises the steps: responding to a control instruction generated by a controller, and constructing a first root node and a second root node according to the respective curve parameter information of a first curve and a second curve through an arithmetic unit; performing initial intersection detection on the first curve and the second curve according to the first root node and the second root node through an arithmetic unit to obtain an initial detection result; performing intersection point existence detection on the first curve and the second curve through an arithmetic unit based on the first curve end point and the second curve end point of the first curve and the second curve to obtain an intersection point detection result; performing intersection point solving operation on the first curve and the second curve based on the first root node and the second root node according to the respective curve parameter information of the first curve and the second curve through an arithmetic unit to obtain at least one intersection point; and displaying the at least one intersection point through the display unit.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to the fields of computer graphics and computer curve intersection technology, and more specifically, to a method, apparatus, and storage medium for determining curve intersection points performed by an electronic device. Background Technology

[0002] With the rapid development of technologies such as computer-aided design, computer graphics, robot path planning, medical imaging, and Geographic Information Systems (GIS), the intersection of two-dimensional spline curves has gradually become a key technology for refined design and accurate calculation. In many practical applications, the representation of complex shapes and boundaries often requires the use of continuous, smooth curves, and spline curves have become a widely used standard due to their flexible surface representation capabilities. However, in geometric calculations, especially in scenarios involving polygons and multiple surfaces, accurately solving for the intersection points of spline curves faces many challenges. These intersection points are crucial for accurate model construction, determination of geometric relationships, and data visualization. Calculating the intersection points of parametric curves and surfaces is a fundamental challenge in the fields of CAGD (Computer-Aided Geometric Design) and geometric modeling. Solving for the intersection points between parametric curves is not only a key step in this problem but also an important prerequisite for achieving high-precision geometric calculations and complex shape analysis. The accuracy and efficiency of this process directly affect the overall performance of subsequent geometric modeling, shape optimization, and engineering applications, thus possessing significant research value at both the theoretical and applied levels.

[0003] In spline curves, Bézier curves, defined by Bernstein basis functions and control points, have become the fundamental curve representation method due to their parametric simplicity and geometric intuitiveness. B-splines, as a generalized form of Bézier curves, enhance local support through node vectors and piecewise polynomial structures, while also possessing global smoothness and flexible shape control capabilities, making them widely used in geometric modeling, animation, and interpolation calculations. NURBS (Non-Uniform Rational B-Splines) further extends B-splines to the rational domain, introducing control point weight parameters to achieve fine-tuning of curve shapes and possessing the ability to accurately describe conic sections and complex freeform surfaces. Therefore, it has become the standard geometric representation tool for CAD (Computer-Aided Design) / CAGD and engineering design.

[0004] In realizing the concept disclosed herein, the inventors discovered that the relevant methods suffer from problems such as low computational efficiency, numerical instability, and inability to verify intersections in the calculation of NURBS curve intersections, thus wasting computational resources. Summary of the Invention

[0005] In view of this, the present disclosure provides a method, apparatus, device, medium, and program product for determining curve intersection points performed by an electronic device.

[0006] One aspect of this disclosure provides a method for determining curve intersection points executed by an electronic device, comprising: responding to a control command generated by a controller, constructing a first root node and a second root node respectively based on curve parameter information of a first curve and a second curve using an arithmetic unit, and storing the first root node and the second root node in a register; wherein the curve parameter information includes control point information, node vector information, a first endpoint of the curve and a second endpoint of the curve, the first root node representing a bounding box enclosing the first curve, and the second root node representing a bounding box enclosing the second curve; performing an initial intersection detection on the first curve and the second curve based on the first root node and the second root node using the arithmetic unit, obtaining an initial detection result, and storing the initial detection result in a register; wherein the initial detection result represents the first root node and the second curve... The probability of intersection between the first curve and the second curve; if the initial detection result indicates that the first curve and the second curve may intersect, the arithmetic unit performs an intersection existence detection on the first curve and the second curve based on the first endpoint and the second endpoint of each curve, and obtains an intersection detection result; wherein, the intersection detection result indicates the existence of an intersection between the first curve and the second curve; if the intersection detection result indicates that there is an intersection between the first curve and the second curve, the arithmetic unit performs an intersection solving operation on the first curve and the second curve based on the curve parameter information of each curve, based on the first root node and the second root node, to obtain at least one intersection point, and stores at least one intersection point in a register; at least one intersection point is displayed through a display unit.

[0007] Another aspect of this disclosure provides an electronic device comprising: one or more processors; and a memory for storing one or more programs, wherein, when the one or more programs are executed by the one or more processors, the one or more processors cause the one or more processors to perform the method as described above.

[0008] Another aspect of this disclosure provides a computer-readable storage medium storing computer-executable instructions that, when executed, are used to implement the method described above.

[0009] Another aspect of this disclosure provides a computer program product including computer-executable instructions that, when executed, are used to implement the method described above.

[0010] According to embodiments of this disclosure, by constructing a first root node and a second root node based on the curve parameter information of the first curve and the second curve respectively, and performing initial intersection detection on the first curve and the second curve based on the first root node and the second root node, it is possible to efficiently and quickly determine whether the first curve and the second curve may intersect, thereby avoiding unnecessary calculations and significantly saving computational resources and improving the efficiency of curve intersection solving. Furthermore, if the initial detection result indicates that the first curve and the second curve may intersect, performing intersection point existence detection on the first curve and the second curve can effectively narrow the calculation range, improve the intersection point solving efficiency, and achieve a sufficiency judgment of the intersection point existence. Even further, if the intersection point detection result indicates that there is an intersection between the first curve and the second curve, performing intersection point solving operations on the first curve and the second curve based on the first root node and the second root node can accurately determine the intersection point between the first curve and the second curve, facilitating accurate model construction, geometric relationship determination, and data visualization. Because the BVH structure allows for coarse to fine curve intersection solving, it enables the rapid elimination of regions where two curves cannot intersect. This avoids the need for comprehensive and detailed intersection judgment and solving of two complete curves, making full use of computational resources such as the arithmetic unit and registers. As a result, it achieves the technical effect of further saving computational resources and improving the processing efficiency of curve intersection solving. Attached Figure Description

[0011] The above and other objects, features and advantages of this disclosure will become clearer from the following description of embodiments with reference to the accompanying drawings, in which:

[0012] Figure 1 A flowchart illustrating a method for determining curve intersection points performed by an electronic device according to an embodiment of the present disclosure is shown schematically.

[0013] Figure 2A A curve and a pair of closely supporting straight lines of the curve are schematically shown according to an embodiment of the present disclosure;

[0014] Figure 2B The illustration schematically shows a first curve, a second curve, a first curve support strip, and a second curve support strip according to one embodiment of the present disclosure;

[0015] Figure 3 The illustration shows a schematic diagram of the determination of the existence and uniqueness of intersection points according to an embodiment of the present disclosure;

[0016] Figure 4 Exemplary examples illustrate singular intersection scenarios according to some embodiments of this disclosure;

[0017] Figure 5This illustration schematically shows a method for determining curve intersection points according to an embodiment of the present disclosure;

[0018] Figure 6 A schematic flowchart of a method for determining curve intersection points according to an embodiment of the present disclosure is shown; and

[0019] Figure 7 A block diagram of an electronic device suitable for implementing a curve intersection determination method according to an embodiment of the present disclosure is shown schematically. Detailed Implementation

[0020] The embodiments of the present disclosure will now be described with reference to the accompanying drawings. However, it should be understood that these descriptions are exemplary only and are not intended to limit the scope of the disclosure. In the following detailed description, numerous specific details are set forth to provide a thorough understanding of the embodiments of the present disclosure for ease of explanation. However, it will be apparent that one or more embodiments may be practiced without these specific details. Furthermore, descriptions of well-known structures and techniques are omitted in the following description to avoid unnecessarily obscuring the concepts of the present disclosure.

[0021] The terminology used herein is for the purpose of describing particular embodiments only and is not intended to limit this disclosure. The terms “comprising,” “including,” etc., as used herein indicate the presence of the stated features, steps, operations, and / or components, but do not exclude the presence or addition of one or more other features, steps, operations, or components.

[0022] All terms used herein (including technical and scientific terms) have the meanings commonly understood by those skilled in the art, unless otherwise defined. It should be noted that the terms used herein are to be interpreted in a manner consistent with the context of this specification, and not in an idealized or overly rigid way.

[0023] When using expressions such as "at least one of A, B and C", they should generally be interpreted in accordance with the meaning that is commonly understood by those skilled in the art (e.g., "a system having at least one of A, B and C" should include, but is not limited to, a system having A alone, a system having B alone, a system having C alone, a system having A and B, a system having A and C, a system having B and C, and / or a system having A, B and C, etc.).

[0024] In the embodiments disclosed herein, the collection, updating, analysis, processing, use, transmission, provision, disclosure, and storage of data (e.g., including but not limited to user personal information) comply with relevant laws and regulations, are used for legitimate purposes, and do not violate public order and good morals. In particular, necessary measures have been taken to prevent unauthorized access to user personal information data and to safeguard user personal information security and network security.

[0025] In the embodiments disclosed herein, user authorization or consent is obtained before acquiring or collecting user personal information.

[0026] The curve intersection determination method, apparatus, device, medium, and program products executed by electronic devices provided in this disclosure can be applied to technical fields such as computer graphics, computer-aided design, and path planning. Exemplarily, they can be applied to at least one of the following: engineering design, architectural design, computer animation, facial recognition, engineering simulation, and path planning. For example, in computer animation, character modeling requires the precise stitching of multiple surfaces, such as the body and limbs, which typically involves solving for the intersections between boundary curves. This disclosure can be used to detect whether these boundary curves intersect and solve for the intersections, ensuring seamless model stitching and improving animation quality. For example, in the field of facial recognition, the construction of a 3D facial model requires the precise stitching of multiple surfaces, such as the areas around the eyes, nose, and mouth, which typically involves solving for the intersections between boundary curves. This disclosure can be used to detect whether these boundary curves intersect and solve for the intersections, thereby ensuring the accurate construction of the facial model and improving the accuracy of facial recognition. For example, in a path planning scenario, when planning paths for multiple robots, path intersections may occur. The embodiments disclosed herein can be used to detect whether two path curves intersect and solve for the intersection point, so as to optimize the robot's motion path, avoid collisions, and improve the efficiency and safety of path planning.

[0027] In computer graphics and CAD / CAGD technologies, 2D NURBS curves are widely used due to their powerful geometric representation capabilities. NURBS curves can accurately represent various shapes, from simple straight lines and arcs to complex freeform curves. For example, in 3D modeling, 2D NURBS curves are often used to define the contours and cross-sections of objects; in path planning, they are often used to generate smooth motion paths. However, calculating the intersection of two NURBS curves is a complex and critical problem. Accurate and efficient intersection calculation is essential for the overall performance of subsequent geometric modeling, shape optimization, and engineering applications.

[0028] Currently, in some studies on spline curve intersection, the problem of finding intersections between curves is somewhat equivalent to the problem of finding roots of polynomials, leading some researchers to study these two types of problems simultaneously. The Bézier clipping algorithm, first proposed by Sederberg, can robustly and quickly compute the intersection points of two Bézier curves, as well as their tangent points. The convergence speed of the Bézier clipping algorithm was proven to be second-order in [reference needed]. Since then, various improved algorithms based on the Bézier clipping algorithm have been developed to address the challenges of polynomial root finding and curve intersection. Barto Jüttler and Liu et al. generated quadratic and cubic polynomials respectively based on order reduction to enclose the polynomial graph within a valid interval for computing all roots of univariate polynomial equations. Furthermore, cubic clipping has been proven to have at least second-order convergence speed and has been used to compute the intersection points of two Bézier curves. Nevertheless, Bézier clipping may still require significant computational resources when computing higher-order curves, resulting in an overall slowdown. North proposed a geometric interval algorithm that can tightly bind curves or contain points on curves. However, this method is highly sensitive to initial values ​​and computational errors; even a small perturbation to the initial value can drastically change the calculation results. Yuan made further progress on the work of his predecessors, developing a cubic hybrid pruning method with fourth-order convergence speed for finding roots of univariate polynomial equations. This method was subsequently used by Wu to solve curve intersection problems. They proposed a method called cubic hybrid pruning, which improves the efficiency of the algorithm by selecting moving control points to obtain better cubic polynomial bounds. They proved that for lateral intersection points, the two strip intervals have second-order and fourth-order convergence rates. However, due to its complex mathematical operations and the selection of control points, it is actually inefficient in simple cases.

[0029] The aforementioned scholars' work all focused on algorithms for two two-dimensional Bézier curves, without extending them to other spline curves. Shao and Yu investigated the identification of all intersection points between Bézier curves and B-spline curves. Their algorithm combined Bézier clipping, the Krawczyk method, and symbolic computation based on Sturm's theorem. This comprehensive approach demonstrated high efficiency and accuracy in solving algebraic curve intersection problems. However, Sturm's theorem has limitations in handling NURBS curve intersection problems and cannot be directly applied. Current engineering practices often employ piecewise Bézier strategies to achieve NURBS intersection, but this method has inherent limitations in terms of computational efficiency and accuracy, highlighting the urgent need for theoretical research on intersection directly addressing the parametric characteristics of NURBS curves.

[0030] To at least partially address the technical problems existing in related technologies, this disclosure provides a method, apparatus, device, medium, and program product for determining curve intersection points executed by an electronic device. The method for determining curve intersection points executed by the electronic device includes: in response to a control command generated by a controller, constructing a first root node and a second root node respectively based on curve parameter information of a first curve and a second curve using an arithmetic unit, and storing the first and second root nodes in registers; wherein the curve parameter information includes control point information, node vector information, a first endpoint of the curve, and a second endpoint of the curve, the first root node representing a bounding box enclosing the first curve, and the second root node representing a bounding box enclosing the second curve; and performing an initial intersection detection on the first curve and the second curve based on the first root node and the second root node using the arithmetic unit, obtaining an initial detection result, and storing the initial detection result in registers; wherein the initial detection result represents the intersection of the first curve and the second curve. The intersection probability is determined; if the initial detection result indicates that the first curve and the second curve may intersect, the arithmetic unit performs an intersection existence detection on the first curve and the second curve based on the first endpoint and the second endpoint of each curve, and obtains an intersection detection result; wherein, the intersection detection result indicates the existence of an intersection between the first curve and the second curve; if the intersection detection result indicates that there is an intersection between the first curve and the second curve, the arithmetic unit performs an intersection solving operation on the first curve and the second curve based on the curve parameter information of each curve, based on the first root node and the second root node, to obtain at least one intersection point, and stores at least one intersection point in a register; at least one intersection point is displayed through the display unit.

[0031] Figure 1 A flowchart illustrating a curve intersection determination method performed by an electronic device according to an embodiment of the present disclosure is shown schematically.

[0032] like Figure 1 As shown, the method includes operations S110~S150.

[0033] In operation S110, in response to the control command generated by the controller, the arithmetic unit constructs the first root node and the second root node respectively according to the curve parameter information of the first curve and the second curve, and stores the first root node and the second root node in the register; wherein, the curve parameter information includes control point information, node vector information, the first endpoint of the curve and the second endpoint of the curve, the first root node represents the bounding box surrounding the first curve, and the second root node represents the bounding box surrounding the second curve.

[0034] In operation S120, the arithmetic unit performs an initial intersection detection on the first curve and the second curve based on the first root node and the second root node, obtains the initial detection result, and stores the initial detection result in a register; wherein, the initial detection result represents the intersection probability of the first curve and the second curve.

[0035] In operation S130, if the initial detection result indicates that the first curve and the second curve may intersect, the arithmetic unit performs an intersection existence detection on the first curve and the second curve based on the first endpoint and the second endpoint of each curve, and obtains an intersection detection result; wherein, the intersection detection result indicates the existence of an intersection between the first curve and the second curve.

[0036] In operation S240, if the intersection detection result indicates that there is an intersection between the first curve and the second curve, the arithmetic unit performs an intersection solving operation on the first curve and the second curve based on the curve parameter information of the first curve and the second curve, according to the first root node and the second root node, to obtain at least one intersection point and store at least one intersection point in a register.

[0037] In operation S250, at least one intersection point is displayed via the display unit.

[0038] According to embodiments of this disclosure, a curve can be understood as the geometry of a two-dimensional curve, such as a trimmed non-uniform rational B-spline (NURBS) curve. A NURBS curve is a two-dimensional parametric curve with arbitrary order, arbitrary weights, and non-uniform node vectors.

[0039] According to one embodiment of this disclosure, the first curve and the second curve can exist in a two-dimensional planar space. For example, the first curve and the second curve can be used to describe shapes or paths on a two-dimensional plane. Taking a planar design scenario as an example, the first curve and the second curve can be used to represent the outline of a geometric shape, and solving for the intersection of the first curve and the second curve can be used to precisely cut and splice geometric shapes. Taking a path planning scenario as an example, the first curve and the second curve can be used to represent the motion path of a vehicle / robot, etc., and solving for the intersection of the first curve and the second curve can be used to detect path conflicts or optimize paths.

[0040] According to another embodiment of this disclosure, the first curve and the second curve can exist in a three-dimensional space. For example, the first curve and the second curve can be used to describe a shape or contour in the three-dimensional space. Taking a three-dimensional modeling scene as an example, the first curve and the second curve can be used to represent the contour or cross-section of a geometry, and solving for the intersection of the first curve and the second curve can be used to accurately define the shape and boundary of the three-dimensional geometry.

[0041] According to embodiments of this disclosure, curve parameter information can be used to precisely define and describe the shape of a curve using mathematical formulas and parameterization methods, forming the basis for constructing and manipulating complex curves. Curve parameter information can include parameters in a parameter space and parameters in a model space. The model space can be understood as the two-dimensional / three-dimensional (or higher-dimensional) space in which geometric objects actually exist. In the model space, objects have actual geometric dimensions and positions. The parameter space can be understood as an abstract space used to define geometric objects in a parameterized form. In the parameter space, each point is represented by a pair of parameters (typically u and v), which are mapped to points in the model space through parameterized equations. The parameter space determines the parameterized representation of the curve, while the model space describes the actual spatial shape of the curve.

[0042] According to embodiments of this disclosure, curve parameter information may include control point information, node vector information, a first endpoint of the curve, and a second endpoint of the curve. The control point information is a parameter in the model space, defining the position of the curve in two or three dimensions. The node vector information is a parameter in the parameter space, defining the distribution of the curve in the parameter space. The first endpoint and the second endpoint of the curve are parameters in the model space; the first endpoint defines the starting position of the curve, and the second endpoint defines the ending position of the curve.

[0043] According to embodiments of this application, control points are key points defining the shape of a NURBS curve. These points influence the curve's geometry through basis functions (such as B-spline basis functions). Control point information can include, for example, the distribution and location of the control points. By adjusting the control points, the local or global shape of the curve can be modified. A knot vector is a non-decreasing sequence of real numbers used to define the parameterized range of the curve. Knot vector information can include, for example, the length of the knot vector. The length of the knot vector is related to the number and order of the control points, typically satisfying the formula: Knot vector length = Number of control points + Order. The first endpoint and the second endpoint of the curve can define the start and end positions of the curve, respectively. The first endpoint typically corresponds to the minimum parameter value in the parameter space, and the second endpoint typically corresponds to the maximum parameter value in the parameter space.

[0044] According to embodiments of this disclosure, in response to control instructions generated by the controller, the arithmetic unit can construct a first root node and a second root node respectively based on the curve parameter information of the first curve and the second curve, and store the first root node and the second root node in a register.

[0045] According to embodiments of this disclosure, the root node can be understood as the top-level node of a BVH (Bounding Volume Hierarchy) structure. A BVH structure is a data structure used to optimize spatial queries and geometric calculations. In a BVH structure, the root node typically represents the outermost bounding volume of the entire dataset. Specifically, in this embodiment, the root node can represent the bounding box that encloses the entire curve; for example, the first root node represents the bounding box that encloses the entire first curve, and the second root node represents the bounding box that encloses the entire second curve. During the construction of the BVH structure, geometric objects can be recursively divided into smaller regions, and a bounding volume can be generated for each region, forming a hierarchical tree structure. For example, the parameter space corresponding to a curve entity can be divided into multiple regions, with each region generating a bounding volume, forming a hierarchical BVH structure. The maximum number of subdivision layers can be understood as the maximum number of subdivision layers allowed when constructing, for example, a BVH structure. The art can set a reasonable maximum number of subdivision layers according to actual needs or application scenarios, for example, it can be set to 8 layers. For example, the subdivision layers of the first root node and the second root node can both be set to 1.

[0046] According to embodiments of this disclosure, a bounding box can be understood as a simple geometric structure used to define the position and extent of an object in space. A bounding box can be used to enclose complex geometric objects (e.g., two-dimensional curves). The basic idea is to approximate complex geometric objects with a bounding box that is slightly larger and has simpler characteristics. By utilizing bounding boxes, the spatial extent of complex geometries can be quickly estimated, aiding in tasks such as collision detection, intersection / self-intersection detection, accelerated rendering, and spatial segmentation. Exemplarily, the bounding box can be selected as an AABB (Axis-Aligned Bounding Box), a Sphere, an Oriented Bounding Box (OBB), etc., without limitation.

[0047] According to embodiments of this disclosure, the arithmetic unit can perform initial intersection detection on the first curve and the second curve based on the first root node and the second root node, obtain an initial detection result, and store the initial detection result in a register. The initial detection result characterizes the probability of intersection between the first curve and the second curve.

[0048] As an example, the initial detection result could indicate that the first curve and the second curve cannot intersect. Based on control instructions generated by the controller, the display unit can be instructed to show the conclusion that "the first curve and the second curve cannot intersect."

[0049] As another example, the initial detection result can indicate that the first curve and the second curve may intersect. Using the arithmetic unit, based on the first and second endpoints of each curve, an intersection existence detection is performed on the first and second curves to obtain an intersection detection result. If the intersection detection result indicates that an intersection exists between the first and second curves, the arithmetic unit can perform an intersection solving operation on the first and second curves based on their respective curve parameter information, using the first and second root nodes, to obtain at least one intersection point, which is then stored in a register. Furthermore, based on control instructions generated by the controller, the display unit can be instructed to display at least one intersection point.

[0050] According to embodiments of this application, by constructing a first root node and a second root node based on the curve parameter information of the first curve and the second curve respectively, and performing initial intersection detection on the first curve and the second curve based on the first root node and the second root node, it is possible to efficiently and quickly determine whether the first curve and the second curve may intersect, thereby avoiding unnecessary calculations and significantly saving computational resources and improving the efficiency of curve intersection solving. Furthermore, if the initial detection result indicates that the first curve and the second curve may intersect, performing intersection point existence detection on the first curve and the second curve can effectively narrow the computational range, improve the intersection point solving efficiency, and achieve a sufficiency judgment of the intersection point existence. Even further, if the intersection point detection result indicates that there is an intersection between the first curve and the second curve, performing intersection point solving operations on the first curve and the second curve based on the first root node and the second root node can accurately determine the intersection point between the first curve and the second curve, facilitating accurate model construction, geometric relationship determination, and data visualization. Because the BVH structure allows for coarse to fine curve intersection solving, it enables the rapid elimination of regions where two curves cannot intersect. This avoids the need for comprehensive and detailed intersection judgment and solving of two complete curves, making full use of computational resources such as the arithmetic unit and registers. As a result, it achieves the technical effect of further saving computational resources and improving the processing efficiency of curve intersection solving.

[0051] In one embodiment, such as in a path planning scenario, when paths need to be planned for multiple robots, path intersections may occur. The method provided in this embodiment can detect whether two path curves intersect and solve for the intersection point between the two path curves, so as to optimize the robot's motion path, avoid collisions between robots, and improve the efficiency and safety of path planning.

[0052] In another embodiment, such as in a 3D modeling scenario, when designing complex mechanical parts or architectural structures, it is necessary to accurately define and stitch together multiple surfaces, which typically involves solving for the intersection of two boundary curves. The method provided in this embodiment can detect whether the aforementioned two boundary curves intersect and solve for the intersection points between the two boundary curves, thereby ensuring the accurate construction of the model and the accurate determination of geometric relationships, which is beneficial to improving modeling efficiency and quality.

[0053] According to embodiments of this application, this method can be applied to at least one of the following: engineering design, architectural design, computer animation, facial recognition, engineering simulation, and path planning, where the first curve and the second curve respectively characterize the drawing design of the first geometric figure and the second geometric figure.

[0054] For example, this method can be applied to scenarios involving the modeling of various types of complex surface entities, such as mechanical component surface entities, architectural component surface entities, animation objects, and human body part surface entities, or to path planning scenarios involving robots, drones, and automobiles.

[0055] According to embodiments of this application, curves can be used to characterize the drafting design of geometric objects, which can be understood as curved entities. Parametric curves can be understood as parameterized curves established based on various types of curved entities. Exemplarily, the aforementioned parametric curves can be selected as non-uniform rational B-spline curves (NURBS curves), rational or polynomial B-spline curves (B-spline curves), rational or polynomial Bezier curves, etc., without limitation.

[0056] As an example, the various types of curve entities mentioned above may include: motion path curve entities for robots, motion path curve entities for drones, and motion path curve entities for autonomous vehicles.

[0057] As another example, the aforementioned types of curve entities may include, for example, boundary curve entities of mechanical components, boundary curve entities of architectural components, boundary curve entities of animated objects, boundary curve entities of human body parts, etc. Exemplarily, boundary curve entities of mechanical components may include, but are not limited to, the solid modeling boundary curves of aircraft fuselage exterior parts, automobile body exterior parts, train body exterior parts, ship hull exterior parts, etc. In other words, this method can be applied to 2D engineering drawing design and / or solid modeling scenarios in the design field of mechanical equipment such as aircraft, automobiles, trains, and ships.

[0058] According to embodiments of this disclosure, constructing a first root node and a second root node based on the curve parameter information of the first curve and the second curve respectively includes: determining the effective range of the parameter domain of the first curve and the second curve respectively based on the control point information and node vector information of the first curve and the second curve respectively; and constructing the first root node and the second root node respectively based on the effective range of the parameter domain of the first curve and the second curve respectively.

[0059] According to embodiments of this disclosure, a parameter domain can be understood as an abstract space (parameter space) used to describe and manipulate parameterized surfaces or curves, representing the range of parameters of a parameterized geometric object (such as a surface or curve). Through parametric mapping, complex geometric shapes can be defined in the parameter domain, while supporting efficient computation and flexible manipulation. Exemplarily, each point in the parameter domain can be transformed into a point in the model space through parametric mapping, thereby defining the shape and position of the curve or surface.

[0060] As an example, the valid range of the parameter domain of the first curve can be determined using the arithmetic unit based on the control point information and node vector information of the first curve. The bounding box enclosing the entire first curve can be calculated using the arithmetic unit based on the valid range of the parameter domain of the first curve, and this bounding box can be stored as the first root node in the BVH structure. Similarly, the valid range of the parameter domain of the second curve can be determined using the arithmetic unit based on the control point information and node vector information of the second curve. The bounding box enclosing the entire second curve can be calculated using the arithmetic unit based on the valid range of the parameter domain of the second curve, and this bounding box can be stored as the second root node in the BVH structure.

[0061] According to an embodiment of this disclosure, the initial intersection detection of the first curve and the second curve based on the first root node and the second root node to obtain the initial detection result includes: determining the root node pair based on the first root node and the second root node; and performing the initial intersection detection of the root node pair based on the separating axis theorem to obtain the initial detection result.

[0062] According to embodiments of this disclosure, the Separating Axis Theorem (SAT) is a geometric algorithm used to determine whether two convex polygons or polyhedra intersect. Its core principle is: if there exists a straight line (separating axis) such that the projections of two convex polygons onto this line do not overlap, then the two convex polygons definitely do not intersect.

[0063] According to one embodiment of this disclosure, a first root node and a second root node can be paired to form a root node pair. Based on the separation axis theorem, the projections of the first and second root nodes onto multiple separation axes can be calculated to determine whether they overlap, thus obtaining an initial detection result. If the initial detection result indicates that the projections do not overlap on a certain separation axis, it can be quickly determined that the first curve and the second curve cannot intersect. If the initial detection result indicates that the projections overlap on all separation axes, it indicates that the first curve and the second curve may intersect.

[0064] According to embodiments of this disclosure, two two-dimensional NURBS curves can be used as input. Oriented bounding boxes (OBBs) can be constructed for the two input NURBS curves (i.e., the first curve and the second curve), and the bounding boxes of the first curve and the second curve can be used as the first root node and the second root node, respectively, to establish a corresponding bounding box hierarchy. It is possible to quickly determine whether the two curves might intersect based on the first and second root nodes, thus avoiding unnecessary calculations and significantly saving computational resources and improving the efficiency of curve intersection solving.

[0065] According to embodiments of this disclosure, based on the first endpoint and the second endpoint of each of the first and second curves, an intersection existence detection is performed on the first and second curves to obtain the intersection detection result. This includes: connecting the first endpoint and the second endpoint of the first curve to obtain a first target line segment, and projecting points on the first curve onto the first target line segment to obtain a first projected line segment; connecting the first endpoint and the second endpoint of the second curve to obtain a second target line segment, and projecting points on the second curve onto the second target line segment to obtain a second projected line segment; determining the monotonicity of the parameters of the first and second projected line segments respectively; and based on the first target line segment... The process involves: constructing a first curve support zone for the first curve; constructing a second curve support zone for the second curve based on the second target line segment; determining the first positional relationship between the first endpoint and the second endpoint of the first curve and the second curve support zone; determining the second positional relationship between the first endpoint and the second endpoint of the second curve and the first curve support zone; and determining the intersection detection result based on the intersection existence condition, the parameter monotonicity of the first and second projected line segments, the first positional relationship between the first endpoint and the second endpoint of the first curve, and the second positional relationship between the first endpoint and the second endpoint of the second curve.

[0066] According to one embodiment of this disclosure, when it is determined that the first curve and the second curve may intersect, the existence of the intersection point can be detected based on the first endpoint and the second endpoint of each curve, thereby achieving a sufficiency judgment on the existence of the intersection point.

[0067] In response, this disclosure proposes a set of geometrically sufficient conditions (which can be understood as intersection existence conditions) to determine whether an intersection exists within a region, mainly including:

[0068] 1. Curve monotonicity check:

[0069] To determine whether two NURBS curves satisfy parametric monotonicity along the line connecting their respective endpoints, specifically, connect the two endpoints of the curves, project the points on the curves onto the line connecting the endpoints, and check whether the projected points on the line connecting the endpoints exhibit parametric monotonicity.

[0070] If the curve is monotonic in this direction, then there is a basis for further judgment.

[0071] 2. Construct a tight support band:

[0072] For each curve, using the line connecting the endpoints of the curve as a reference, construct a pair of tightly supporting straight lines parallel to the line connecting the endpoints, so that the support band formed by the two support lines can surround the entire curve and the width of the band is minimized.

[0073] 3. Heterolateral assessment:

[0074] For each curve, determine whether the two endpoints of the curve fall on the opposite side of the support strip;

[0075] If the two curves are on opposite sides of each other's support bands and their support bands overlap geometrically, then the existence of an intersection point in that area can be confirmed.

[0076] Figure 2A The illustration schematically shows a curve and a pair of closely supporting straight lines of the curve according to an embodiment of the present disclosure.

[0077] like Figure 2A As shown, the curve The two endpoints are points. and points , can connect points and points , obtain line segment As a curve Connect the endpoints. This can be done with a line segment. Based on the line segment, construct a pair with the line segment. Parallel, tightly supporting straight lines, so that the two supporting lines (such as...) Figure 2A In and The support strip formed by the support strip can surround the entire curve, and the strip width is minimal.

[0078] Figure 2BThe illustration schematically shows a first curve, a second curve, a first curve support strip, and a second curve support strip according to one embodiment of the present disclosure.

[0079] In one embodiment, such as Figure 2B As shown, the first curve The first endpoint and the second endpoint of the curve are points respectively. and points , can connect points and points The first target line segment is obtained. As the first curve Connect the endpoints of the curve. This will allow you to draw the first curve. Projecting the point on the line onto the first target line segment Above, the first projected line segment is obtained ( Figure 2B (Not shown in the image). Second curve. The first endpoint and the second endpoint of the curve are points respectively. and points , can connect points and points The second target line segment is obtained. As the second curve Connect the endpoints. This will allow you to draw the second curve. Projecting the point on the line onto the second target line segment Above, the second projected line segment is obtained ( Figure 2B (Not shown in the image).

[0080] Based on the intersection existence condition, the monotonicity of the parameters of the first and second projected line segments can be determined separately. For example, if both the first and second projected line segments exhibit monotonicity, then a basis for further judgment is established. Conversely, if either the first or second projected line segment does not exhibit monotonicity, then the conditions for further judgment are not met, i.e., the intersection existence condition is not satisfied, and the intersection detection result indicates that there is no intersection between the first and second curves.

[0081] like Figure 2B As shown, the first curve First target line segment The second curve exhibits monotonicity in its direction. Second target line segment The direction of is monotonic. For the first curve... The first target line segment can be used. Based on the first target line segment, construct a pair of lines. Parallel, tightly supporting straight lines, so that the two supporting lines (such as...) Figure 2B In and The support strip (first curve support strip) formed by the support line can surround the entire first curve. And the line width is the smallest. For the second curve The second target line segment can be used. Based on the baseline, construct a pair of line segments corresponding to the second target line segment. Parallel, tightly supporting straight lines, so that the two supporting lines (such as...) Figure 2B In and The support strip formed by the second curve (i.e., the second curve support strip) should be able to surround the entire second curve. And the line width is the smallest.

[0082] Based on the condition of intersection existence, for each curve, the positional relationship between the two endpoints of the curve and the support zone of another curve (referred to as the opposing support zone) can be determined, and it can be determined whether the two endpoints of the curve fall on the opposite side of the opposing support zone. If the two curves are on opposite sides of the opposing support zone and their support zones overlap geometrically, the existence of an intersection point in the region can be verified.

[0083] like Figure 2B As shown, for the first curve The first endpoint of the curve and the second endpoint of the curve Located at the support line Both sides of the curve, and the first endpoint of the curve. and the second endpoint of the curve They are also located at the support lines. The first curve can be determined from both sides. The two endpoints are located on the second curve The opposite side of the support strip. For the second curve. The first endpoint of the curve and the second endpoint of the curve Located at the support line Both sides of the curve, and the first endpoint of the curve. and the second endpoint of the curve They are also located at the support lines. The second curve can be determined from both sides. The two endpoints are located on the first curve The opposite side of the support strip. And, Figure 2B The first curve The support line and the second curve Geometric overlap occurs between the support strips ( Figure 2B (The shaded area) is sufficient to verify the first curve. Second curve If there is an intersection point within the shaded area, it means that the intersection point existence condition is met. The intersection point detection result is characterized as the existence of an intersection point between the first curve and the second curve.

[0084] According to embodiments of this disclosure, the curve parameter information further includes the number of subdivision layers. When the intersection detection result indicates that there is an intersection between the first curve and the second curve, based on the curve parameter information of the first curve and the second curve respectively, an intersection solving operation is performed on the first curve and the second curve based on the first root node and the second root node to obtain at least one intersection point. This includes: determining the number of intersection points between the first curve and the second curve based on the tangent cones of the first curve and the second curve respectively; when the number of intersection points is equal to 1, performing a first intersection solving operation on the first curve and the second curve based on the Newton iteration method and the curve parameter information of the first curve and the second curve respectively to obtain an intersection point; when the number of intersection points is greater than or equal to 2, iteratively performing a second intersection solving operation on the first curve and the second curve based on the subdivision layers of the first surface and the second surface respectively, based on the curve parameter information of the first curve and the second curve respectively, based on the first root node and the second root node, until the termination condition is met, to obtain at least one intersection point.

[0085] According to embodiments of this disclosure, when the intersection detection result indicates that there is an intersection between the first curve and the second curve, the uniqueness of the intersection between the first curve and the second curve can also be determined.

[0086] In response, this publication innovatively introduces Hodograph theory and proposes a method for determining the coincidence of tangent cones, used to determine whether the intersection points within a specified region are unique, as follows:

[0087] 1. Construct tangential cones T1 and T2 for the two curves within the target region (e.g., the root node pair);

[0088] 2. If T1∩T2=∅ (the two tangential cones do not intersect), then it can be verified that there is at most one intersection point in the target region. The theoretical basis for this judgment is the following mathematical theorem: If the tangential cones of two curves do not intersect in a certain region, then there is at most one intersection point in that region.

[0089] 3. If the two tangential cones intersect, further subdivide the target region and repeat the process of curve intersection determination → intersection point existence determination → intersection point uniqueness determination until the uniqueness condition is met. The curve intersection determination can be understood as the initial intersection detection mentioned above.

[0090] According to embodiments of this disclosure, a tangent cone can be understood as a geometric structure used to describe the tangent direction at a point on a curve. For NURBS curves, a tangent cone can be defined as the set of all possible tangent directions at a point. Specifically, a tangent cone can be a conical region centered at that point, whose axis coincides with the tangent direction of the curve at that point.

[0091] Understandably, a tangent cone is a geometric structure describing the direction of the tangent at a point on a curve, representing the range of variation in the tangent direction. If the tangent cones of two curves do not intersect within a certain region, it means that the local directions of the two curves are completely different within that region, and therefore there is at most one intersection point. Thus, determining the uniqueness of the intersection point of two curves helps to quickly eliminate regions where multiple intersection points are impossible in curve intersection problems, improving computational efficiency.

[0092] Figure 3 The diagram illustrates the determination of the existence and uniqueness of intersection points according to an embodiment of the present disclosure.

[0093] like Figure 3 As shown, when two curves may intersect, we can determine whether the two NURBS curves satisfy parametric monotonicity along the direction of the line connecting their respective endpoints. If both curves satisfy parametric monotonicity, we can construct tight support bands for each curve. For each curve, we determine whether its two endpoints fall on opposite sides of the other's support band. If the two curves are on opposite sides of each other's support bands, and their support bands geometrically overlap, we can confirm the existence of an intersection point within that region. If the two curves intersect, we can construct tangent cones for each curve. If the tangent cones of the two curves do not intersect within a certain region, then there is at most one intersection point within that region.

[0094] According to embodiments of this disclosure, the uniqueness of the intersection points between the first curve and the second curve can be determined based on the tangent cones of the first curve and the second curve, thereby determining the number of intersection points between the first curve and the second curve.

[0095] As an example, if the number of intersection points between the first curve and the second curve is determined to be 1, the first intersection point can be obtained by performing the first intersection point calculation operation on the first curve and the second curve based on the curve parameter information of the first curve and the second curve respectively, according to Newton's iteration method.

[0096] Newton's iteration method uses the parameters (u0, v0) as initial values ​​and constructs the function F(u, v) = C1(u) - C2(v) to find the zeros and obtain the precise intersection point coordinates. Newton's iteration method is a numerical method for solving nonlinear equations; its basic idea is to iteratively approximate the root of the equation. The parameters (u0, v0) are the starting point of Newton's iteration method, C1(u) is the parametric equation of the first curve, u is the parameter of the first curve, C2(v) is the parametric equation of the second curve, and v is the parameter of the second curve. F(u, v) represents the difference between the first and second curves at the parameters (u, v). When F(u, v) = 0, it indicates that the first and second curves intersect at the parameters (u, v), thus obtaining the intersection point. For example, u0 can be chosen as the midpoint value of the parameter domain of the first curve, and v0 can be chosen as the midpoint value of the parameter domain of the second curve.

[0097] As another example, when the number of intersection points is greater than or equal to 2, the second intersection point solution operation can be iteratively performed on the first curve and the second curve based on the subdivision level of the first surface and the second surface, according to the curve parameter information of the first curve and the second curve, based on the first root node and the second root node, until the termination condition is met, and at least one intersection point is obtained.

[0098] For example, the second intersection point solution operation may include: subdividing the first curve based on the first root node, subdividing the second curve based on the second root node, and repeating the process of curve intersection determination → intersection point existence determination → intersection point uniqueness determination for the subdivided regions until the termination condition is met, and at least one intersection point is obtained.

[0099] As an example, the solution method for the second intersection point can include the following cases:

[0100] 1. If the subregion satisfies the existence and uniqueness of intersection points, then Newton's iteration method is used to solve the parameter space (u, v), which quickly converges to the unique intersection point;

[0101] 2. If the subregion only satisfies the existence of intersections but not the uniqueness of intersections, then the region is subdivided (BVH subdivision), and then the uniqueness is judged one by one;

[0102] 3. For singular cases such as intersection of tangent points, cusps, self-intersections, and intersections of endpoints, specialized numerical methods are introduced for supplementary processing.

[0103] According to embodiments of this disclosure, when the number of intersection points is greater than or equal to 2, based on the subdivision levels of the first surface and the second surface, and based on the curve parameter information of the first curve and the second curve, the second intersection point solution operation is iteratively performed on the first curve and the second curve based on the first root node and the second root node until the termination condition is met, obtaining at least one intersection point includes: subdividing the first root node and the first curve by an arithmetic unit to obtain multiple first leaf nodes and multiple first sub-curves corresponding one-to-one with the multiple first leaf nodes; and subdividing the second node and the second curve by an arithmetic unit to obtain multiple second leaf nodes and multiple second sub-curves corresponding one-to-one with the multiple second leaf nodes; wherein, the first leaf node represents the area surrounding the first sub-curve. The bounding box of the line, the sub-curve parameter information of the first sub-curve and the second sub-curve both include the number of subdivision layers, control point information, node vector information, the first endpoint of the curve, and the second endpoint of the curve; if the number of subdivision layers of the first sub-curve and the second sub-curve does not reach the preset maximum number of subdivision layers, the following steps are iteratively executed on the first sub-curve and the second sub-curve by the arithmetic unit until the number of subdivision layers of the first sub-curve and the second sub-curve reaches the preset maximum number of subdivision layers: Based on the subdivision layers of multiple first sub-curves and multiple second sub-curves, multiple candidate leaf node pairs of the i-th layer are determined; where 2≤i<N, i is the number of subdivision layers, N is the preset maximum number of subdivision layers, and i and N are positive integers; each candidate leaf node pair of the i-th layer includes the i-th layer with the same number of subdivision layers. The i-th layer consists of a first-level leaf node and an i-th-level second-level candidate leaf node. The first-level candidate leaf node corresponds to the first sub-curve of the i-th layer, and the second-level candidate leaf node corresponds to the second sub-curve of the i-th layer. For each i-th-level candidate leaf node pair, an initial intersection test is performed on the first and second sub-curves of the i-th layer based on the first and second-level candidate leaf nodes, resulting in an initial sub-detection result for the i-th layer. This initial sub-detection result represents the intersection probability of the first and second sub-curves of the i-th layer. Based on the initial sub-detection results of the i-th layer for each candidate leaf node pair, multiple target leaf node pairs of the i-th layer that satisfy the intersection point solution conditions are selected, and these multiple target leaf nodes are... The node pairs and the corresponding first target leaf node, second target leaf node, first sub-curve, and second sub-curve of each i-th layer target leaf node pair are stored in registers. Each i-th layer target leaf node pair includes a first target leaf node and a second target leaf node, with the first target leaf node corresponding to the first sub-curve and the second target leaf node corresponding to the second sub-curve. For each i-th layer target leaf node pair, based on the first and second endpoints of the first and second sub-curves, an intersection existence detection is performed on the first and second sub-curves to obtain the i-th layer intersection sub-detection result.The intersection detection result of layer i represents the existence of an intersection between the first sub-curve and the second sub-curve of layer i. For each target leaf node pair in layer i, if the intersection detection result of layer i indicates that there is an intersection between the first sub-curve and the second sub-curve of layer i, the number of intersections between the first sub-curve and the second sub-curve of layer i is determined based on the tangent cones of the first and second sub-curves of layer i. If the number of intersections is equal to 1, the sub-curve parameter information of the first and second sub-curves of layer i is used to determine the intersections. The first sub-curve of layer i and the second sub-curve of layer i are subjected to the first intersection point calculation operation to obtain the intersection point. If the number of intersection points is greater than or equal to 2, the first target leaf node of layer i and its corresponding first sub-curve of layer i are subdivided to obtain multiple first leaf nodes of layer i+1 and multiple first sub-curves of layer i+1 corresponding to the multiple first leaf nodes of layer i+1. The second target leaf node of layer i and its corresponding second sub-curve of layer i are subdivided to obtain multiple second leaf nodes of layer i+1 and multiple second sub-curves of layer i+1 corresponding to the multiple second leaf nodes of layer i+1.

[0104] According to one embodiment of this disclosure, when the number of intersection points between the first curve and the second curve is greater than or equal to 2, the first root node and the first curve (with a subdivision level of 1) can be subdivided by an arithmetic unit (subdivision level + 1) to obtain multiple first leaf nodes and multiple first sub-curves corresponding to the multiple first leaf nodes. Similarly, the second root node and the second curve (with a subdivision level of 1) can be subdivided by an arithmetic unit (subdivision level + 1) to obtain multiple second leaf nodes and multiple second sub-curves corresponding to the multiple second leaf nodes.

[0105] The first leaf node represents the bounding box that surrounds the first sub-curve. The sub-curve parameter information of the first and second sub-curves includes the number of subdivision layers, control point information, node vector information, the first endpoint of the curve, and the second endpoint of the curve.

[0106] If the number of subdivision layers of the first sub-curve and the second sub-curve has not reached the preset maximum number of subdivision layers, the arithmetic unit iteratively executes the following steps on the first sub-curve and the second sub-curve until the number of subdivision layers of the first sub-curve and the second sub-curve reaches the preset maximum number of subdivision layers:

[0107] 1. Identify at least one candidate leaf node pair, and perform curve intersection on the two subcurves of the candidate leaf node pair:

[0108] a. Based on the number of subdivision layers of multiple first sub-curves and multiple second sub-curves, determine multiple candidate leaf node pairs for the i-th layer. Where 2 ≤ i < N, i is the number of subdivision layers, N is the preset maximum number of subdivision layers, and i and N are positive integers. Each candidate leaf node pair for the i-th layer includes a first leaf node and a second candidate leaf node for the i-th layer, both with the same number of subdivision layers. The first candidate leaf node for the i-th layer corresponds to the first sub-curve of the i-th layer, and the second candidate leaf node for the i-th layer corresponds to the second sub-curve of the i-th layer.

[0109] b. For each candidate leaf node pair in layer i, perform initial intersection detection on the first and second sub-curves of layer i based on the first and second candidate leaf nodes of layer i, and obtain the initial sub-detection result of layer i. The initial sub-detection result of layer i represents the intersection probability of the first and second sub-curves of layer i.

[0110] 2. Select multiple pairs of target leaf nodes in the i-th layer whose initial sub-detection results intersect, and perform an intersection existence determination on the two sub-curves of these target leaf node pairs:

[0111] a. Based on the initial sub-detection results of multiple candidate leaf nodes at layer i, select multiple target leaf node pairs at layer i that satisfy the intersection solution conditions. Each target leaf node pair at layer i includes a first target leaf node and a second target leaf node at layer i. The first target leaf node at layer i corresponds to the first sub-curve at layer i, and the second target leaf node at layer i corresponds to the second sub-curve at layer i.

[0112] b. For each pair of target leaf nodes in layer i, based on the first and second endpoints of the first and second sub-curves in layer i, perform an intersection existence detection on the first and second sub-curves in layer i to obtain the intersection detection result in layer i. The intersection detection result in layer i characterizes the existence of an intersection between the first and second sub-curves in layer i.

[0113] 3. Select multiple pairs of target leaf nodes in the i-th layer whose intersection points are represented by the sub-detection results, and perform intersection uniqueness determination on the two sub-curves of these target leaf node pairs:

[0114] a. Filter out the intersection point detection results of the i-th layer to represent the first sub-curve and the second sub-curve of the i-th layer that have intersection points. Based on the tangent cones of the first sub-curve and the second sub-curve of the i-th layer, determine the number of intersection points between the first sub-curve and the second sub-curve of the i-th layer.

[0115] b. When the number of intersection points is equal to 1, based on the Newton-Raphson iteration method, according to the sub-curve parameter information of the first sub-curve of the i-th layer and the second sub-curve of the i-th layer, the first intersection point solution operation is performed on the first sub-curve of the i-th layer and the second sub-curve of the i-th layer to obtain the intersection point.

[0116] c. When the number of intersection points is greater than or equal to 2, subdivide the first target leaf node of the i-th layer and the corresponding first sub-curve of the i-th layer to obtain multiple first leaf nodes of the (i+1)-th layer and multiple first sub-curves of the (i+1)-th layer that correspond one-to-one with the multiple first leaf nodes of the (i+1)-th layer; subdivide the second target leaf node of the i-th layer and the corresponding second sub-curve of the i-th layer to obtain multiple second leaf nodes of the (i+1)-th layer and multiple second sub-curves of the (i+1)-th layer that correspond one-to-one with the multiple second leaf nodes of the (i+1)-th layer.

[0117] According to embodiments of this disclosure, when the number of intersection points is greater than or equal to 2, based on the respective subdivision levels of the first surface and the second surface, and based on the respective curve parameter information of the first curve and the second curve, the second intersection point solution operation is iteratively performed on the first curve and the second curve based on the first root node and the second root node until the termination condition is met, obtaining at least one intersection point further includes, for the target leaf node pair of the Nth layer where the subdivision level reaches the preset maximum subdivision level: when it is determined that the number of intersection points between the first sub-curve of the Nth layer and the second sub-curve of the Nth layer is greater than or equal to 2, based on the respective sub-curve parameters of the first sub-curve of the Nth layer and the second sub-curve of the Nth layer, the second intersection point solution operation is iteratively performed on the first curve and the second curve based on the respective sub-curve parameters of the first sub-curve of the Nth layer and the second sub-curve of the Nth layer. Based on the line parameter information, determine the singular cases of the intersection point between the first sub-curve of the Nth layer and the second sub-curve of the Nth layer; if the singular case is a tangent intersection, perform a first singularity solution operation on the first sub-curve of the Nth layer and the second sub-curve of the Nth layer according to their respective sub-curve parameter information to obtain at least one intersection point; if the singular case is at least one of a cusp, self-intersection, or endpoint intersection, perform a second singularity solution operation on the first sub-curve of the Nth layer and the second sub-curve of the Nth layer according to their respective sub-curve parameter information to obtain at least one intersection point.

[0118] According to one embodiment of this disclosure, when the number of subdivision layers reaches the maximum number of subdivision layers N, if the number of intersection points between the first sub-curve of the Nth layer and the second sub-curve of the Nth layer is greater than or equal to 2, it can be determined that there is a singular intersection situation. The singular situation of the intersection point between the first sub-curve of the Nth layer and the second sub-curve of the Nth layer can be determined based on the sub-curve parameter information of each of the first sub-curve of the Nth layer and the second sub-curve of the Nth layer.

[0119] Figure 4 Singular intersection scenarios according to some embodiments of this disclosure are illustrated.

[0120] exist Figure 4In the diagram, (a) shows the singular case of tangent intersection, (b) and (c) show the singular case of self-intersection, and (d) shows the singular case of endpoint intersection.

[0121] For example, in the case of a singularity where the tangent point intersects, based on the sub-curve parameter information of the first sub-curve of the Nth layer and the second sub-curve of the Nth layer, a first singularity solution operation is performed on the first sub-curve of the Nth layer and the second sub-curve of the Nth layer to obtain at least one intersection point.

[0122] For example, the following system of constraint equations can be constructed:

[0123]

[0124] The intersection parameters (u, v) can be solved simultaneously, and the results can be further verified to see if they satisfy the second-order tangent constraint.

[0125] For example, in the case where the singularity is at least one of cusp, self-intersection, or endpoint intersection, a second singularity solution operation is performed on the first sub-curve of the Nth layer and the second sub-curve of the Nth layer based on the sub-curve parameter information of each of the first sub-curve of the Nth layer and the second sub-curve of the Nth layer to obtain at least one intersection.

[0126] For example, in the case of cusps, the trend of the first derivative of the Hodograph can be used to determine the cusps. For example, in the case of self-intersection, the position of the self-intersection point parameter can be checked to see if it matches the obtained intersection point. For example, in the case of endpoint intersection, it can be verified whether the start and end points of the curves fall on another curve.

[0127] Figure 5 The illustration shows a schematic diagram of a method for determining curve intersections according to an embodiment of the present disclosure.

[0128] like Figure 5 As shown, firstly, a first curve and a second curve can be input. A first root node and a second root node can be constructed for the first curve and the second curve respectively. Based on the first root node and the second root node, an intersection determination is performed on the first curve and the second curve. If it is determined that the first curve and the second curve may intersect, an intersection point existence determination can be performed on the first curve and the second curve. If it is determined that the first curve and the second curve have an intersection point, an intersection point existence determination can be performed on the first curve and the second curve.

[0129] like Figure 5 As shown, the first curve and the second curve satisfy the existence of an intersection point, but not the uniqueness of the intersection point. Subdivision operations can be performed on the first curve and the second curve separately until the uniqueness of the intersection point is satisfied.

[0130] like Figure 5As shown, for each sub-region with a unique intersection point, the intersection point of the corresponding two sub-curves can be solved.

[0131] Figure 6 The schematic diagram illustrates a flowchart of a method for determining curve intersections according to an embodiment of the present disclosure.

[0132] like Figure 6 As shown, in step S601, two NURBS curves can be input, namely the first curve and the second curve. In step S602, the OBB (i.e., the first root node and the second root node) can be determined based on the first curve and the second curve respectively, and the BVH structure of the first curve and the second curve can be constructed. In step S603, the curve intersection determination can be performed on the two curves to determine whether the OBBs intersect.

[0133] If OBBs do not intersect, step S604 can be executed to output the conclusion that the two curves do not intersect based on the display unit. If OBBs intersect, step S605 can be executed to further determine the existence of the intersection point for the two curves and whether the two curves meet the conditions for the existence of the intersection point.

[0134] If the two curves meet the condition for the existence of an intersection point, step S606 can be further executed to determine the uniqueness of the intersection point for the two curves.

[0135] If the two curves meet the condition of unique intersection point, step S607 can be executed to calculate the intersection point based on Newton's iteration method, and step S608 can be executed to output the intersection point based on the display unit. If the two curves do not meet the condition of unique intersection point, step S609 can be executed to determine whether the two curves have reached the maximum depth (i.e., the maximum number of subdivision layers).

[0136] If the maximum depth has been reached, proceed to step S610 to check if a singularity has been detected. If a singularity has been detected, determine the intersection point according to the solution operation corresponding to the singularity, and proceed to step S608 to output the intersection point based on the display unit. If the maximum depth has not been reached, proceed to step S612 to subdivide the two curves separately, and return to step S602.

[0137] If the two curves do not meet the condition for the existence of an intersection point, then proceed to step S609.

[0138] This disclosure provides a method for calculating the intersection points of two-dimensional NURBS curves executed by an electronic device (hereinafter referred to as "this method"), relating to the fields of computational geometry and computer-aided design, and applicable to CAD design. This method addresses the problem of calculating the intersection points of high-order, complex NURBS curves, proposing an efficient algorithm that does not require curve segmentation and possesses intersection point verification capabilities. The method includes the following steps: First, a directed bounding box hierarchical structure is constructed for the two NURBS curves to exclude regions where intersection is impossible; second, within the region to be determined (i.e., the region where intersection may exist), the existence of intersection points is sufficiently determined through support line construction, curve monotonicity analysis, and endpoint cross-side judgment; then, based on Hodograph theory, a tangent cone is constructed to determine the uniqueness of intersection points within the region to be determined; within the region where intersection points exist and are unique, the precise intersection point coordinates are solved using the Newton-Raphson iteration method; finally, for special cases such as tangent points, cusps, self-intersections, and endpoint intersections, constraint equations and numerical error judgment are introduced for supplementary processing. This method can directly solve for intersection points without converting NURBS curves into Bezier segments. It has significant advantages such as strong verification, high computational efficiency, and adaptability to complex geometry, and is suitable for fields such as CAD modeling, path planning, and engineering simulation.

[0139] According to the embodiments of this disclosure, in view of the problems of low computational efficiency, numerical instability, and inability to verify intersections in the related technologies for processing NURBS curve intersection calculations, this method mainly includes the following technical innovations:

[0140] 1. Intersection Existence Criterion: This method proposes a sufficient condition based on the construction of geometric support lines to determine whether two NURBS curves intersect within a certain region. By constructing a tightly supported parallel line band parallel to the direction of the line connecting the curve endpoints, and combining the monotonicity of the curves and geometric projection analysis, the existence of the intersection point is accurately determined, thereby effectively reducing the calculation range and improving the algorithm efficiency.

[0141] 2. Uniqueness Criterion for Intersection Points Based on Hodograph Theory: Using Hodograph theory, this method constructs the tangent cone of the curves and proposes a sufficient condition to determine whether the intersection points within a specified region are unique. When the tangent cones of two curves do not coincide within this region, the uniqueness of the intersection point can be verified, providing a theoretical guarantee for subsequent numerical solutions.

[0142] 3. Theoretical completeness in simple cases: This method has theoretical completeness in non-singular (simple) cases, ensuring that all intersections are found. For special cases such as tangent intersection, cusp intersection, self-intersection, and endpoint intersection, specialized numerical methods are introduced to supplement the processing, improving the overall robustness of the algorithm.

[0143] 4. Highly Efficient Authentication Implementation: The algorithm framework designed in this method combines directed bounding box (OBB) filtering, geometric decision-making, Hodograph analysis, and Newton's iteration for precise solution, which can significantly improve computational efficiency while ensuring the correctness of the solution. Experiments show that in multiple complex test cases, this method can improve the computational speed by up to 10 times compared to the traditional Bezier pruning method and open-source methods while maintaining accuracy.

[0144] This method overcomes several bottlenecks in the traditional curve intersection algorithm when processing NURBS curves, and features high efficiency, high accuracy, and high stability. It is applicable to multiple technical fields such as CAD modeling, path planning, and geometric simulation, and has significant practical value and industrialization potential.

[0145] Figure 7 A block diagram of an electronic device suitable for implementing a curve intersection determination method according to an embodiment of the present disclosure is shown schematically. Figure 7 The electronic device shown is merely an example and should not be construed as limiting the functionality and scope of the embodiments disclosed herein.

[0146] like Figure 7 As shown, an electronic device 700 according to an embodiment of the present disclosure includes a processor 701, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 702 or a program loaded from a storage portion 708 into a random access memory (RAM) 703. The processor 701 may include, for example, a general-purpose microprocessor (e.g., a CPU), an instruction set processor and / or an associated chipset and / or a special-purpose microprocessor (e.g., an application-specific integrated circuit (ASIC)), etc. The processor 701 may also include onboard memory for caching purposes. The processor 701 may include a single processing unit or multiple processing units for performing different actions of the method flow according to an embodiment of the present disclosure.

[0147] RAM 703 stores various programs and data required for the operation of electronic device 700. Processor 701, ROM 702, and RAM 703 are interconnected via bus 704. Processor 701 performs various operations of the method flow according to embodiments of the present disclosure by executing programs in ROM 702 and / or RAM 703. It should be noted that the programs may also be stored in one or more memories other than ROM 702 and RAM 703. Processor 701 may also perform various operations of the method flow according to embodiments of the present disclosure by executing programs stored in said one or more memories.

[0148] According to embodiments of this disclosure, the electronic device 700 may further include an input / output (I / O) interface 705, which is also connected to a bus 704. The electronic device 700 may also include one or more of the following components connected to the input / output (I / O) interface 705: an input section 706 including a keyboard, mouse, etc.; an output section 707 including a cathode ray tube (CRT), liquid crystal display (LCD), etc., and a speaker, etc.; a storage section 708 including a hard disk, etc.; and a communication section 709 including a network interface card such as a LAN card, modem, etc. The communication section 709 performs communication processing via a network such as the Internet. A drive 710 is also connected to the input / output (I / O) interface 705 as needed. A removable medium 711, such as a disk, optical disk, magneto-optical disk, semiconductor memory, etc., is installed on the drive 710 as needed so that computer programs read from it can be installed into the storage section 708 as needed.

[0149] According to embodiments of this disclosure, the method flow according to embodiments of this disclosure can be implemented as a computer software program. For example, embodiments of this disclosure include a computer program product comprising a computer program carried on a computer-readable storage medium, the computer program containing program code for performing the methods shown in the flowchart. In such embodiments, the computer program can be downloaded and installed from a network via communication section 709, and / or installed from removable medium 711. When the computer program is executed by processor 701, it performs the functions defined in the system of embodiments of this disclosure. According to embodiments of this disclosure, the systems, devices, apparatuses, modules, units, etc., described above can be implemented by computer program modules.

[0150] This disclosure also provides a computer-readable storage medium, which may be included in the device / apparatus / system described in the above embodiments; or it may exist independently and not assembled into the device / apparatus / system. The computer-readable storage medium carries one or more programs that, when executed, implement the method according to the embodiments of this disclosure.

[0151] According to embodiments of this disclosure, the computer-readable storage medium may be a non-volatile computer-readable storage medium. Examples include, but are not limited to: portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof. In this disclosure, the computer-readable storage medium may be any tangible medium that contains or stores a program that can be used by or in conjunction with an instruction execution system, apparatus, or device. For example, according to embodiments of this disclosure, the computer-readable storage medium may include ROM 702 and / or RAM 703 and / or one or more memories other than ROM 702 and RAM 703 described above.

[0152] Embodiments of this disclosure also include a computer program product comprising a computer program containing program code for performing the methods provided in the embodiments of this disclosure. When the computer program product is run on an electronic device, the program code enables the electronic device to implement the curve intersection determination method performed by the electronic device provided in the embodiments of this disclosure. When the computer program is executed by processor 701, it performs the functions defined in the system / device of the embodiments of this disclosure. According to embodiments of this disclosure, the systems, devices, modules, units, etc., described above can be implemented by computer program modules.

[0153] In one embodiment, the computer program may rely on a tangible storage medium such as an optical storage device or a magnetic storage device. In another embodiment, the computer program may also be transmitted and distributed in the form of signals over a network medium, and may be downloaded and installed via the communication section 709, and / or installed from a removable medium 711. The program code contained in the computer program can be transmitted using any suitable network medium, including but not limited to: wireless, wired, etc., or any suitable combination thereof.

[0154] According to embodiments of this disclosure, program code for executing the computer programs provided in embodiments of this disclosure can be written in any combination of one or more programming languages. Specifically, these computational programs can be implemented using high-level procedural and / or object-oriented programming languages, and / or assembly / machine languages. Programming languages ​​include, but are not limited to, languages ​​such as Java, C++, Python, "C", or similar programming languages. The program code can execute entirely on a user's computing device, partially on a user's device, partially on a remote computing device, or entirely on a remote computing device or server. In cases involving remote computing devices, the remote computing device can be connected to the user's computing device via any type of network, including a local area network (LAN) or a wide area network (WAN), or it can be connected to an external computing device (e.g., via the Internet using an Internet service provider).

[0155] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present disclosure. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in a block diagram or flowchart, and combinations of blocks in a block diagram or flowchart, may be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions. Those skilled in the art will understand that the features described in the various embodiments of the present disclosure can be combined and / or combined in various ways, even if such combinations are not explicitly described in the present disclosure. In particular, the features described in the various embodiments of this disclosure may be combined and / or combined in various ways without departing from the spirit and teachings of this disclosure. All such combinations and / or combinations fall within the scope of this disclosure.

[0156] The embodiments of this disclosure have been described above. However, these embodiments are for illustrative purposes only and are not intended to limit the scope of this disclosure. Although various embodiments have been described above, this does not mean that the measures in the various embodiments cannot be used advantageously in combination. Various substitutions and modifications can be made by those skilled in the art without departing from the scope of this disclosure, and all such substitutions and modifications should fall within the scope of this disclosure.

Claims

1. A method for determining the intersection point of curves performed by an electronic device, characterized in that, include: In response to the control commands generated by the controller, the arithmetic unit constructs a first root node and a second root node respectively based on the curve parameter information of the first curve and the second curve, and stores the first root node and the second root node in a register; wherein, the curve parameter information includes control point information, node vector information, curve first endpoint and curve second endpoint, the first root node represents the bounding box surrounding the first curve, and the second root node represents the bounding box surrounding the second curve. The arithmetic unit performs initial intersection detection on the first curve and the second curve based on the first root node and the second root node, obtains an initial detection result, and stores the initial detection result in the register; wherein, the initial detection result characterizes the intersection probability of the first curve and the second curve; If the initial detection result indicates that the first curve and the second curve may intersect, the arithmetic unit performs an intersection existence detection on the first curve and the second curve based on the first endpoint and the second endpoint of each curve, and obtains an intersection detection result; wherein, the intersection detection result indicates the existence of an intersection between the first curve and the second curve; When the intersection detection result indicates that there is an intersection between the first curve and the second curve, the arithmetic unit performs an intersection solving operation on the first curve and the second curve based on the curve parameter information of the first curve and the second curve, according to the first root node and the second root node, to obtain at least one intersection, and stores at least one intersection in the register; At least one of the intersection points is displayed by the display unit.

2. The method according to claim 1, characterized in that, The step of constructing the first root node and the second root node respectively based on the curve parameter information of the first curve and the second curve includes: Based on the control point information and node vector information of the first curve and the second curve respectively, the effective range of the parameter domain of the first curve and the second curve is determined respectively; Based on the effective range of the parameter domains of the first curve and the second curve, the first root node and the second root node are constructed respectively.

3. The method according to claim 1, characterized in that, The initial intersection detection of the first curve and the second curve based on the first root node and the second root node, to obtain the initial detection result, includes: Based on the first root node and the second root node, determine the root node pair; The initial intersection of the root node pairs is performed based on the separating axis theorem to obtain the initial detection result.

4. The method according to claim 1, characterized in that, The method of performing intersection existence detection on the first curve and the second curve based on the first endpoint and the second endpoint of each of the first curve and the second curve, and obtaining the intersection detection result includes: Connect the first endpoint of the first curve and the second endpoint of the first curve to obtain a first target line segment, and project the points on the first curve onto the first target line segment to obtain a first projected line segment; Connect the first endpoint and the second endpoint of the second curve to obtain the second target line segment, and project the points on the second curve onto the second target line segment to obtain the second projected line segment; Determine the parameter monotonicity of the first projection line segment and the second projection line segment respectively; Based on the first target line segment, a first curve support zone is constructed for the first curve; based on the second target line segment, a second curve support zone is constructed for the second curve. Determine the first positional relationship between the first endpoint and the second endpoint of the first curve and the support strip of the second curve, respectively; Determine the second positional relationship between the first endpoint and the second endpoint of the second curve and the first curve support strip, respectively; Based on the intersection existence condition, and according to the monotonicity of the parameters of the first and second projected line segments, the first positional relationship of the first endpoint and the second endpoint of the first curve, and the second positional relationship of the first endpoint and the second endpoint of the second curve, the intersection detection result is determined.

5. The method according to claim 1, characterized in that, The curve parameter information also includes the number of subdivision layers. When the intersection detection result indicates that there is an intersection between the first curve and the second curve, the step of performing an intersection calculation operation on the first curve and the second curve based on the curve parameter information of the first curve and the second curve, using the first root node and the second node, to obtain at least one intersection includes: Based on the tangent cones of the first curve and the second curve, determine the number of intersection points between the first curve and the second curve; When the number of intersection points is equal to 1, based on Newton's iteration method, according to the curve parameter information of the first curve and the second curve respectively, the first intersection point solution operation is performed on the first curve and the second curve to obtain the intersection point; When the number of intersection points is greater than or equal to 2, based on the subdivision level of the first surface and the second surface respectively, and according to the curve parameter information of the first curve and the second curve respectively, the second intersection point solving operation is iteratively performed on the first curve and the second curve based on the first root node and the second root node until the termination condition is met, and at least one intersection point is obtained.

6. The method according to claim 5, characterized in that, When the number of intersection points is greater than or equal to 2, based on the subdivision levels of the first surface and the second surface respectively, and according to the curve parameter information of the first curve and the second curve respectively, the second intersection point solution operation is iteratively performed on the first curve and the second curve based on the first root node and the second root node until the termination condition is met, obtaining at least one intersection point including: The arithmetic unit subdivides the first root node and the first curve to obtain multiple first leaf nodes and multiple first sub-curves corresponding to the multiple first leaf nodes; and the arithmetic unit subdivides the second root node and the second curve to obtain multiple second leaf nodes and multiple second sub-curves corresponding to the multiple second leaf nodes; wherein, the first leaf node represents the bounding box surrounding the first sub-curve, and the sub-curve parameter information of the first sub-curve and the second sub-curve both include the number of subdivision layers, the control point information, the node vector information, the first endpoint of the curve, and the second endpoint of the curve; If the number of subdivision layers of the first sub-curve and the second sub-curve has not reached the preset maximum number of subdivision layers, the arithmetic unit iteratively executes the following steps on the first sub-curve and the second sub-curve until the number of subdivision layers of the first sub-curve and the second sub-curve reaches the preset maximum number of subdivision layers: Based on the number of subdivision layers of each of the multiple first sub-curves and multiple second sub-curves, multiple candidate leaf node pairs of the i-th layer are determined; where 2≤i<N, i is the number of subdivision layers, N is the preset maximum number of subdivision layers, and i and N are positive integers; each candidate leaf node pair of the i-th layer includes a first leaf node and a second leaf node of the i-th layer with the same number of subdivision layers, the first leaf node of the i-th layer corresponds to the first sub-curve of the i-th layer, and the second leaf node of the i-th layer corresponds to the second sub-curve of the i-th layer; For each pair of candidate leaf nodes in the i-th layer, an initial intersection detection is performed on the first sub-curve and the second sub-curve in the i-th layer based on the first candidate leaf node and the second candidate leaf node in the i-th layer to obtain the initial sub-detection result of the i-th layer; wherein, the initial sub-detection result of the i-th layer characterizes the intersection probability of the first sub-curve and the second sub-curve in the i-th layer; Based on the initial sub-detection results of the i-th layer candidate leaf node pairs, multiple i-th layer target leaf node pairs that satisfy the intersection solution conditions are selected, and the multiple i-th layer target leaf node pairs and the i-th layer first target leaf node, i-th layer second target leaf node, i-th layer first sub-curve, and i-th layer second sub-curve corresponding to each i-th layer target leaf node pair are stored in the register; wherein, each i-th layer target leaf node pair includes an i-th layer first target leaf node and an i-th layer second target leaf node, the i-th layer first target leaf node corresponds to the i-th layer first sub-curve, and the i-th layer second target leaf node corresponds to the i-th layer second sub-curve; For each pair of target leaf nodes in the i-th layer, based on the first endpoint and the second endpoint of each of the first sub-curve and the second sub-curve in the i-th layer, an intersection existence detection is performed on the first sub-curve and the second sub-curve in the i-th layer to obtain an intersection detection result in the i-th layer; wherein, the intersection detection result in the i-th layer characterizes the existence of an intersection between the first sub-curve and the second sub-curve in the i-th layer; For each pair of target leaf nodes in the i-th layer, if the intersection detection result of the i-th layer indicates that there is an intersection between the first sub-curve of the i-th layer and the second sub-curve of the i-th layer, the number of intersections between the first sub-curve of the i-th layer and the second sub-curve of the i-th layer is determined based on the tangent cones of the first sub-curve of the i-th layer and the second sub-curve of the i-th layer. When the number of intersection points is equal to 1, based on Newton's iteration method, according to the sub-curve parameter information of the first sub-curve of the i-th layer and the second sub-curve of the i-th layer, the first intersection point solution operation is performed on the first sub-curve of the i-th layer and the second sub-curve of the i-th layer to obtain the intersection point; When the number of intersection points is greater than or equal to 2, the first target leaf node of the i-th layer and the corresponding first sub-curve of the i-th layer are subdivided to obtain multiple first leaf nodes of the (i+1)-th layer and multiple first sub-curves of the (i+1)-th layer that correspond one-to-one with the multiple first leaf nodes of the (i+1)-th layer; the second target leaf node of the i-th layer and the corresponding second sub-curve of the i-th layer are subdivided to obtain multiple second leaf nodes of the (i+1)-th layer and multiple second sub-curves of the (i+1)-th layer that correspond one-to-one with the multiple second leaf nodes of the (i+1)-th layer.

7. The method according to claim 6, characterized in that, When the number of intersection points is greater than or equal to 2, based on the respective subdivision levels of the first surface and the second surface, and according to the respective curve parameter information of the first curve and the second curve, the second intersection point solution operation is iteratively performed on the first curve and the second curve based on the first root node and the second node until the termination condition is met, obtaining at least one intersection point further includes, for the Nth layer target leaf node pair where the subdivision level reaches the preset maximum subdivision level: If the number of intersection points between the first sub-curve of the Nth layer and the second sub-curve of the Nth layer is greater than or equal to 2, the singular cases of the intersection points between the first sub-curve of the Nth layer and the second sub-curve of the Nth layer are determined based on the sub-curve parameter information of each of the first sub-curve of the Nth layer and the second sub-curve of the Nth layer. In the case of a singularity where the intersection point is tangent, a first singularity solution operation is performed on the first sub-curve of the Nth layer and the second sub-curve of the Nth layer according to the sub-curve parameter information of each of the first sub-curve of the Nth layer and the second sub-curve of the Nth layer to obtain at least one intersection point; In the case where the singularity is at least one of cusp, self-intersection, or endpoint intersection, a second singularity solution operation is performed on the first sub-curve of the Nth layer and the second sub-curve of the Nth layer based on the sub-curve parameter information of each of the first sub-curve of the Nth layer and the second sub-curve of the Nth layer to obtain at least one intersection.

8. The method according to any one of claims 1-7, characterized in that, The method is applied to at least one of the following: engineering design, architectural design, computer animation, facial recognition, engineering simulation, and path planning, wherein the first curve and the second curve respectively represent the drawing design of the first geometric figure and the second geometric figure.

9. An electronic device, comprising: One or more processors; Memory, used to store one or more computer programs. The characteristic feature is that the one or more processors execute the one or more computer programs to implement the steps of the method according to any one of claims 1 to 8.

10. A computer-readable storage medium having a computer program or instructions stored thereon, characterized in that, When the computer program or instructions are executed by a processor, they implement the steps of the method according to any one of claims 1 to 8.