Method, device, program product and medium for generating surface model in geometry engine

By obtaining curve clusters and viewing directions in the geometry engine, calculating projection intersections and generating interpolated surfaces, the problem of low efficiency in surface model generation in existing technologies is solved, and more efficient automatic surface model generation is achieved.

CN120411422BActive Publication Date: 2025-09-16BWTON TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202510909141.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-07-02
Publication Date
2025-09-16
Estimated Expiration
2045-07-02

AI Technical Summary

Technical Problem

The process of generating a surface model in the prior art is cumbersome, resulting in low generation efficiency.

Method used

By obtaining at least two curve clusters and the target viewing direction in the geometry engine, the projection intersection points between the curve clusters are calculated to generate an interpolated surface, and finally a surface model is generated according to the fitting coefficients.

Benefits of technology

It avoids the tedious operation of substantial intersection in traditional methods and improves the automation and efficiency of surface model generation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120411422B_ABST
    Figure CN120411422B_ABST
Patent Text Reader

Abstract

Embodiments of the present application disclose a method, device, program product, and medium for generating a surface model in a geometry engine. The method is used to generate a surface model and includes: obtaining at least two curve clusters and a target viewing direction, each curve cluster containing at least one curve; calculating the projected intersection points of each curve in any two curve clusters on all curves in the other curve cluster based on the target viewing direction, thereby obtaining a set of projected intersection points corresponding to each curve; generating interpolated surfaces corresponding to each of the two curve clusters based on the projected intersection points corresponding to each curve and the two curve clusters; and generating a surface model based on preset fitting coefficients and the interpolated surfaces corresponding to the two curve clusters. This method can improve the efficiency of generating surface models.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of computer technology, and in particular to a method, device, program product, and medium for generating a surface model in a geometry engine. Background Art

[0002] With the rapid development of industry, significant R&D breakthroughs—from the launch of the C919 large passenger aircraft and the preliminary research and design of the C929 wide-body passenger aircraft to high-speed rail exceeding 400 kilometers per hour and the iterative upgrades of intelligent equipment such as bipedal humanoid robots and quadrupedal robot dogs—all rely on core capabilities in industrial model design. As the "digital brain" of industrial software systems, technologies such as geometry engines, constraint solvers, and 3D physics simulation engines form the underlying technology matrix for innovation in industrial software systems.

[0003] The geometry engine is a key technology for generating "geometric models" in industrial software and is one of the key indicators for measuring the autonomous and controllable capabilities of high-end manufacturing. Specifically, the geometry engine is mainly used for product model design. It uses basic geometric primitives and parameterized curves and surfaces on the computer to perform Boolean operations to complete the model generation. Among the various surface models in the geometry engine, users are usually required to draw paths and cross-section curves with intersections, such as Gordon surfaces and skin surfaces, in order to generate the corresponding surface model based on the curves with intersections. Since this operation is relatively cumbersome, the efficiency of surface generation is reduced.

[0004] Therefore, how to improve the efficiency of surface model generation is an urgent problem to be solved. Summary of the Invention

[0005] To solve the above technical problems, embodiments of the present application provide a method, device, program product, and medium for generating a surface model in a geometry engine.

[0006] Among them, the technical solution adopted in this application is: a method for generating a surface model in a geometric engine, comprising: obtaining at least two curve clusters and a target viewing direction in the geometric engine, each curve cluster containing at least one curve; according to the target viewing direction, calculating the projection intersection of each curve in the any two curve clusters on the other curve cluster, and obtaining the projection intersection set corresponding to each curve; according to the projection intersection set corresponding to each curve, generating interpolation surfaces corresponding to the any two curve clusters respectively; generating a surface model according to a preset fitting coefficient and the interpolation surface corresponding to each curve cluster.

[0007] A device for generating a surface model in a geometry engine, comprising: an acquisition unit, configured to acquire at least two curve clusters and a target viewing direction in the geometry engine, each curve cluster containing at least one curve; a calculation unit, configured to calculate, based on the target viewing direction, the projected intersection of each curve in the arbitrary two curve clusters on the other curve cluster, to obtain a set of projected intersection points corresponding to each curve; a processing unit, configured to generate, based on the set of projected intersection points corresponding to each curve, interpolated surfaces corresponding to each of the arbitrary two curve clusters; and the processing unit, configured to generate a surface model based on a preset fitting coefficient and the interpolated surface corresponding to each curve cluster.

[0008] A device for generating a surface model in a geometry engine includes a processor and a memory. The memory stores computer-readable instructions. When the computer-readable instructions are executed by the processor, the method for generating a surface model in a geometry engine as described above is implemented.

[0009] A computer program product includes computer-readable instructions, which, when executed by a processor, implement the above method for generating a surface model in a geometric engine.

[0010] A computer-readable storage medium stores computer-readable instructions. When the computer-readable instructions are executed by a processor of a computer, the computer is caused to execute the method for generating a surface model in a geometric engine as described above.

[0011] In the above technical solution, at least two curve clusters and a target viewing direction are first acquired in a geometry engine, each containing at least one curve. Subsequently, based on the target viewing direction, the projected intersection points of each curve in any two curve clusters on all curves in the other curve cluster are calculated, yielding a set of projected intersection points corresponding to each curve. Based on the projected intersection points corresponding to each curve and the two curve clusters, interpolated surfaces corresponding to each of the two curve clusters are generated. Finally, a surface model is generated based on preset fitting coefficients and the interpolated surfaces corresponding to the two curve clusters.

[0012] It can be seen that compared with the technical path of "generating surfaces from multiple curve clusters" adopted by traditional Gordon surfaces, skin surfaces, etc., the present application provides a new method for generating surface models. After obtaining the at least two curve clusters, for any two curve clusters, the projected intersection of each curve on the other curve cluster can be calculated according to the target viewing direction, and then the subsequent surface model can be generated based on these projected intersections. Therefore, this method does not require the curves in the two curve clusters to have actual intersections with the other curve cluster before the surface model can be generated. Therefore, this method avoids the tedious operation of strictly constructing mesh curves with actual intersections in the related art. In addition, this method controls the generation process of the interpolation surface by presetting the fitting coefficient, which not only reduces the unnecessary complexity in the calculation process, but also ensures the flexibility of the surface generation. It can be seen that this method reduces user interaction operations, improves the degree of automation of surface generation, and thus improves the efficiency of surface model generation.

[0013] It should be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the present application. BRIEF DESCRIPTION OF THE DRAWINGS

[0014] The accompanying drawings are incorporated into and constitute a part of the specification, illustrate embodiments consistent with the present application, and together with the specification, are used to explain the principles of the present application. Obviously, the drawings described below are only some embodiments of the present application, and it is clear that a person of ordinary skill in the art can derive other drawings based on these drawings without inventive effort. In the accompanying drawings.

[0015] Figure 1 The present invention is a flowchart of a method for generating a surface model in a geometry engine according to an exemplary embodiment.

[0016] Figure 2 This is a schematic diagram of two curve clusters involved in this application.

[0017] Figure 3 This is a schematic diagram of a ruled surface involved in this application.

[0018] Figure 4 This is a schematic diagram of the intersection of a ruled surface and a curve involved in this application.

[0019] Figure 5 It is a schematic diagram of a set of projection fitting lines involved in this application.

[0020] Figure 6 This is a schematic diagram of an interpolation surface corresponding to a first curve cluster involved in this application.

[0021] Figure 7This is a schematic diagram of interpolation surfaces corresponding to a first curve cluster and a second curve cluster involved in this application.

[0022] Figure 8 This is a schematic diagram of a fitting surface involved in this application.

[0023] Figure 9 The figure is a flowchart of a method for generating a surface model in a geometry engine according to another exemplary embodiment.

[0024] Figure 10 The present invention is a block diagram of a device for generating a surface model in a geometry engine according to an exemplary embodiment.

[0025] Figure 11 The figure is a schematic structural diagram of a computer system of a device for generating a surface model in a geometry engine according to an exemplary embodiment. DETAILED DESCRIPTION

[0026] Exemplary embodiments will be described in detail herein, with examples illustrated in the accompanying drawings. When the following description refers to the drawings, identical numerals in different figures represent identical or similar elements, unless otherwise indicated. The embodiments described in the following exemplary embodiments are not intended to represent all embodiments applicable to the present application. Rather, they are merely examples of apparatus and methods applicable to certain aspects of the present application, as detailed in the appended claims.

[0027] The block diagrams shown in the accompanying drawings are merely functional entities and do not necessarily correspond to physically separate entities. That is, these functional entities may be implemented in software, in one or more hardware modules or integrated circuits, or in different networks and / or processor devices and / or microcontroller devices.

[0028] The flowcharts shown in the accompanying drawings are for illustrative purposes only and do not necessarily include all contents and operations / steps, nor must they be executed in the order described. For example, some operations / steps may be decomposed, while others may be integrated or partially integrated. Therefore, the actual execution order may vary depending on the actual situation.

[0029] It should be noted that the term "plurality" used in this application refers to two or more. "And / or" describes the relationship between associated objects, indicating that three possible relationships exist. For example, "A and / or B" can represent: A alone, A and B together, or B alone. The character " / " generally indicates that the associated objects are in an "or" relationship.

[0030] It should be noted that in the specific implementation of this application, when user-related data is involved, when the embodiments of this application are applied to specific products or technologies, user permission or consent is required, and the collection, use, and processing of relevant data must comply with the relevant laws, regulations, and standards of the relevant countries and regions. At the same time, the formulas involved in the embodiments of this application can be flexibly adjusted, such as adding or reducing corresponding parameters.

[0031] Before introducing the technical solutions of the embodiments of the present application, the technical terms involved in the embodiments of the present application are first introduced here.

[0032] Non-Uniform Rational B-Splines (NURBS) curves are a method for representing curves and surfaces in fields such as computer-aided design (CAD), computer graphics, and computer animation. A NURBS curve consists of a set of control points, basis functions, knot vectors, and weights. Its mathematical expression is as follows.

[0033]

[0034] in, Represents a curve NURBS curve function, ; is the B-spline basis function, i is the index of the control point, and p is the degree; is the weight of the i-th control point; are the coordinates of the i-th control point; n is the number of control points minus one.

[0035] NURBS uses B-spline basis functions to construct curves, which feature a non-uniform node distribution. This allows for uneven node spacing, resulting in varying smoothness and locality within different sections of the curve. Furthermore, thanks to the introduction of weights, NURBS can represent both general B-spline curves and conic sections (such as circles, ellipses, and parabolas) with high precision, something that ordinary B-splines cannot do.

[0036] Computationally, the construction of NURBS curves relies on recursively defined B-spline basis functions. Through the appropriate selection of control points and weights, fine-tuning of the curve shape is achieved. Its local modifiability is determined by the support interval of the B-spline basis functions. Adjusting a control point or weight only affects that part of the curve, without changing the overall shape. This property is particularly important in various industrial design software for 3D models, such as computer-aided design (CAD), as it allows for local optimization while maintaining global smoothness.

[0037] In related technologies, users are usually required to draw paths and cross-section curves with intersections, such as Gordon surfaces and skin surfaces, in order to generate corresponding surface models based on the curves with intersections. This operation is cumbersome and reduces the efficiency of surface generation.

[0038] Based on this, the embodiments of the present application respectively propose a method for generating a surface model in a geometric engine, a device for generating a surface model in a geometric engine, a device for generating a surface model in a geometric engine, a computer-readable storage medium, and a computer program product. In these embodiments, at least two curve clusters and a target viewing direction are first obtained in the geometric engine, and each curve cluster contains at least one curve. Subsequently, according to the target viewing direction, the projected intersection point of each curve in any two curve clusters on the other curve cluster is calculated to obtain a set of projected intersection points corresponding to each curve. According to the set of projected intersection points corresponding to each curve and the arbitrary two curve clusters, interpolated surfaces corresponding to the arbitrary two curve clusters are generated. Finally, a surface model is generated according to a preset fitting coefficient and the interpolated surfaces corresponding to the arbitrary two curve clusters. It can be seen that compared with the technical path of "generating surfaces from multiple curve clusters" adopted by traditional Gordon surfaces, skin surfaces, etc., the present application provides a new method for generating surface models. After obtaining the at least two curve clusters, for any two curve clusters, the projected intersection points of each curve on all curves in the other curve cluster can be calculated according to the target viewing direction, and then the subsequent surface model can be generated based on these projected intersection points. Therefore, this method does not require the curves in the two curve clusters to have actual intersections with the other curve cluster before the surface model can be generated. Therefore, this method avoids the tedious operation of strictly constructing mesh curves with actual intersections in the related art. In addition, this method controls the generation process of the interpolation surface by presetting the fitting coefficient, which not only reduces the unnecessary complexity in the calculation process, but also ensures the flexibility of the surface generation. It can be seen that this method reduces user interaction operations, improves the degree of automation of surface generation, and thus improves the efficiency of surface model generation.

[0039] It should be noted that the method for generating surface models in the geometric engine in this application can be applied to multiple usage scenarios, such as automotive design, architectural design, product design, aerospace design, subway transportation design, aerospace design, 3D printing design, etc., and the embodiments of this application are not limited.

[0040] It should be noted that the method for generating a surface model in the geometric engine in this application can be applied to a computer, such as a terminal device, which can be a mobile phone, a tablet computer, a laptop computer, a PDA, a mobile internet device (MID), a vehicle-mounted device, an aircraft, a wearable device (such as a smart watch, a smart bracelet, a pedometer, etc.), a virtual reality device (such as a virtual reality (VR) device, an augmented reality (AR) device), and the like.

[0041] See also Figure 1 , Figure 1 This is a flow chart illustrating a method for generating a surface model in a geometry engine according to an exemplary embodiment. The method can be specifically executed by a computer. Of course, the method can also be applied to other implementation environments, and the execution subject of the method is not limited here.

[0042] The following will use a computer as an exemplary execution subject to explain in detail the method for generating a surface model in the geometry engine. Figure 1 As shown, in an exemplary embodiment, the method includes at least the following steps.

[0043] S110 , obtaining at least two curve clusters and a target viewing direction in a geometry engine, where each curve cluster includes at least one curve.

[0044] A computer can run specific 3D modeling software, which includes a geometry engine. During the operation of the 3D modeling software, the computer can interact with the geometry engine to obtain various data, such as curve clusters and target viewing directions. In this way, the computer can trigger corresponding execution actions based on the target object's operations in the 3D modeling software, ultimately enabling the geometry engine to generate surface models. The 3D modeling software can refer to a 3D modeling product, and the target object refers to the subject that uses the computer to perform 3D modeling, which can be a user or an AI tool. For example, when a target object draws a curve in the 3D modeling software, the computer will visualize the curve for the target object to view. Since the 3D modeling software can provide 3D images, the target object can observe the curve from different angles by switching or moving the viewing direction.

[0045] Based on this, the target subject can input at least two curve clusters into the computer. This will generate at least two curve clusters, each containing at least one curve. The number and shape of these curves can be adjusted based on the target subject's needs. Because 3D modeling software supports dynamic viewing angle adjustment, the target subject can freely rotate, pan, or zoom the view to observe these curves from different directions.

[0046] Any two curve clusters include a first curve cluster and a second curve cluster, the first curve cluster includes at least one first curve, and the second curve cluster includes at least one second curve.

[0047] For example, Figure 2 Shown is a schematic diagram of two curve clusters involved in this application. Figure 2 In this example, the target object inputs a first curve cluster and a second curve cluster in three-dimensional space. In this case, the first and second curve clusters can be disjoint in three-dimensional space, that is, there can be no actual intersection between any two curves in the two curve clusters. The first curve cluster contains first curve 1, first curve 2, and first curve 3, while the second curve cluster contains second curve 1, second curve 2, and second curve 3. Observed from viewing direction 1, each first curve visually intersects with each second curve on the projection surface. Observed from viewing direction 2, first curve 3 does not visually intersect with second curve 1 on the projection surface, but does intersect with second curve 2 and second curve 3 on the projection surface, and so on. Observed from viewing direction 3, neither the first nor the second curve cluster visually intersects on the projection surface.

[0048] Among them, the projection surface in this application refers to the two-dimensional visual interface of the three-dimensional modeling software, which can be observed through the screen of the display. Therefore, the projection surface can also be understood as the two-dimensional visual interface that the target object can intuitively observe from the screen of the display.

[0049] In order to ensure the feasibility of subsequent surface calculations, the target object needs to select a target viewing direction, which is the viewing direction selected by the target object that can make any two curve clusters visually intersect on the projection surface. The visual intersection of any two curve clusters on the projection surface means that each curve in the two curve clusters visually intersects with all curves in the other curve cluster on the projection surface. For example, Figure 2, in the viewing direction 1, the first curve 1 intersects with the second curves 1-3, the first curve 2 intersects with the second curves 1-3, and the first curve 3 intersects with the second curves 1-3. Similarly, the second curve 1 intersects with the first curves 1-3, the second curve 2 intersects with the first curves 1-3, and the second curve 3 intersects with the first curves 1-3. It can be seen that under the viewing direction 1, each first curve in the first curve cluster visually intersects with each second curve in the second curve cluster on the projection surface, and each second curve in the second curve cluster visually intersects with each first curve in the first curve cluster on the projection surface. Therefore, the viewing direction 1 can be used as the target viewing direction of the present application.

[0050] In visual direction 2, however, the first curve 3 and the second curve 1 do not visually intersect on the projection surface. Therefore, visual direction 2 cannot be used as the target visual direction. Similarly, in visual direction 3, the two curve clusters do not visually intersect at all on the projection surface and cannot be used as the target visual direction.

[0051] It should be noted that, under the target viewing angle, curves from different clusters will form a visual intersection on the two-dimensional projection surface. This visual intersection is not a real intersection, but the two curve clusters appear to intersect due to the change in viewing angle.

[0052] The target object can rotate the main interface perspective of the 3D modeling software. After being able to observe that in any two curve clusters, each curve of one curve cluster visually intersects with all curves of the other curve cluster on the projection surface, the target perspective direction is determined.

[0053] Optionally, after the target object selects the target viewing direction, the computer can detect whether there are two curve clusters whose curves visually intersect on the projection surface under the target viewing angle. If at least one curve in one curve cluster does not visually intersect with at least one curve in the other curve cluster on the projection surface, a prompt message can be output to inform the target object to change to a suitable viewing direction.

[0054] It is understandable that in the embodiment of the present application, the at least two curve clusters drawn by the target object are not required to actually intersect. It is only necessary to ensure that the at least two curve clusters to be processed visually intersect on the projection surface when selecting the target viewing direction.

[0055] For example, the target object can choose Figure 2 The viewing direction 1 in is used as the target viewing direction, under which each curve in the first curve cluster and the second curve cluster visually intersects with all curves in the other curve cluster on the projection surface.

[0056] For the convenience of explanation, in the embodiment of the present application, the i-th curve cluster is recorded as ,in, The j-th curve in is denoted as , which can be expressed as a set . It is a NURBS curve, and its corresponding function formula is: .

[0057] For the convenience of explanation, the first curve cluster is also any one of the at least two curve clusters, which can be recorded as , the second curve cluster is denoted as .

[0058] Represents a curve NURBS curve function, ; is the B-spline basis function, i is the index of the control point, and p is the degree; is the weight of the i-th control point; are the coordinates of the i-th control point; n is the number of control points minus one.

[0059] In addition, the vector of the target viewing direction is recorded as .

[0060] S120 , calculating the projection intersection points of each curve in any two curve clusters on all curves in the other curve cluster according to the target viewing direction, and obtaining a projection intersection point set corresponding to each curve.

[0061] Specifically, the computer generates a ruled surface for each curve according to the target viewing angle direction; obtains the projected intersection points of the ruled surface for each curve and all curves in the other curve cluster, and obtains a set of projected intersection points corresponding to each curve.

[0062] It should be noted that in this embodiment of the present application, the target object can input at least two curve clusters. For any two curve clusters, the first curve cluster is any one of the at least two curve clusters, and the second curve cluster is any other curve cluster from the at least two curve clusters that is different from the first curve cluster. Furthermore, the first curve cluster is the counterpart of the second curve cluster, and the second curve cluster is also the counterpart of the first curve cluster. The two curve clusters can appear in pairs.

[0063] The computer will calculate each curve , create a vector in the direction of the target view is the ruled surface in the normal direction. Specifically, the computer obtains the curve function of each first curve, calculates the ruled surface in the target viewing direction according to the vector in the target viewing direction, and finally sums the curve function of each first curve with the ruled surface in the target viewing direction to obtain the ruled surface of each first curve. The expression of the ruled surface of the jth curve in the i-th curve cluster can be expressed as: .

[0064] For example, Figure 3 The figure shows a schematic diagram of a ruled surface involved in this application. Figure 3 Figure 1 shows the ruled surface corresponding to curve 1 in the first curve cluster. This ruled surface passes through curve 1 and intersects all second curves in the second curve cluster. Similarly, the computer needs to calculate the ruled surfaces of curve 2, curve 3, curve 1, curve 2, and curve 3.

[0065] After obtaining the ruled surface of each first curve, the ruled surface of each first curve will generate an intersection with each second curve in the second curve cluster. The number of intersections is at least one, and a corresponding set of projected intersections can be calculated for each first curve.

[0066] At the same time, the computer also generates a ruled surface for each second curve in the second curve cluster according to the target viewing angle direction, and detects the intersection points of the ruled surface of each second curve with all first curves in the first curve cluster to obtain a set of projection intersection points corresponding to each second curve.

[0067] The computer can calculate the projected intersection point set corresponding to each first curve and the projected intersection point set corresponding to each second curve by a specific calculation formula. In the embodiment of the present application, the projected intersection point set of the jth curve in the i-th curve cluster can be recorded as ,in, , the two have the same basis, that is, the number of intersections between one curve and the other cluster is the same as the number of curves in the other cluster.

[0068] For example, Figure 4 This is a schematic diagram of the intersection of a ruled surface and a curve involved in this application. Figure 4 It can be observed that the ruled surface of the first curve 1 in the first curve cluster generates three intersections with the second curve cluster, namely, intersection 1 with the second curve 1, intersection 2 with the second curve 2, and intersection 3 with the second curve 3.

[0069] Through the above calculations, the set of projection intersection points corresponding to each first curve can be obtained, and the set of projection intersection points corresponding to each second curve can also be obtained.

[0070] In one embodiment of the present application, if any of the first and second curve clusters input by the target object intersect, the intersecting points can be directly added to the projected intersection set of the corresponding curves without the need for calculation using a ruled surface. For other parts that do not intersect, the projected intersection set must be obtained using the above-mentioned method for generating a ruled surface. In other words, while the present application does not require that any two curve clusters input by the target object have actual intersections, it does not mean that any two curve clusters cannot have actual intersections. If there are actual intersections, the process is handled according to the general process; if there are no actual intersections, the process is handled according to the method provided in the present application.

[0071] S130 , generating interpolation surfaces corresponding to the arbitrary two curve clusters according to the projection intersection point set corresponding to each curve and the arbitrary two curve clusters.

[0072] In obtaining The projected intersection set of Afterwards, the computer will fit the intersection of the jth curve in the i-th curve cluster with the other curve cluster to obtain a projection fitting line. The projection fitting line needs to meet the following constraints: 1. Each intersection point in is on the projection fitting line; 2. The node vector and weight vector of the projection fitting line are The node vector and weight vector of are equal.

[0073] Specifically, the computer needs to generate a projected fitting line for each first curve on the second curve cluster based on the set of projected intersection points corresponding to each first curve, and generate a projected fitting line for each second curve on the first curve cluster based on the set of projected intersection points corresponding to each second curve. Next, the computer needs to generate an interpolation surface corresponding to the second curve cluster based on the projected fitting line corresponding to each first curve and the second curve cluster, and generate an interpolation surface corresponding to the first curve cluster based on the projected fitting line corresponding to each second curve and the first curve cluster.

[0074] When the computer generates the projected fitting line of each first curve on the second curve cluster based on the set of projected intersection points corresponding to each first curve, it is necessary to construct the point vector of each first curve based on the set of projected intersection points corresponding to each first curve. Then, based on the parameter values ​​and basis functions corresponding to each projected intersection point on each first curve in the set of projected intersection points corresponding to each first curve, the coefficient matrix of the projected fitting line of each first curve on the second curve cluster is calculated. Next, based on the relationship between the rank of the coefficient matrix and the rank of the augmented matrix, the control point set vector of the projected fitting line of each first curve on the second curve cluster is calculated, where the augmented matrix is ​​composed of the point vector and the coefficient matrix. Thus, the projected fitting line corresponding to each first curve is generated based on the control point set vector.

[0075] Specifically, the computer can construct a system of linear equations: .

[0076] in, Point vector formed by the projected intersection set ,For example, The projected intersection set of The three intersection points are (1, 2, 3), (2, 3, 4), and (4, 5, 6). Then the vector of this point is . is the parameter value corresponding to each intersection point in the projection intersection set on its corresponding original curve, satisfying . is the set vector of unknown control points on the projected fitting line. is the coefficient matrix of the projected fitted line.

[0077]

[0078] The basis functions Needs to be satisfied The basis function parameters.

[0079] Since the coefficient matrix It may not be fully rank, so different situations need to be considered.

[0080] In one embodiment of the present application, if the rank of the coefficient matrix corresponding to each first curve is equal to the rank of the augmented matrix corresponding to the first curve, the control point set vector of each first curve is calculated based on the coefficient matrix and the augmented matrix corresponding to each first curve.

[0081] That is, if the coefficient matrix of each first curve is detected, it satisfies , then the equations have a solution. For the case where infinite solutions can be obtained, any one of the solutions is selected. The solution is the control point set vector , so that each Each has its corresponding control point set vector In this way, you can of , draw the corresponding projection fitting line. In the embodiment of the present application, the i-th curve cluster can be In the jth (i≠j) curve cluster The set of projected fitting lines is expressed as .

[0082] Through this processing method, when the ranks are equal, the control point set vector can be obtained directly by solving the linear equations, which not only reduces the computational overhead, but also can stably and accurately obtain the control points of the fitting curve, thereby improving the numerical solution efficiency of the surface construction process, thereby improving the accuracy of subsequent surface fitting.

[0083] like Figure 5 The figure shows a schematic diagram of a set of projection fitting lines involved in this application. Figure 5 In the figure, the ruled surface corresponding to the first curve has intersections with the second curves 1 to 3. Therefore, these three intersections form a set of projected intersections, which can be fitted as follows: Figure 5 The projected fitting curve of the first curve 1 on the right in the second curve cluster is shown in FIG. Similarly, the projected fitting curve of the first curve 2 in the second curve cluster and the projected fitting curve of the first curve 3 in the second curve cluster can also be obtained.

[0084] In one embodiment of the present application, if there is at least one first curve whose coefficient matrix corresponding to the rank is smaller than the rank of the augmented matrix corresponding to the first curve, the control point set vector of each first curve is calculated based on the rank difference between the coefficient matrix corresponding to each first curve and the augmented matrix, the coefficient matrix and the point vector.

[0085] That is, if there is at least one first curve in the first curve cluster that satisfies , then the linear equations This is an overdetermined system of equations with no solution. The computer needs to update the basis functions of all the first curves in the first curve cluster.

[0086] In one embodiment of the present application, the computer needs to obtain the maximum rank difference between the coefficient matrix corresponding to each first curve and the augmented matrix corresponding to each first curve, and then update the basis function of each first curve according to the maximum rank difference to obtain the updated basis function of each first curve. Next, based on the point vector of each first curve and the updated basis function, the coefficient matrix of each first curve is updated to obtain the updated coefficient matrix of each first curve. Finally, based on the updated augmented matrix, the control point set vector of each first curve is calculated, wherein the updated augmented matrix is ​​composed of the updated coefficient matrix of each first curve, the updated coefficient matrix and the point vector.

[0087] In the process of updating the basis function, the computer needs to insert the node vector of each first curve, and it is necessary to ensure that the number of node vectors increased is , That is, the rank difference between the augmented matrix and the coefficient matrix of the jth first curve (first curve j). In this way, it can be obtained that each first curve has a corresponding rank difference, , then, we need to select the maximum rank difference, The maximum rank difference can be used as the first curve cluster The number of node vectors that need to be added to all the first curves in the cluster. After determining the maximum rank difference, the first curve cluster can be sorted according to the maximum rank difference. All the first curves in the equation are uniformly shape-preservingly subjected to node vector interpolation operations, thereby updating the basis function of each first curve to obtain the updated basis function of each first curve. After obtaining the updated basis function, the coefficient matrix of each first curve can be updated according to the point vector corresponding to each first curve and the updated basis function. The calculation formula has been described above, that is,

[0088]

[0089] The updated basis function can be used to ensure that the node vectors and weight vectors of all first curves remain consistent.

[0090] After obtaining the updated coefficient matrix of each first curve, we can reuse the formula , calculate each first curve The corresponding control point set vector Then, according to the control point set vector of each first curve, the projection fitting line of each first curve on the second curve cluster is calculated to obtain the projection fitting line set of the first curve cluster on the second curve cluster. .

[0091] In the calculation of the projected fitting line set After that, we need to further fit the line set based on the projection and the second curve cluster , generating an interpolation surface corresponding to the first curve cluster. The interpolation surface corresponding to the first curve cluster is an interpolation surface fitted by the second curve cluster and at least one projected fitting line of the first curve cluster on the second curve cluster.

[0092] Specifically, the computer can use the first fitting function to fit the projected fitting line set and the second curve cluster The interpolation surface is fitted. The first fitting function is the calculation function of the interpolation surface, and the expression of the interpolation surface is as follows.

[0093]

[0094] in, represent The curve in represent The curve in . and Represents a single linear interpolation function: , where M is 、 . For curve and The intersection of .

[0095] In this way, the computer can calculate the first curve cluster In the second curve cluster The set of projected fitting lines, and the first curve cluster Generated interpolated surface .

[0096] like Figure 6 The figure shows a schematic diagram of an interpolation surface corresponding to a first curve cluster involved in this application. Figure 6 As can be seen, the first curve cluster In the second curve cluster The set of projected fitting lines on the graph and the second curve cluster form a curve grid, and the computer can generate an interpolation surface based on the curve grid.

[0097] Similarly, the computer can also use the second curve cluster Each second curve in the first curve cluster The projection intersection point set on the curve is fitted to the projection fitting line corresponding to each projection intersection point set, and the second curve cluster is obtained. The corresponding set of projected fitting lines, and then according to the first curve cluster and the second curve cluster The corresponding set of projected fitting lines generates the interpolation surface corresponding to the second curve cluster .

[0098] like Figure 7 Shown is a schematic diagram of an interpolation surface corresponding to a first curve cluster and a second curve cluster involved in this application. Figure 7 In the figure, we can see that the interpolation surface at the back corresponds to the first curve cluster, and the interpolation surface at the front corresponds to the second curve cluster.

[0099] S140: Generate a surface model according to preset fitting coefficients and interpolation surfaces corresponding to the arbitrary two curve clusters.

[0100] Since the interpolation surface and interpolated surfaces In three-dimensional space, it is composed of line strings. The multiple curves in the two surfaces do not actually intersect. In order to meet the design requirements, the two surfaces need to be fitted to generate a surface model.

[0101] Before fitting, the target object can input a preset fitting coefficient, which is recorded as k. The size of k determines the degree of fitting between the two interpolation surfaces.

[0102] At this time, since the arbitrary two curve clusters include the first curve cluster and the second curve cluster, the computer can calculate the interpolation surface of the second curve cluster according to the preset fitting coefficient k The corresponding weight parameter is Then, the preset fitting coefficient k is combined with the interpolation surface corresponding to the first curve cluster. Perform multiplication operation to obtain the first multiplication result . And the interpolation surface of the second curve cluster The corresponding weight parameters Interpolating surface with the second curve family Perform multiplication operation to obtain the second multiplication result Finally, the result of the first multiplication operation is summed with the result of the second multiplication operation to obtain the surface model.

[0103] The calculation formula of the surface model is the second fitting function, that is, .

[0104] Among them, here is the surface model, and k is the preset fitting coefficient of the target object. Refers to the result of the first multiplication operation. Refers to the second multiplication result. , which means the surface model is , which is Figure 7 The interpolation surface in front. , which means the surface model at this time is , which is Figure 7 The interpolation surface behind. , you can refer to Figure 8 The surface model shown, at this time and A certain fit is produced, showing different shapes. The size of k can be adjusted according to the needs of the target object.

[0105] It should be noted that the surface model generation process described in this embodiment uses two curve clusters as an example. In actual applications, three or four curve clusters may also appear. Under the target viewing direction selected by the target object, if a curve cluster visually intersects with at least two curve clusters on the projection surface, this method can also be used to calculate the surface model fitted by the interpolation surfaces corresponding to the curve cluster and the at least two curve clusters.

[0106] The embodiments of the present application can be applied to a variety of application scenarios. For example, in aircraft design, the outer surface of the aircraft skeleton structure is fixed to the skeleton by adhesives or rivets to form a dimensional component of the aircraft's aerodynamic shape. The skeleton is a curved grid. In computer-aided design, the target object needs to draw a curved network of the skeleton so that the computer can generate a curved surface. This process is relatively cumbersome and reduces design efficiency. However, through the method of the present application, the target object can draw two curve clusters at different perspectives without creating a complete grid curve. The computer can automatically calculate the intersection of the two curve clusters at the target perspective direction, and generate a smooth skin surface model accordingly, thereby improving the efficiency of aircraft skin design.

[0107] In the fields of animation and game development, skinned surfaces can also be used to create complex character models and animations. Skinned surfaces can simulate the skin and surface details of a character. By controlling the morphological nodes of the model through bones, the morphology of the skinned surface can be affected, making the character's external contour more natural. The embodiments of the present application can automatically identify the intersection points of curves under different perspectives and generate surface models based on these intersection points. This allows the target object to more efficiently create a skinned surface model that conforms to the character's appearance, improving the efficiency of animation and game development.

[0108] In architectural design, modern building facades often use curved grids to form the shape of the exterior walls. Architects usually need to manually draw a large number of interlaced grid curves to ensure the accuracy of subsequent surface generation. However, for complex building exterior walls, manually creating a complete curved grid is not only time-consuming but also difficult to adjust. Through the surface model generation method of this application, designers only need to draw a few curves from different perspectives, and the computer can automatically calculate the intersection and generate a surface that meets the requirements of the building facade, which greatly simplifies the architectural design process and improves the modeling efficiency of the building exterior wall surface model.

[0109] Through the above steps, first of all, compared with the technical path of "multi-curve cluster generation surface" adopted by traditional Gordon surfaces, skin surfaces, etc., this application provides a new surface model generation method, which does not require users to draw curves that actually intersect. It only needs to adjust the main interface perspective of the 3D modeling software so that any two curve clusters visually intersect on the projection surface, and then the subsequent process of generating the corresponding surface model can be executed, avoiding the tedious operation of strictly constructing grid curves with actual intersections in related technologies.

[0110] Secondly, this application controls the generation of interpolation surfaces through user-defined preset fitting coefficients, meets the user's surface model generation needs, and ensures the flexibility of surface model generation.

[0111] Thirdly, when calculating the projected fitting line and interpolated surface, this application constructs a set of control point vectors based on the existing curve order and maintains consistency with the basis function order of the original curve. This eliminates the need to introduce higher-order basis functions or increase the complexity of the surface model during surface model generation. In other words, this method ensures consistency between the surface model and the curve order while ensuring fitting accuracy, helping to reduce the computational overhead of subsequent processing, improve resource utilization during surface model generation, and ultimately improve surface model generation efficiency.

[0112] Therefore, this method not only reduces user interaction operations and improves the automation level of surface model generation, but also significantly improves the generation efficiency of surface models without increasing the complexity of the surface models, and also improves the design efficiency of three-dimensional models.

[0113] In one embodiment of the present application, another method for generating a surface model in a geometry engine is provided, and the method for generating a surface model in a geometry engine can be executed by a computer. Figure 9 As shown, the method for generating a surface model in the geometry engine may include S901 to S910.

[0114] S901 to S910 are described below.

[0115] S901: Obtain at least two curve clusters of a target object input in a geometry engine.

[0116] S902: Obtain the target viewing direction selected by the target object.

[0117] S903 : Generate a ruled surface for each first curve in the first curve cluster according to the target viewing angle direction, and detect a set of projected intersection points between the ruled surface and the second curve cluster.

[0118] The first curve cluster and the second curve cluster are any two curve clusters among the at least two curve clusters, and in the target viewing angle direction, the first curve cluster and the second curve cluster visually intersect on the projection surface.

[0119] S904 : Generate a projection fitting line of each first curve on the second curve cluster according to the projection intersection point set corresponding to each first curve.

[0120] S905: Construct a point vector of each first curve based on the set of projected intersection points corresponding to each first curve, and calculate the coefficient matrix of the projected fitting line of each first curve on the second curve cluster based on the parameter values ​​and basis functions corresponding to each intersection point in the set of projected intersection points corresponding to each first curve on the corresponding first curve. .

[0121] S906: Determine whether there is at least one first curve that satisfies .

[0122] If yes, execute S907; if no, execute S908.

[0123] S907 : Update the basis function of each first curve to update the coefficient matrix of each first curve, and use the updated coefficient matrix as the coefficient matrix of each first curve.

[0124] After executing S907, S908 may be executed.

[0125] S908 . Calculate the control point set vector of each first curve according to the coefficient matrix and augmented matrix corresponding to each first curve.

[0126] S909: Generate an interpolation surface corresponding to the first curve cluster according to the control point set vector of each first curve.

[0127] S910: Generate a surface model according to the obtained preset fitting coefficient, the interpolation surface corresponding to the first curve cluster, and the interpolation surface corresponding to the second curve cluster.

[0128] The interpolation surface corresponding to the second curve cluster in S910 can be obtained in the same manner as in S903 to S909, which specifically includes the following S9101 to S9107.

[0129] S9101: Generate a ruled surface for each second curve in the second curve cluster according to a target viewing angle direction, and detect a set of projected intersection points between the ruled surface and the first curve cluster.

[0130] S9102: Generate a projection fitting line of each second curve on the first curve cluster according to the projection intersection point set corresponding to each second curve.

[0131] S9103: Construct the point vector of each second curve according to the projection intersection set corresponding to each second curve, and calculate the coefficient matrix corresponding to each second curve according to the point vector and basis function of each second curve. .

[0132] S9104: Determine whether there is at least one second curve that satisfies .

[0133] If yes, execute S9105; if no, execute S9106.

[0134] S9105 . Update the basis function of each second curve to update the coefficient matrix of each second curve, and use the updated coefficient matrix as the coefficient matrix of each second curve.

[0135] After executing S9105, you can execute S9106.

[0136] S9106. Calculate the control point set vector of each second curve according to the coefficient matrix and augmentation matrix corresponding to each second curve.

[0137] S9107. Generate an interpolation surface corresponding to the second curve cluster according to the control point set vector of each second curve.

[0138] After executing S9101 to S9107 , a surface model may be generated according to the obtained preset fitting coefficients, the interpolation surface corresponding to the first curve cluster, and the interpolation surface corresponding to the second curve cluster.

[0139] This method automatically generates a surface model based on at least two curve clusters and a target viewing direction, eliminating the need for the subject to manually draw complex curve meshes. This reduces the workload for the subject when designing the image. Furthermore, without introducing higher-order basis functions or increasing the complexity of the surface model, this method helps reduce the computational overhead of subsequent processing and improves resource utilization during surface model generation, thereby increasing the efficiency of surface model generation and 3D model design.

[0140] Figure 10 FIG. 1 is a block diagram of a device for generating a surface model in a geometry engine according to an embodiment of the present application. Figure 10 As shown, the device for generating the surface model in the geometric engine can be applied to a computer, and the device includes.

[0141] A device for generating a surface model in a geometry engine includes: an acquisition unit 1010, used to acquire at least two curve clusters and a target viewing direction in the geometry engine, each curve cluster containing at least one curve; a calculation unit 1020, used to calculate the projected intersection points of each curve in any two curve clusters on all curves in the other curve cluster according to the target viewing direction, to obtain a set of projected intersection points corresponding to each curve; a processing unit 1030, further used to generate interpolated surfaces corresponding to any two curve clusters according to the set of projected intersection points corresponding to each curve and the any two curve clusters; the processing unit 1030 is used to generate a surface model according to a preset fitting coefficient and the interpolated surfaces corresponding to the any two curve clusters.

[0142] In one embodiment of the present application, according to the aforementioned scheme, any two curve clusters include a first curve cluster and a second curve cluster, the first curve cluster includes at least one first curve, and the second curve cluster includes at least one second curve; the processing unit 1030 is further used to generate a projection fitting line of each first curve on the second curve cluster based on the projection intersection point set corresponding to each first curve, and to generate a projection fitting line of each second curve on the first curve cluster based on the projection intersection point set corresponding to each second curve; generate an interpolation surface corresponding to the second curve cluster based on the projection fitting line corresponding to each first curve and the second curve cluster, and generate an interpolation surface corresponding to the first curve cluster based on the projection fitting line corresponding to each second curve and the first curve cluster.

[0143] In one embodiment of the present application, according to the aforementioned scheme, the processing unit 1030 is further used to construct a point vector of each first curve based on the set of projection intersection points corresponding to each first curve; the calculation unit 1030 is used to calculate the coefficient matrix of the projection fitting line of each first curve on the second curve cluster based on the parameter values ​​and basis functions corresponding to each projection intersection point on each first curve; according to the size relationship between the rank of the coefficient matrix and the rank of the augmented matrix, the control point set vector of the projection fitting line of each first curve on the second curve cluster is calculated, and the augmented matrix is ​​composed of a point vector and a coefficient matrix; the processing unit 1030 is also used to generate the projection fitting line corresponding to each first curve based on the control point set vector.

[0144] In one embodiment of the present application, according to the aforementioned scheme, the calculation unit 1020 is further used to calculate the control point set vector of each first curve based on the rank difference between the coefficient matrix corresponding to each first curve and the augmented matrix, the coefficient matrix and the point vector, if the rank of the coefficient matrix corresponding to at least one first curve is less than the rank of the augmented matrix corresponding to the first curve.

[0145] In one embodiment of the present application, according to the aforementioned scheme, the acquisition unit 1010 is also used to obtain the maximum rank difference between the coefficient matrix corresponding to each first curve and the augmented matrix corresponding to each first curve; the processing unit 1030 is also used to update the basis function of each first curve according to the maximum rank difference to obtain the updated basis function of each first curve; according to the point vector of each first curve and the updated basis function, the coefficient matrix of each first curve is updated to obtain the updated coefficient matrix of each first curve; the calculation unit 1020 is also used to calculate the control point set vector of each first curve according to the updated augmented matrix, and the updated augmented matrix is ​​composed of the updated coefficient matrix of each first curve, the updated coefficient matrix and the point vector.

[0146] In one embodiment of the present application, according to the aforementioned scheme, the calculation unit 1020 is further used to calculate the weight parameters corresponding to the interpolation surface of the second curve cluster based on the preset fitting coefficient; multiply the preset fitting coefficient by the interpolation surface corresponding to the first curve cluster to obtain a first multiplication result; multiply the weight parameters corresponding to the interpolation surface of the second curve cluster by the interpolation surface of the second curve cluster to obtain a second multiplication result; and sum the first multiplication result and the second multiplication result to obtain a surface model.

[0147] In one embodiment of the present application, according to the aforementioned scheme, the processing unit 1030 is further used to generate a ruled surface for each curve according to the target viewing angle direction; the acquisition unit 1010 is further used to obtain the projected intersection points of the ruled surface of each curve with all curves in the other curve cluster to obtain a set of projected intersection points corresponding to each curve.

[0148] It should be noted that the apparatus provided in the aforementioned embodiment and the method provided in the aforementioned embodiment belong to the same concept, wherein the specific manner in which each module and unit performs operations has been described in detail in the method embodiment.

[0149] An embodiment of the present application also provides a device for generating a surface model in a geometric engine, comprising: one or more processors; a memory for storing one or more programs, which, when executed by one or more processors, enables the electronic device to implement the above-mentioned method for generating a surface model in a geometric engine.

[0150] An embodiment of the present application further provides a computer program product, comprising computer-readable instructions, which, when executed by a processor, implement the above-mentioned method for generating a surface model in a geometric engine.

[0151] An embodiment of the present application further provides a computer-readable storage medium having computer-readable instructions stored thereon. When the computer-readable instructions are executed by a processor of a computer, the computer executes the method for generating a surface model in the geometric engine as described above.

[0152] Figure 11 It is a structural diagram of a computer system suitable for implementing a device for generating a surface model in a geometry engine in an embodiment of the present application.

[0153] It should be noted that Figure 11 The computer system 1100 of the electronic device shown is only an example and should not bring any limitation to the functions and scope of use of the embodiments of the present application.

[0154] like Figure 11As shown, computer system 1100 includes a central processing unit (CPU) 1101, which can perform various appropriate actions and processes, such as the methods described in the above embodiments, based on programs stored in read-only memory (ROM) 1102 or programs loaded from storage 1108 into random access memory (RAM) 1103. RAM 1103 also stores various programs and data required for system operation. CPU 1101, ROM 1102, and RAM 1103 are interconnected via a bus 1104. An input / output (I / O) interface 1105 is also connected to bus 1104.

[0155] The following components are connected to the I / O interface 1105: an input section 1106 including a keyboard, mouse, and the like; an output section 1107 including devices such as a cathode ray tube (CRT), a liquid crystal display (LCD), and speakers; a storage section 1108 including a hard disk; and a communication section 1109 including a network interface card such as a LAN (Local Area Network) card or a modem. The communication section 1109 performs communication processing via a network such as the Internet. A drive 1110 is also connected to the I / O interface 1105 as needed. Removable media 1111, such as magnetic disks, optical disks, magneto-optical disks, and semiconductor memories, are installed in the drive 1110 as needed, allowing computer programs read from these media to be installed in the storage section 1108 as needed.

[0156] In particular, according to embodiments of the present application, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, embodiments of the present application include a computer program product comprising a computer program carried on a computer-readable medium, the computer program including a computer program for executing the methods illustrated in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via the communication section 1109 and / or installed from removable media 1111. When executed by the central processing unit (CPU) 1101, the computer program performs the various functions defined in the system of the present application.

[0157] It should be noted that the computer-readable medium described in the embodiments of this application may be a computer-readable signal medium or a computer-readable storage medium, or any combination thereof. For example, a computer-readable medium may be an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of computer-readable media may include, but are not limited to, an electrical connection having one or more conductors, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM), flash memory, optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination thereof. In this application, a computer-readable medium may be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, apparatus, or device. In this application, a computer-readable signal medium may include a data signal propagated in baseband or as part of a carrier wave, carrying a computer-readable computer program. This propagated data signal may take a variety of forms, including, but not limited to, electromagnetic signals, optical signals, or any suitable combination thereof. A computer-readable signal medium may also be any computer-readable medium other than a computer-readable storage medium that can transmit, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. A computer program embodied on a computer-readable medium may be transmitted using any suitable medium, including but not limited to wireless, wired, or any suitable combination thereof.

[0158] The flowcharts and block diagrams in the accompanying drawings illustrate the possible implementation architecture, functions and operations of the systems, methods and computer program products according to various embodiments of the present application. Among them, each box in the flowchart or block diagram can represent a module, program segment, or part of the code, and the above-mentioned module, program segment, or part of the code contains one or more executable instructions for implementing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in an order different from that marked in the accompanying drawings. For example, two boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram or flowchart, and the combination of boxes in the block diagram or flowchart, can be implemented by a dedicated hardware-based system that performs the specified function or operation, or can be implemented by a combination of dedicated hardware and computer instructions.

[0159] The units involved in the embodiments described in this application may be implemented by software or hardware, and the units described may also be set in a processor. In some cases, the names of these units do not constitute limitations on the units themselves.

[0160] Another aspect of the present application provides a computer-readable medium having a computer program stored thereon. When executed by a processor, the computer program implements the method for generating a surface model in the geometry engine described above. The computer-readable medium may be included in the electronic device described in the above embodiments, or may exist independently and not be incorporated into the electronic device.

[0161] Another aspect of the present application provides a computer program product or computer program, which includes computer instructions stored in a computer-readable medium. A processor of a computer device reads the computer instructions from the computer-readable medium and executes the computer instructions, causing the computer device to execute the method for generating a surface model in a geometry engine provided in each of the above embodiments.

[0162] The above content is only a preferred exemplary embodiment of the present application and is not intended to limit the implementation scheme of the present application. Ordinary technicians in this field can easily make corresponding changes or modifications based on the main ideas and spirit of the present application. Therefore, the scope of protection of the present application shall be based on the scope of protection required by the claims.

Claims

1. A method for generating a surface model in a geometry engine, characterized in that: include: Obtain at least two curve clusters and a target viewing direction in a geometry engine, where each curve cluster contains at least one curve; calculating, according to the target viewing direction, a projection intersection point of each curve in any two curve clusters on all curves in the other curve cluster to obtain a set of projection intersection points corresponding to each curve, the any two curve clusters comprising a first curve cluster and a second curve cluster, the first curve cluster comprising at least one first curve, and the second curve cluster comprising at least one second curve; Generating a projection fitting line of each first curve on the second curve cluster according to the set of projection intersection points corresponding to each first curve, and generating a projection fitting line of each second curve on the first curve cluster according to the set of projection intersection points corresponding to each second curve; generating an interpolation surface corresponding to the second curve cluster according to the projected fitting line corresponding to each first curve and the second curve cluster, and generating an interpolation surface corresponding to the first curve cluster according to the projected fitting line corresponding to each second curve and the first curve cluster; Generate a surface model according to the preset fitting coefficients and the interpolation surfaces corresponding to the arbitrary two curve clusters; Generating a projection fitting line of each first curve on the second curve cluster according to the projection intersection point set corresponding to each first curve includes: Constructing a point vector of each first curve according to the projection intersection point set corresponding to each first curve; Calculate a coefficient matrix of a projected fitting line of each first curve on the second curve cluster according to the projection intersection points corresponding to each first curve, the corresponding parameter values ​​and basis functions on each first curve; Calculating a control point set vector of a projected fitting line of each first curve on the second curve cluster based on a size relationship between a rank of the coefficient matrix and a rank of an augmented matrix, wherein the augmented matrix is ​​composed of the point vectors and the coefficient matrix; A projection fitting line corresponding to each first curve is generated according to the control point set vector.

2. The method according to claim 1, characterized in that The step of calculating the control point set vector of the projected fitting line of each first curve on the second curve cluster according to the relationship between the rank of the coefficient matrix and the rank of the augmented matrix formed by the point vector and the coefficient matrix comprises: If there is at least one first curve whose corresponding coefficient matrix has a rank smaller than the rank of the augmented matrix corresponding to the first curve, then the control point set vector of each first curve is calculated based on the rank difference between the coefficient matrix corresponding to each first curve and the augmented matrix, the coefficient matrix and the point vector.

3. The method according to claim 2, characterized in that The calculating the control point set vector of each first curve according to the rank difference between the coefficient matrix corresponding to each first curve and the augmented matrix, the coefficient matrix, and the point vector includes: Obtaining a maximum rank difference between rank differences of a coefficient matrix corresponding to each first curve and an augmented matrix corresponding to each first curve; Updating the basis function of each first curve according to the maximum rank difference to obtain an updated basis function of each first curve; updating the coefficient matrix of each first curve according to the point vector of each first curve and the updated basis function to obtain an updated coefficient matrix of each first curve; The control point set vector of each first curve is calculated according to the updated augmented matrix, wherein the updated augmented matrix is ​​composed of the updated coefficient matrix of each first curve, the updated coefficient matrix and the point vector.

4. The method according to claim 1, wherein The generating of the surface model according to the preset fitting coefficient and the interpolation surface corresponding to the arbitrary two curve clusters includes: Calculating a weight parameter corresponding to the interpolation surface of the second curve cluster according to the preset fitting coefficient; performing a multiplication operation on the preset fitting coefficient and the interpolation surface corresponding to the first curve cluster to obtain a first multiplication result; performing a multiplication operation on the weight parameter corresponding to the interpolation surface of the second curve cluster and the interpolation surface of the second curve cluster to obtain a second multiplication result; The first multiplication result and the second multiplication result are summed to obtain the surface model.

5. The method according to claim 1, wherein The step of calculating the projection intersection points of each curve in any two curve clusters on all curves in the other curve cluster according to the target viewing direction to obtain a set of projection intersection points corresponding to each curve includes: generating a ruled surface for each of the curves according to the target viewing angle direction; The projected intersection points of the ruled surface of each curve and all the curves in the opposing curve cluster are obtained to obtain a set of projected intersection points corresponding to each curve.

6. A device for generating a surface model in a geometry engine, characterized in that: include: a memory storing computer-readable instructions; The processor reads the computer-readable instructions stored in the memory to execute the method for generating a surface model in a geometry engine according to any one of claims 1 to 5.

7. A computer program product comprising computer instructions, characterized in that When the computer instructions are executed by a processor, the method for generating a surface model in a geometry engine according to any one of claims 1 to 5 is implemented.

8. A computer-readable storage medium, characterized in that Computer-readable instructions are stored thereon, and when the computer-readable instructions are executed by a processor of a computer, the computer is caused to execute the method for generating a surface model in a geometry engine according to any one of claims 1 to 5.

Citation Information

Patent Citations

  • Projection-based model surface spline generation method

    CN115861547A

  • Bidirectional interpolation curved surface optimization method with guide line and related system

    CN119783334A