A method for shape biasing of a three-dimensional model

CN116797760BActive Publication Date: 2026-08-07SHANDONG UNIV
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
SHANDONG UNIV
Filing Date
2023-05-23
Publication Date
2026-08-07

AI Technical Summary

Technical Problem

这类算法的优点是能够处理复杂和非规则的形状;缺点是隐式函数梯度模长不恒定,在计算时可能会产生偏差和扭曲,且以往的方法在将隐式函数转换为显示表示(如多边形网格)时,会产生精度损失

Benefits of technology

[0036]This invention proposes a novel approach to calculating offset polygonal meshes. Unlike previous algorithms, it can calculate offset mesh surfaces from various forms of 3D model inputs without requiring special preprocessing or post-processing. It improves the isosurface extraction strategy and applies it to implicitly expressed shapes, making the algorithm very robust. The accuracy of the obtained polygonal meshes is controllable, and the offset value can be flexibly adjusted to obtain mesh surfaces of different complexities and smoothness. It can also preserve the sharp features of the original 3D model while avoiding the generation of self-intersecting or non-manifold mesh surfaces.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116797760B_ABST
    Figure CN116797760B_ABST
Patent Text Reader

Abstract

The application provides a shape offset method of a three-dimensional model, comprising: using a projection operation to implicitly express the shape of the three-dimensional model; densely paving a hexahedron grid in space, finding a suitable dual point in each grid by calculating the difference between the distance from a given query point to a surface projection point and a preset offset value, and calculating a generated dual hexahedron grid; finding the dual hexahedron grid intersecting with the offset surface of the three-dimensional model, extracting a local isosurface therefrom, and deriving the shape offset result of the three-dimensional model. The application calculates an offset grid surface from various forms of three-dimensional model input, improves an isosurface extraction strategy and applies the same to a new type of implicitly expressed shape, so that the algorithm is very robust, and the precision of the obtained grid surface is controllable, the offset value can be adjusted to obtain a grid surface with different complexity and smoothness, the sharp features of the original three-dimensional model can be reserved, and the grid surface with self-intersection or non-manifold can be avoided.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of computer-aided design and manufacturing technology, and in particular to a method for shape offsetting of a three-dimensional model. Background Technology

[0002] Shape offset refers to the process of generating a new shape in three-dimensional space that is similar to but does not overlap with the original shape, based on a given distance and direction. This process has wide applications in fields such as computer-aided design, CAD industrial manufacturing, and animation.

[0003] Polygon mesh-based algorithms: These algorithms take a polygon mesh (such as in STL format) as input and generate a new polygon mesh as output by translating or rotating each vertex or face. The advantages of these algorithms are their simplicity and applicability to arbitrary topological shapes; the disadvantages are that they may produce quality issues such as self-intersections, cracks, and sharp angles, requiring post-processing.

[0004] Curve or surface-based algorithms: These algorithms take curves or surfaces (such as NURBS) as input and generate a new curve or surface as output by translating or rotating each control point or segment. The advantage of these algorithms is that they can maintain the smoothness and continuity of the original shape; the disadvantage is that they need to consider complex cases such as curvature changes, inflection points, and singularities, resulting in a large computational load.

[0005] Implicit function-based algorithms: These algorithms take implicit functions (such as the equation of a sphere) as input and generate a new implicit function as output by adding or subtracting the function values. The advantage of these algorithms is their ability to handle complex and irregular shapes; the disadvantages are that the gradient magnitude of the implicit function is not constant, which may introduce bias and distortion during calculation, and previous methods suffered accuracy loss when converting implicit functions to explicit representations (such as polygonal meshes).

[0006] In summary, implicit function-based methods are more robust and stable, but they suffer from issues with the accuracy of model representation and meshing precision. The goal of this patent is to effectively address these problems. Summary of the Invention

[0007] To address the problems existing in the prior art, the present invention provides a method for shape offsetting a three-dimensional model, characterized by comprising:

[0008] S1. Define projection operations for various input types of 3D models. Use projection operations to implicitly express the shape of the 3D model. The projection operation is to find the nearest point from the surface of the 3D model to any point in space.

[0009] S2. In space, densely tessellate a regular hexahedral mesh. By calculating the difference between the distance from the given query point to the surface projection point and the preset offset value, find a suitable dual point in each mesh and calculate to generate a dual hexahedral mesh.

[0010] S3. Find the dual hexahedral mesh that intersects with the offset surface of the 3D model, extract the local isosurfaces from it, and export the shape offset result of the 3D model.

[0011] In an optional embodiment, step S1 includes:

[0012] When the input is a mesh surface, the proximity query package is used to project the mesh surface.

[0013] When the input is a point cloud model, the moving least squares (MLS) method is used to define the projection operation, as follows:

[0014] Given a query point x, first predict the gradient of the directed distance field corresponding to the latent shape at that point. Then, move along the direction of the positive / negative gradient to find the point on the latent shape closest to the query point x, which is the projection point. The k nearest neighbors of the query point x are p1, p2, ..., pk, and nj is the unit normal vector of point pj. The gradient of the query point x can be approximated by the following formula:

[0015]

[0016] In this formula, w represents the Gaussian weighting equation. After obtaining the gradient, the minimum distance from the query point x to the model surface can be predicted using the following formula:

[0017]

[0018] Then, update the query point x, and iterate the calculation of the projection point in this way until it becomes a fixed point;

[0019] When the input is an implicit surface, given the implicit equation f(y) = 0, according to the definition, the projection point x... ′ The nearest point on the surface to the query point x is...

[0020] x ′ =argmin f(y=0) ||(xy)|| 2

[0021] In this formula, y represents a point on the implicit surface. The solution is gradually approximated through iteration. When y becomes a fixed point, an approximate solution is obtained, and the iteration stops.

[0022] In an optional embodiment, step S2 includes:

[0023] An octree is used to partition the 3D model implicitly represented by projection into layers, resulting in a hexahedral mesh with the target precision.

[0024] For each hexahedral mesh that intersects with the offset surface of the 3D model, calculate a vertex representing the surface;

[0025] Connect the vertices within each hexahedral mesh to obtain the dual hexahedral mesh.

[0026] Furthermore, the hierarchical partitioning of the 3D model implicitly represented by projection using an octree includes:

[0027] Wrap the 3D model with a cube, which is the parent node;

[0028] Divide the cube into four equal parts, and treat each part as a child node;

[0029] When a child node contains a portion of a 3D model, it is divided into four equal parts. This process is repeated until the user-specified level is reached.

[0030] Furthermore, the calculation of a vertex representing the surface for each hexahedral mesh that intersects with the offset surface of the 3D model includes:

[0031] Calculate the position and normal vector of all points on the edges of the hexahedral mesh that intersect with the offset surface of the 3D model. Then calculate the average position and average normal vector of all intersection points as the representative point and the normal vector of the representative point.

[0032] In an optional embodiment, step S3 includes:

[0033] Find the target hexahedron that intersects with the offset surface of the 3D model on the dual hexahedron mesh, calculate the intersection points of all edges of the target hexahedron with the offset surface of the 3D model, and link the intersection points into a triangular mesh, which is the local isosurface.

[0034] Local isosurfaces are calculated for all hexahedrons passing through the offset surface of the 3D model to obtain the shape offset result of the 3D model.

[0035] By adopting the above technical solution, the present invention has at least the following beneficial effects:

[0036] This invention proposes a novel approach to calculating offset polygonal meshes. Unlike previous algorithms, it can calculate offset mesh surfaces from various forms of 3D model inputs without requiring special preprocessing or post-processing. It improves the isosurface extraction strategy and applies it to implicitly expressed shapes, making the algorithm very robust. The accuracy of the obtained polygonal meshes is controllable, and the offset value can be flexibly adjusted to obtain mesh surfaces of different complexities and smoothness. It can also preserve the sharp features of the original 3D model while avoiding the generation of self-intersecting or non-manifold mesh surfaces. Attached Figure Description

[0037] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0038] Figure 1 A flowchart illustrating a shape offset method for a three-dimensional model provided in an embodiment of this disclosure;

[0039] Figure 2 A visualization of the octree partitioning results of a 3D pony model;

[0040] Figure 3 This is a schematic diagram of local isosurface extraction. Detailed Implementation

[0041] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.

[0042] Figure 1 A shape offset method for a three-dimensional model provided in this disclosure embodiment, such as Figure 1 As shown in the embodiments of this disclosure, a method for shape offsetting a three-dimensional model includes:

[0043] S1. Define projection operations for various input types of 3D models. Use projection operations to implicitly express the shape of the 3D model. The projection operation is to find the nearest point from the surface of the 3D model to any point in space.

[0044] When the input is a mesh surface, the proximity query package is used to project the mesh surface, and the rectangle swept sphere (RSS) and oriented bounding box (OBB) are used to manage the triangular mesh.

[0045] When the input is a point cloud model, the moving least squares (MLS) method is used to define the projection operation, as follows:

[0046] Given a query point x, first predict the gradient of the directed distance field corresponding to the latent shape at that point. Then, move along the direction of the positive / negative gradient to find the point on the latent shape closest to the query point x, which is the projection point. The k nearest neighbors of the query point x are p1, p2, ..., pk, and nj is the unit normal vector of point pj. The gradient of the query point x can be approximated by the following formula:

[0047]

[0048] In this formula, w represents the Gaussian weighting equation. After obtaining the gradient, the minimum distance from the query point x to the model surface can be predicted using the following formula:

[0049]

[0050] Then, update the query point x, and iterate the calculation of the projection point in this way until it becomes a fixed point;

[0051] When the input is an implicit surface, given the implicit equation f(y) = 0, according to the definition, the projection point x... ′ The nearest point on the surface to the query point x is...

[0052] x ′ =argmin f(y=0) ||(xy)|| 2

[0053] In this formula, y represents a point on the implicit surface. The solution is gradually approximated through iteration. When y becomes a fixed point, an approximate solution is obtained, and the iteration stops.

[0054] S2. In space, densely tessellate a regular hexahedral mesh. By calculating the difference between the distance from the given query point to the surface projection point and the preset offset value, find a suitable dual point in each mesh and calculate to generate a dual hexahedral mesh.

[0055] An octree is used to partition the 3D model implicitly represented by projection into layers, resulting in a hexahedral mesh with the target precision.

[0056] Specifically, such as Figure 2As shown, a 3D pony model is wrapped with a cube, which is the parent node; the cube is divided into four equal parts, and each part is a child node; when a child node contains a part of the 3D model, it is divided into four equal parts, and so on, until the user-specified level is reached, thus realizing the hexahedral tessellation of space.

[0057] For each hexahedral mesh that intersects with the offset surface of the 3D model, calculate a vertex representing the surface;

[0058] Specifically, the positions and normal vectors of all points on the edges of the hexahedral mesh that intersect with the offset surface of the 3D model are calculated. Then, the average position and average normal vector of all intersection points are calculated as the representative point and the normal vector of the representative point.

[0059] Connect the vertices within each hexahedral mesh to obtain the dual hexahedral mesh.

[0060] S3. Find the dual hexahedral mesh that intersects with the offset surface of the 3D model, extract the local isosurfaces from it, and export the shape offset result of the 3D model.

[0061] In this embodiment, the shape offset result is an offset mesh surface.

[0062] Specifically, such as Figure 3 As shown, a target hexahedron that intersects with the offset surface of the 3D model is found on the dual hexahedron mesh. The intersection points of all edges of the target hexahedron with the offset surface of the 3D model are calculated, and the intersection points are linked into a triangular mesh, which is the local isosurface. Local isosurfaces are calculated for all hexahedrons that pass through the offset surface of the 3D model to obtain the shape offset result of the 3D model.

[0063] Unlike existing technical solutions, the three-dimensional model representation method of this application has been changed, which can be applied to more model inputs. The isosurface extraction algorithm has been reshaped according to this representation method, and the sampling method for capturing isosurfaces has been modified, making the polygon mesh accuracy more controllable, which is beneficial to the downstream tasks.

[0064] Although the present invention has been disclosed above with reference to embodiments, it is not intended to limit the present invention. Any person skilled in the art can make some modifications and refinements without departing from the spirit and scope of the present invention. Therefore, the scope of protection of the present invention shall be determined by the claims.

Claims

1. A method for shape offsetting a three-dimensional model, characterized in that, include: S1. Define projection operations for various input types of 3D models. Use projection operations to implicitly express the shape of the 3D model. The projection operation is to find the nearest point from the surface of the 3D model to any point in space. S2. In space, densely tessellate a regular hexahedral mesh. By calculating the difference between the distance from the given query point to the surface projection point and the preset offset value, find a suitable dual point in each mesh and calculate to generate a dual hexahedral mesh. S3. Find the dual hexahedral mesh that intersects with the offset surface of the 3D model, extract the local isosurfaces from it, and export the shape offset result of the 3D model. Step S1 includes: When the input is a mesh surface, the proximity query package is used to project the mesh surface. When the input is a point cloud model, the moving least squares (MLS) method is used to define the projection operation, as follows: Given a query point x, first predict the gradient of the directed distance field corresponding to the latent shape at that point. Then, move along the direction of the positive / negative gradient to find the point on the latent shape closest to the query point x, which is the projection point. The k nearest neighbors of the query point x are p1, p2, ..., pk, and nj is the unit normal vector of point pj. The gradient of the query point x can be approximated by the following formula: In this formula, w represents the Gaussian weighting equation. After obtaining the gradient, the minimum distance from the query point x to the model surface can be predicted using the following formula: Then, update the query point x, and iterate the calculation of the projection point in this way until it becomes a fixed point; When the input is an implicit surface, given the implicit equation f(y)=0, according to the definition, the projection points... The nearest point on the surface to the query point x is... In this formula, y represents a point on the implicit surface. The solution is gradually approximated through iteration. When y becomes a fixed point, an approximate solution is obtained, and the iteration stops.

2. The shape offset method for a three-dimensional model according to claim 1, characterized in that, Step S2 includes: An octree is used to partition the 3D model implicitly represented by projection into layers, resulting in a hexahedral mesh with the target precision. For each hexahedral mesh that intersects with the offset surface of the 3D model, calculate a vertex representing the surface; Connect the vertices within each hexahedral mesh to obtain the dual hexahedral mesh.

3. The shape offset method for a three-dimensional model according to claim 2, characterized in that, The hierarchical partitioning of the 3D model implicitly represented by projection using an octree includes: Wrap the 3D model with a cube, which is the parent node; Divide the cube into four equal parts, and treat each part as a child node; When a child node contains a portion of a 3D model, it is divided into four equal parts. This process is repeated until the user-specified level is reached.

4. The shape offset method for a three-dimensional model according to claim 2, characterized in that, The calculation of a vertex representing the surface for each hexahedral mesh that intersects with the offset surface of the 3D model includes: Calculate the position and normal vector of all points on the edges of the hexahedral mesh that intersect with the offset surface of the 3D model. Then calculate the average position and average normal vector of all intersection points as the representative point and the normal vector of the representative point.

5. The shape offset method for a three-dimensional model according to claim 1, characterized in that, Step S3 includes: Find the target hexahedron that intersects with the offset surface of the 3D model on the dual hexahedron mesh, calculate the intersection points of all edges of the target hexahedron with the offset surface of the 3D model, and link the intersection points into a triangular mesh, which is the local isosurface. Local isosurfaces are calculated for all hexahedrons passing through the offset surface of the 3D model to obtain the shape offset result of the 3D model.