Modeling data generation apparatus using torus patches
The modeling data generation device uses torus patches to replace triangles, addressing inefficiencies in triangle meshes by covering all triangles with fewer patches, thus enhancing model formation speed and efficiency.
Patent Information
- Application Number
- PCT/KR2024/015845
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-12-27
- Filing Date
- 2024-10-18
- Publication Date
- 2025-07-03
AI Technical Summary
The inefficiency in expressing three-dimensional models using triangle meshes due to the need for a large number of triangles, which slows down model formation speed and reduces efficiency.
A modeling data generation device that replaces multiple triangles with a smaller number of torus patches by generating differential geometry data, calculating errors, expanding torus patches to cover triangles within a preset error value, and outputting formal torus patches to cover all triangles efficiently.
Enhances the efficiency of generating modeling data by reducing the number of triangles required, thereby improving model formation speed and reducing computational overhead.
Smart Images

Figure KR2024015845_03072025_PF_FP_ABST
Abstract
Description
Modeling data generation device using torus patches
[0001] The present invention relates to a modeling data generation device using a torus patch.
[0002] Typically, in computer graphics, computer-aided design (CAD), 3D modeling, and printing, the representation of three-dimensional models has been achieved using free-form surfaces or triangular meshes.
[0003] Among the means for expressing 3D models, a triangle mesh is a type of polygonal mesh composed of multiple triangles. Since they are interconnected and can express complex 3D models using only these, it has the advantage of being relatively easy to construct and manipulate. Accordingly, research and development have been actively conducted on 3D geometry algorithms to efficiently express models by processing triangle meshes, such as mesh improvement, optimization, smoothing, deformation, subdivision, morphing, pairing, simplification, and reconstruction.
[0004] However, as the 3D model is expressed more precisely with a triangle mesh, a larger number of triangles are required, and thus, when expressing a 3D model composed of a triangle mesh, there is a problem of reduced efficiency, such as a slowdown in model formation speed.
[0005] Meanwhile, research and development have been conducted on a geometric processing technique for free-form surfaces using precise approximation based on torus patches as a new spatial data structure for efficient geometric operations on free-form surfaces in three dimensions.
[0006] The inventor of the present invention, while devoting himself to research and development to improve the efficiency in expressing three-dimensional modeling, has completed the present invention capable of improving the efficiency of three-dimensional modeling expression by replacing a plurality of triangles constituting a triangular mesh, which is a type of three-dimensional model, with a smaller number of torus patches.
[0007] The purpose of the present invention is to solve the above-mentioned problem, and to provide a modeling data generation device using torus patches that can increase the efficiency of generating modeling data by replacing a plurality of triangles included in a triangle mesh constituting modeling data with a smaller number of torus patches.
[0008] The purpose of the present invention is not limited to the purposes mentioned above, and other purposes not mentioned can be clearly understood from the description below.
[0009] In order to achieve the above-described object, a modeling data generation device using a torus patch according to one aspect of the present invention comprises: a modeling data preparation unit that prepares modeling data composed of a triangle mesh including a plurality of triangles; a differential geometry data generation unit that generates differential geometry data including curvatures and principal directions for vertices of triangles included in the triangle mesh constituting the modeling data prepared by the modeling data preparation unit using a preset surface fitting method; a candidate torus patch generation unit that generates a plurality of candidate torus patches for each of the plurality of vertices of the triangles using the differential geometry data; an error calculation unit that calculates a distance between a torus patch including the candidate torus patch and the triangle as an error; a torus patch expansion unit that expands the torus patch so that the torus patch covers the triangle when the error calculated by the error calculation unit is less than a preset error value; And it includes a formal torus patch generation unit that generates a first torus patch having the largest size among the torus patches expanded by the torus patch expansion unit, and a second torus patch having an area that does not intersect with the first torus patch among the torus patches expanded by the torus patch expansion unit as formal torus patches.
[0010] The modeling data generation device using a torus patch to achieve the above-described purpose according to embodiments of the present invention by the above-described configuration has the following effects.
[0011] By generating modeling data by generating torus patches that cover the vertices of multiple triangles included in a triangle mesh that constitutes modeling data, it is possible to generate modeling data more efficiently by replacing multiple triangles with a smaller number of torus patches.
[0012] FIG. 1 is a block diagram illustrating the configuration of a modeling data generation device using a torus patch according to an embodiment of the present invention.
[0013] FIG. 2 is a block diagram illustrating a modeling data generation device using a torus patch according to an embodiment of the present invention.
[0014] FIG. 3 is a drawing for explaining a candidate torus patch generation unit and a torus patch expansion unit of a modeling data generation device using a torus patch according to an embodiment of the present invention.
[0015] FIG. 4 is a drawing for explaining a torus patch expansion part of a modeling data generation device using a torus patch according to an embodiment of the present invention.
[0016] Figure 5 is a drawing for explaining a torus patch.
[0017] In order to achieve the above-described object, a modeling data generation device using a torus patch according to one aspect of the present invention comprises: a modeling data preparation unit that prepares modeling data composed of a triangle mesh including a plurality of triangles; a differential geometry data generation unit that generates differential geometry data including curvatures and principal directions for vertices of triangles included in the triangle mesh constituting the modeling data prepared by the modeling data preparation unit using a preset surface fitting method; a candidate torus patch generation unit that generates a plurality of candidate torus patches for each of the plurality of vertices of the triangles using the differential geometry data; an error calculation unit that calculates a distance between a torus patch including the candidate torus patch and the triangle as an error; a torus patch expansion unit that expands the torus patch so that the torus patch covers the triangle when the error calculated by the error calculation unit is less than a preset error value; And it includes a formal torus patch generation unit that generates a first torus patch having the largest size among the torus patches expanded by the torus patch expansion unit, and a second torus patch having an area that does not intersect with the first torus patch among the torus patches expanded by the torus patch expansion unit as formal torus patches.
[0018] The advantages and features of the present invention, and the methods for achieving them, will become clearer with reference to the embodiments described in detail below together with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but may be implemented in various different forms. These embodiments are provided only to ensure that the disclosure of the present invention is complete and to fully inform those skilled in the art of the scope of the invention. Meanwhile, the terminology used in this specification is for the purpose of describing the embodiments and is not intended to limit the present invention. In this specification, the singular includes the plural unless specifically stated otherwise.
[0019] Hereinafter, a modeling data generation device using a torus patch according to an embodiment of the present invention, for achieving the aforementioned purpose according to an embodiment of the present invention, will be described in detail with reference to the attached drawings.
[0020] A modeling data generation device (10) using a torus patch according to one embodiment of the present invention may include a modeling data preparation unit (100), a differential geometry data generation unit (200), a candidate torus patch generation unit (300), an error calculation unit (400), a torus patch expansion unit (500), a formal torus patch generation unit (600), and a modeling output unit (700).
[0021] A modeling data generation device (10) using a torus patch according to one embodiment of the present invention may be provided in a computer (20) in the form of software or a program, and for example, may be pre-installed in the computer (20) in the form of software or a program.
[0022] A computer (20) equipped with a modeling data generation device (10) using a torus patch according to one embodiment of the present invention may include an input / output module (21) for inputting and outputting data, a memory (22) for storing the modeling data generation device (10) using a torus patch, and a processor (23) for executing the modeling data generation device (10) using a torus patch.
[0023] The processor (23) of the computer (20) equipped with the modeling data generation device (10) using the torus patch is a type of central processing unit, which may mean a data processing device built into hardware that has a physically structured circuit to perform a function expressed by a code or command included in a program, and may be a processing device including at least one of a microprocessor, a central processing unit (CPU), a processor core, a multiprocessor, an application-specific integrated circuit (ASIC), and a field programmable gate array (FPGA), but is not limited thereto.
[0024] The function of each component included in the modeling data generation device (10) using a torus patch can be expressed as a code or command, and the processor (23) of the computer (20) can execute the modeling data generation device (10) using a torus patch by executing the code or command of each component included in the modeling data generation device (10) using a torus patch.
[0025]
[0026] The modeling data preparation unit (100) may prepare modeling data composed of a triangular mesh including a plurality of triangles.
[0027] The modeling data preparation unit (100) can prepare modeling data having a predetermined shape by being composed of a triangular mesh formed by connecting multiple triangles to each other.
[0028] The modeling data preparation unit (100) can prepare modeling data by receiving modeling data through the input / output module (21) according to external input, but is not limited thereto, and can prepare modeling data by generating modeling data according to external input.
[0029] The modeling data preparation unit (100) can prepare modeling data composed of a triangular mesh expressed as a set of vertices (V), edges (E), and triangular faces (F).
[0030] The modeling data preparation unit (100) can prepare modeling data generated in a preset coordinate system, and at this time, the preset coordinate system can be a rectangular coordinate system having an x-axis, a y-axis, and a z-axis.
[0031] A triangle included in a triangle mesh that constitutes modeling data prepared in the modeling data preparation unit (100) may be configured to include three vertices, and at this time, the vertices may be unique indices that are coordinate values in the aforementioned coordinate system.
[0032]
[0033] The differential geometry data generating unit (200) may generate differential geometry data composed of curvature and principal direction for each vertex of a plurality of triangles included in a triangle mesh constituting modeling data prepared by the modeling data preparation unit (100).
[0034] The differential geometry data generating unit (200) can generate differential geometry data composed of curvature and principal direction for each vertex of a plurality of triangles included in a triangle mesh constituting modeling data prepared by the modeling data preparation unit (100) using a preset surface fitting method.
[0035] At this time, the surface fitting method can be used as the method disclosed in "Goldfeather, Jack, and Victoria Interrante. "A novel cubic-order algorithm for approximating principal direction vectors." ACM Transactions on Graphics (TOG) 23.1 (2004): 45-63.", and since calculating the curvature and principal direction of a triangle using the surface fitting method is a technical matter that is obvious to those skilled in the art, a more detailed explanation is omitted for the convenience of explanation.
[0036]
[0037] The candidate torus patch generation unit (300) can generate a plurality of candidate torus patches corresponding to each vertex of a plurality of triangles included in a triangle mesh constituting modeling data prepared in a modeling data preparation unit (100) using differential geometry data generated in a differential geometry data generation unit (200).
[0038] The candidate torus patch generation unit (300) can generate a plurality of candidate torus patches corresponding to each vertex of a plurality of triangular meshes constituting modeling data prepared in the modeling data preparation unit (100) using the curvature and principal direction constituting differential geometry data.
[0039] The candidate torus patch generation unit (300) can generate a plurality of candidate torus patches corresponding to each unique index of each vertex of a plurality of triangles included in a triangle mesh constituting modeling data prepared in the modeling data preparation unit (100).
[0040] The candidate torus patch generation unit (300) can generate a candidate torus patch in which the center on the central axis and the major radius and minor radius are calculated using the following mathematical expressions 1 to 3 for the vertex p included in the triangular mesh constituting the modeling data prepared in the modeling data preparation unit (100).
[0041]
[0042] In mathematical expression 1, C is the center on the central axis of the candidate torus patch generated for any one vertex p included in the triangle mesh, and n is the unit vertex normal.
[0043]
[0044] In Equation 2, R is the principal radius of the candidate torus patch being generated.
[0045]
[0046] In Equation 3, r is the minor radius of the candidate torus patch.
[0047] In mathematical expressions 1 to 3, k1 and k2 are principal curvatures at any one of the vertices constituting a triangle included in the triangle mesh constituting the modeling data prepared in the modeling data preparation unit (100).
[0048] The candidate torus patch generation unit (300) can generate a candidate torus patch whose axis direction is e2, and at this time, the axis direction e2 can be the principal direction of k2, which is the principal curvature in the triangle mesh.
[0049]
[0050] The candidate torus patch generation unit (300) can generate a candidate torus patch using a torus whose parameter equation is defined by the mathematical expression 4 below.
[0051]
[0052] In mathematical expression 4, R is the major radius of the candidate torus patch, r is the minor radius of the candidate torus patch, and u and ν are parameters that can define the domain that the candidate torus patch wants to use in a preset coordinate system.
[0053] That is, the candidate torus patch generation unit (300) can generate a torus whose parameter equation is expressed by mathematical expression 4 using a preset algorithm and generate a candidate torus patch by adjusting the ranges of parameters u and ν expressed in mathematical expression 4. At this time, the preset algorithm can use the method disclosed in 'Liu, Xiao-Ming, et al. "A torus patch approximation approach for point projection on surfaces." Computer Aided Geometric Design 26.5 (2009): 593-598.'
[0054]
[0055] The error calculation unit (400) may calculate the error between the triangles included in the triangle mesh constituting the modeling data prepared in the torus patch and the modeling data preparation unit (100).
[0056] The torus patch used for calculating the error in the error calculation unit (400) may include a candidate torus patch generated in the candidate torus patch generation unit (300) and a candidate torus patch expanded in the torus patch expansion unit (500).
[0057] The error calculated by the error calculation unit (400) may be the distance between the triangles included in the triangle mesh constituting the modeling data prepared by the torus patch and the modeling data preparation unit (100), and the error calculation unit (400) may calculate the distance between the triangles included in the triangle mesh constituting the modeling data prepared by the torus patch and the modeling data preparation unit (100) using a preset method.
[0058] At this time, the preset method by which the error calculation unit (400) calculates the distance may be a method corresponding to any one of point projection, sampling, and normal matching, and preferably, the distance between the vertices of the triangles included in the triangle mesh and the torus patch may be measured using the point projection method.
[0059] For example, the error calculation unit (400) can measure the distance between the vertices of triangles included in the triangle mesh and the torus patch using the point projection method disclosed in "Liu, XM, Yang, L., Yong, JH, Gu, HJ, Sun, JG, 2009. A torus patch approximation approach for point projection on surfaces. Computer Aided Geometric Design 26, 593-598."
[0060] In more detail, the error calculation unit (400) calculates three projection distances by projecting three vertices constituting one of a plurality of triangles included in the triangle mesh onto a torus patch, and if the largest projection distance among the three projection distances is outside a preset tolerance range, the corresponding projection distance can be calculated as an error. If the largest projection distance among the three projection distances is within a preset tolerance range, the error calculation unit (400) measures the distance at a position where the normal vector of the triangle and the normal vector of the torus patch match, and if the measured distance is outside the preset tolerance range, the corresponding distance can be calculated as an error. The error calculation unit (400) can sample the interior of the triangle to obtain multiple points when the distance measured at the position where the normal vector of the triangle and the normal vector of the torus patch coincide is within a preset allowable error range or when the normal vector of the triangle does not exist in the normal vector range of the torus patch, and then project the obtained points onto the torus patch to obtain the maximum distance among the projected distances as the error.
[0061] The error calculation unit (400) can calculate the error between any one of a plurality of triangles included in the triangle mesh constituting the modeling data prepared in the modeling data preparation unit (100) and the torus patch.
[0062] When a candidate torus patch corresponding to a vertex of a triangle included in a triangle mesh is generated in the candidate torus patch generation unit (300), the error calculation unit (400) can calculate an error between a triangle located adjacent to a vertex corresponding to the candidate torus patch and the candidate torus patch.
[0063]
[0064] The torus patch expansion unit (500) may expand the torus patch so that the torus patch covers the triangle that is the target of error calculation if the error calculated by the error calculation unit (400) is less than a preset error value.
[0065] The torus patch expanded in the torus patch expansion unit (500) may include a candidate torus patch generated in the candidate torus patch generation unit (300).
[0066] The torus patch expansion unit (500) may be configured to expand the candidate torus patch so that, if the error between the candidate torus patch generated by the candidate torus patch generation unit (300) generated by the error calculation unit (400) and the triangle constituting the modeling data prepared by the modeling data preparation unit (100) is less than a preset error value, the candidate torus patch used to generate the error corresponding to the error value less than the preset error value covers the triangle.
[0067] The torus patch expansion unit (500) can cause the error calculation unit (400) to calculate an error between a triangle located adjacent to a vertex corresponding to the candidate torus patch and the candidate torus patch when a candidate torus patch corresponding to a vertex of a triangle included in a triangle mesh is generated in the candidate torus patch generation unit (300), and can expand the candidate torus patch to cover a triangle used to calculate an error less than a preset error value among the triangles for which an error is calculated.
[0068] For example, as illustrated in FIG. 3, if the candidate torus patch generation unit (300) generates a candidate torus patch (A) for one vertex of a triangle included in a triangle mesh, the torus patch expansion unit (500) can expand the candidate torus patch to cover four triangles if there are four triangles corresponding to an error less than a preset error value among six triangles located adjacent to the vertex p corresponding to the candidate torus patch (A).
[0069] The torus patch expansion unit (500) can expand the candidate torus patch so that the candidate torus patch covers the triangle by determining the range of parameters u and v expressed in mathematical expression 4 for the candidate torus patch generated by the candidate torus patch generation unit (300).
[0070] The torus patch expansion unit (500) can cause the error calculation unit (400) to calculate an error for the expanded candidate torus patch and the triangles adjacent thereto when the candidate torus patch is expanded, and can expand the expanded candidate torus patch to cover the triangles used to calculate the error that is less than a preset error value. At this time, the triangles adjacent to the expanded candidate torus patch may be triangles that share an edge with the outermost triangles among the triangles covered by the expanded candidate torus patch.
[0071] For example, as shown in FIG. 4, if the expanded candidate torus patch covers six triangles (B), and accordingly, if there are six triangles (B) existing at the outermost edge, the error calculation unit (400) can calculate errors for six triangles (C) that share each side of the six triangles, and the candidate torus patch can be expanded to cover the triangles used to calculate errors less than a preset error value.
[0072] The torus patch expansion unit (500) can repeatedly expand the torus patch until there is no triangle corresponding to which the calculated error is less than a preset error value when calculating the error using the error calculation unit (400) for the torus patch and the triangle adjacent thereto.
[0073] Meanwhile, in this specification, the torus patch may include a candidate torus patch generated by the candidate torus patch generation unit (300), an extended candidate torus patch, and a formal torus patch generated by the formal torus patch generation unit (600), and the torus patch may have a convex or concave shape with positive or negative curvature as illustrated in FIG. 5, and may also have a part with a curvature of 0, so that it may not be affected by whether the surface is convex or concave.
[0074]
[0075] The formal torus patch generation unit (600) can generate the first torus patch that covers the largest number of triangles among the torus patches expanded in the torus patch expansion unit (500) as a formal torus patch.
[0076] In addition, the formal torus patch generation unit (600) can generate a second torus patch that does not overlap with the first torus patch among the torus patches expanded by the torus patch expansion unit (500) as a formal torus patch, and if there are multiple second torus patches, all of the multiple second torus patches can be generated as formal torus patches, and if there are no second torus patches, only the first torus patch can be generated as a formal torus patch.
[0077] At this time, the meaning that the areas of the first torus patch and the second torus patch do not overlap may mean that the indices of the triangles covered by the first torus patch and the indices of the triangles covered by the second torus patch do not overlap each other.
[0078] The formal torus patch generation unit (600) can generate formal torus patches until all of the plurality of triangles included in the triangle mesh constituting the modeling data prepared in the modeling data preparation unit (100) are covered with the formal torus patches. At this time, the meaning of all of the plurality of triangles included in the triangle mesh constituting the modeling data prepared in the modeling data preparation unit (100) being covered with the formal torus patches may mean that all of the unique indices of the plurality of triangles constituting the modeling data prepared in the modeling data preparation unit (100) are included in the formal torus patch.
[0079] That is, the formal torus patch generation unit (600) can generate modeling data in which a plurality of triangles included in the triangle mesh constituting the modeling data prepared in the modeling data preparation unit (100) are all covered with formal torus patches.
[0080] To this end, the candidate torus patch generation unit (300) can generate candidate torus patches for each vertex of a triangle not covered by a formal torus patch if there is a triangle included in the triangle mesh constituting the modeling data prepared by the modeling data preparation unit (100) that is not covered by a formal torus patch after the formal torus patch generation unit (600) generates the formal torus patch.
[0081] Accordingly, after a formal torus patch is generated, an error calculation unit (400) can calculate an error for a triangle that is not covered by the candidate torus patch generated by the candidate torus patch generation unit (300) and the formal torus patch, and a torus patch expansion unit (500) can expand the torus patch to cover a triangle corresponding to which the calculated error is less than a preset error value, and a formal torus patch generation unit (600) can generate a formal torus patch using the torus patch expanded by the torus patch expansion unit (500).
[0082] The modeling output unit (700) may output modeling data generated in the formal torus patch generation unit (600).
[0083] The modeling output unit (700) can output modeling data generated in the formal torus patch generation unit (600) through an input / output module (21) that inputs / outputs data from a computer (20).
[0084]
[0085] Meanwhile, in the modeling data prepared in the modeling data preparation unit (100), an area in which some triangles are missing from the triangle mesh and holes are formed may be formed, and as a result, holes may also be formed in the modeling data generated when all triangles prepared in the modeling data preparation unit (100) are covered with a formal torus patch.
[0086] A modeling data generation device (10) using a torus patch according to one embodiment of the present invention may further include a hole patch generation unit (800).
[0087] When a hole is created in the modeling data prepared in the modeling data preparation unit (100), an area where a hole is created may also be formed in the modeling data generated in the formal torus patch generation unit (600), and a boundary composed of sides of triangles included in the triangle mesh may be located between the area where the hole is created and the area where the triangle mesh is formed, and a vertex of a triangle included in the triangle mesh may be located at the boundary, and the vertex of the triangle included in the triangle mesh may be covered by a formal torus patch generated in the formal torus patch generation unit (600).
[0088] When a region where a hole is formed exists in the modeling data generated by the modeling data preparation unit (100), and a region where a hole is formed is also formed in the modeling data generated by the formal torus patch generation unit (600), the hole patch generation unit (800) generates a hole patch to fill the region where a hole is formed using a preset hole-filling algorithm, and can optimize the hole patch by using any one of the formal torus patches generated by the formal torus patch generation unit (600) that includes a vertex located at the boundary.
[0089] If a region where a hole is formed exists in the modeling data generated by the modeling data preparation unit (100), and a region where a hole is formed is also formed in the modeling data generated by the formal torus patch generation unit (600), the hole patch generation unit (800) can generate a hole patch to fill the region where the hole is formed using a preset hole-filling algorithm.
[0090] The hole patch generation unit (800) uses a preset hole-filling algorithm for generating a hole patch. The algorithm is not limited to one commonly used for filling a region where a triangle is missing and a hole is formed in a 3D modeling composed of a polygon mesh, and for example, any one of the methods disclosed in "Attene, M. (2010). A lightweight approach to repairing digitized polygon meshes. The visual computer, 26, 1393-1406." and the methods disclosed in "Polygon mesh processing in: CGAL User and Reference Manual. 4.7 ed. Loriot, S., Tournois, J., Yaz, IO CGAL Editorial Board." can be used.
[0091] When a region where a hole is formed exists in the modeling data generated by the modeling data preparation unit (100), and a region where a hole is formed is also formed in the modeling data generated by the formal torus patch generation unit (600), the hole patch generation unit (800) selects a formal torus patch that covers a vertex (hereinafter, a boundary vertex) located at the boundary between the region where a hole is formed and the region where a formal torus patch is generated, and when the normal vectors of the boundary vertices and the neighboring vertices are projected, the formal torus patch that minimizes the angle between the normal vectors of the boundary vertices and the neighboring vertices can be selected, and the normal vector of the boundary vertex can be replaced with the normal vector of the selected formal torus patch.
[0092] Thereafter, the hole patch generation unit (800) can estimate the normal vector of a vertex (hereinafter, internal vertex) inside a hole patch generated using a preset hole patch algorithm using a preset inverse distance weighting based on the normal vector of the selected formal torus patch, generate a cone with the estimated normal vector as an axis, move the internal vertex on the generated cone, and find the coordinates at which the angle between the normal vector of the reference vertex and the normal vectors of neighboring triangles is minimized, and change the position of the internal vertex to the found position, thereby optimizing the hole patch.
[0093] In more detail regarding the inverse distance weighting method used by the hole patch generation unit (800), the hole patch generation unit (800) generates a boundary vertex {x i , u i │for x i ∈R 3 , u i For {∈R}, the inverse distance weighting function u(x) = R 3 →R 3 The normal vector of an internal vertex can be estimated using the inverse distance weighting function defined by the mathematical expression 5 below.
[0094]
[0095] In Equation 5, u(x) is the estimated normal vector, X is the coordinate of the point to be interpolated, Xi is the coordinate of the already known point, d(X, Xi) is the distance between the points X and Xi, N is the number of X used for interpolation, and P can be a power of a positive real number.
[0096] When the hole patch generation unit (800) optimizes the hole patch through the aforementioned process, the area where the hole is formed in the prepared modeling data due to missing triangles can be restored more precisely.
[0097]
[0098] Those skilled in the art will appreciate that the present invention can be implemented in other specific forms without altering its technical spirit or essential characteristics. Therefore, the embodiments described above should be understood as illustrative in all respects and not restrictive. The scope of the present invention is defined by the claims below rather than the detailed description above, and all changes or modifications derived from the claims and their equivalents should be construed as being included within the scope of the present invention.
[0099] The present invention relates to a modeling data generation device using a torus patch.
Claims
1. Modeling data preparation section that prepares modeling data consisting of a triangle mesh containing multiple triangles; A differential geometry data generation unit that generates differential geometry data including curvature and principal direction for vertices of triangles included in a triangle mesh constituting the modeling data prepared in the modeling data preparation unit using a preset surface fitting method; A candidate torus patch generation unit that generates a plurality of candidate torus patches for each of the vertices of a plurality of triangles using the above differential geometry data; An error calculation unit that calculates the distance between the torus patch including the candidate torus patch and the triangle as an error; A torus patch expansion unit that expands the torus patch so that the torus patch covers the triangle if the error calculated by the error calculation unit is less than a preset error value; and A formal torus patch generating unit comprising: a first torus patch having the largest size among the torus patches expanded by the torus patch expanding unit; and a second torus patch having an area that does not intersect the first torus patch among the torus patches expanded by the torus patch expanding unit, as a formal torus patch; A device for generating modeling data using torus patches.
2. In the first paragraph, the torus patch extension part After the candidate torus patch generation unit generates a candidate torus patch corresponding to the vertex of the triangle, the error calculation unit calculates an error between the triangle located adjacent to the vertex corresponding to the candidate torus patch and the candidate torus patch, and expands the candidate torus patch to cover the triangle used to calculate an error less than a preset error value among the triangles. A device for generating modeling data using torus patches.
3. In the first paragraph, the formal torus patch generating unit Generating a formal torus patch until multiple triangles included in a triangle mesh constituting modeling data prepared in the above modeling data preparation section are all covered with a formal torus patch, thereby generating modeling data in which the triangle mesh is all covered with the formal torus patch. A device for generating modeling data using torus patches.
4. In paragraph 3, The above candidate torus patch generator After generating a formal torus patch in the above formal torus patch generation unit, if there are multiple triangles included in the triangle mesh constituting the modeling data prepared in the above modeling data preparation unit that are not covered by a formal torus patch, a candidate torus patch is generated for each vertex of the triangle that is not covered by a formal torus patch. The above error calculation section After the above-mentioned formal torus patch is generated, an error is calculated for the candidate torus patch generated and the triangles not covered by the above-mentioned formal torus patch. The above torus patch extension Expanding the torus patch to cover the triangles corresponding to which the generated error is less than a preset error value. A device for generating modeling data using torus patches.
5. In paragraph 1, If there is a region where a hole is formed in the modeling data generated by the above-mentioned formal torus patch generation unit, a hole patch is generated to fill the region where the hole is formed using a preset hole-filling algorithm, and the hole patch is optimized using one of the formal torus patches generated by the above-mentioned formal torus patch generation unit that includes a vertex located on the boundary. A device for generating modeling data using torus patches.
Citation Information
Patent Citations
Model generation device and model generation method
JP2021189478A
Elastic putty composition with self-healing function and method for repairing concrete outer wall cracks using the same
KR102519944B1