The invention relates to methods for generating a volumetric texture for a 3D model of a physical object.
It is known to process boundary-surface models with regard to their appearance. For this purpose, textures, in particular two-dimensional image textures, are usually applied to the surface of a 3D model in visualization programs. By changing the surface, or boundary surface, of the 3D model, the surface of the object can be enriched by details without thereby increasing the complexity of the object geometry. For example, the color of the surface can be changed, the normal vector of surface portions, or the surface can even be displaced in portions.
3D effects can be simulated in particular by adapting the normal vector of surface portions of an object. This visualization technique is also known as “bump mapping.” Bump mapping can be used, for example, to simulate a rough surface on the 3D model of an object, even though the surface itself is smooth.
With regard to 3D printing, however, the usual methods for bump mapping an object have the disadvantage that the simulated 3D effects only exist virtually; i.e. they are missing from the physical, 3D-printed object, or cannot be printed. This is because the normal vector of a surface can be changed or adjusted only in a simulation, but not in the case of a real surface of a physical object in the real world.
The object of the present invention is therefore to provide methods by means of which bump mapping of real physical objects is made possible, wherein the real physical object is produced by a 3D printing process.
The object is achieved by a method having the features according to the independent claim 1. Advantageous developments of the invention are defined in the dependent subclaims.
According to the invention, a method for generating a volumetric texture for a 3D model of a physical object is provided. The 3D model comprises a triangulated surface with a plurality of first triangles. Each first triangle of the plurality of first triangles has a surface normal. Each corner of each first triangle of the plurality of first triangles has first texture coordinates and a corner normal.
For each first triangle, in a first step a first plane is generated parallel to the first triangle at a first specified distance along the surface normal of the first triangle.
In a second step, a second triangle projected onto the first plane by means of the corner normal of the first triangle is generated.
In a third step, a volume region is generated. The volume region has a number of second voxels and comprises the first triangle and the second triangle; i.e., the first triangle and the second triangle lie within the volume region. The volume region thus surrounds the number of second voxels and the first triangle.
In a fourth step, iteration is carried out over the number of second voxels, wherein a first distance of the corresponding second voxel from the first triangle is calculated and a third triangle, projected on a second parallel plane spaced apart by the first distance, is generated. Second texture coordinates are assigned to each corner of the third triangle. Third texture coordinates are derived from the second texture coordinates for the corresponding second voxel.
In a fifth step, a voxel model is generated. The voxel model comprises first voxels. The second voxels correspond to the first voxels. The third texture coordinates and the first distance of the at least one second voxel are assigned to the corresponding first voxels as 3D coordinates. As a result, the voxel model represents the volumetric texture of the 3D model.
The method according to the invention can be applied to 3D models with any triangulated surface and is therefore versatile in its use. A volumetric texture represented by a voxel model has a number of advantages.
Firstly, the volumetric texture can be modeled with almost any level of detail. Each voxel of the voxel model of the volumetric texture can have different materials or different colors or can differ in other manufacturing parameters. In this way, a digital bump mapping applied to a 3D model in conventional visualization programs can be transferred to real physical objects from the 3D printer.
Secondly, voxel models can be processed extremely efficiently and robustly, i.e. without numerical instabilities. For example, processing operations of the voxel model can be parallelized and/or accelerated by means of binary computing operations. A volumetric texture represented by a voxel model can thus be processed considerably faster and more efficiently than a volumetric texture represented by a polygon-based model.
Thirdly, the method according to the invention is based on geometric operations that are easy to perform and not very computationally intensive, such as opening out a parallel plane or calculating intersection points of corner normals with the parallel plane. The method thus enables an efficient generation of second voxels and calculation of their texture coordinates. The method according to the invention can accordingly also be applied to larger boundary surface models or surfaces of objects.
It is advantageous, in a union step, to determine a union set of the second voxels of all volume regions in order to remove overlapping second voxels. Overlapping second voxels arise in particular in the case of adjacent first triangles of a concave surface portion of the 3D model.
The advantage of forming a union set of the second voxels of all volume regions is that overlapping second voxels are eliminated, which increases the efficiency of processing the volumetric texture in two aspects: the processing of the volumetric texture is accelerated, and less memory is required to store the resulting voxel model, i.e. the volumetric texture.
It is also advantageous if the voxel model is applied to the 3D model of the physical object in a transformation step. For this purpose, the 3D texture coordinates of the first voxels of the voxel model are transformed into Cartesian coordinates X, Y and Z.
By applying the voxel model to the 3D model, the 3D model, including the volumetric texture, can be produced in a 3D printer. In this way, digital visualization effects, such as rough or patterned surfaces, can be realized on a physical object in almost any level of detail.
In an advantageous aspect of the invention, a distance attribute is assigned to each first voxel of the voxel model, wherein a second distance is assignable to the distance attribute. The second distance is measured between the corresponding first voxel and a second surface of the physical object terminating the volumetric texture.
An envelope of constant thickness is not usually placed over the surface of an object as a volumetric texture, but rather an envelope whose thickness varies locally. It is therefore advantageous to assign to each voxel a distance to the resulting surface of the physical object by means of a distance attribute, i.e. the surface which results from application of the volumetric texture to the original physical object.
It is advantageous to assign a second specified distance to the distance attribute of selected first voxels in order to form the volumetric texture.
In an advantageous aspect of the method according to the invention, those second voxels are discarded whose first distance from the first triangle is negative or greater than the first specified distance.
Voxels which lie below the surface of the object or far outside the volumetric texture to be applied can thereby be eliminated. The number of second voxels is thus reduced to those second voxels which are required to generate the volumetric texture.
Advantageously, the second voxels of which one of the third texture coordinates is negative are discarded.
A further limitation of the number of second voxels to those which are minimally required to represent the volumetric texture has the technical advantage that the complexity of the voxel model is considerably reduced. This results in a faster or more efficient processing of the voxel model.
Furthermore, it is advantageous if the second voxels of the volume region are each aligned identically, i.e. in parallel, for each of the first triangles.
The spatial alignment of the volume regions can define the spatial alignment of the second voxels. It is thus advantageous to align all the volume regions in parallel. Second voxels aligned in parallel make it easier to process the voxel model as a whole. For example, binary operations such as forming a union set can be performed more efficiently with second voxels aligned in parallel.
Advantageously, in the fourth step the third texture coordinates are calculated as barycentric coordinates in the third triangle.
It is further advantageous if in the fourth step the third texture coordinates (UV; VV) are calculated by means of trilinear interpolation between second voxels (VX2).
Further details and features of the method according to the invention, as well as specific, in particular advantageous embodiments of the method according to the invention result from the following description in conjunction with the drawings. In the figures:
The 3D model of a physical object for which a volumetric texture is to be generated comprises a triangulated surface with a plurality of first triangles. For example, the surface of the physical object can be represented by a triangulated irregular network (TIN). Here two adjacent first triangles each share an edge and two corner points, so that the surface of the physical object is represented by a network of non-overlapping first triangles.
The method according to the invention is explained below on the basis of such a first triangle D1 shown in
Each corner of each first triangle D1 has first texture coordinates UD1; VD1. The texture coordinates are usually generated by a UV mapping. UV mapping is the process by which a 2D image of the surface of a 3D model is generated. Accordingly, the 2D image represents an unfolded network structured by triangles. The corner points of the triangles, i.e. the nodes in the unfolded network, are assigned 2D texture coordinates UD1; VD1, wherein each of the texture coordinates usually has a value in the interval between zero and one.
Each first triangle D1 has a surface normal ND.
Furthermore, each corner of each first triangle has a corner normal ND1, ND2, ND3. Depending on the curvature of the surface of the physical object, in a corner divided by two adjacent first triangles D1 the corner normal ND1 of the one triangle may deviate from the corner normal ND1 of the neighboring triangle.
As shown in
In the second step S2, a second triangle D2 projected onto the first plane E1 by means of the corner normals ND1; ND2; ND3 of the first triangle D1 is generated.
The three corner points of the second triangle D2 result from the points of intersection of the corner normals ND1; ND2; ND3 with the first plane E1. The second triangle D2 is thus aligned parallel to the first triangle D1 at the first specified distance z. Depending on the orientation of the corner normals ND1; ND2; ND3, the second triangle D2 can have an area (not shown) of the same size as the first triangle D1, a larger area (as shown in
In the following steps of the method according to the invention, a voxel structure is to be generated in the volume of a truncated pyramid or prism with a triangular base between the first triangle D1 and the second triangle D2.
In the third step S3, a volume region VB is generated, wherein the volume region VB has a number of second voxels VX2. Furthermore, the volume region VB comprises the first triangle D1 and the second triangle D2; i.e., the first triangle D1 and the second triangle D2 are enclosed in this volume region.
The volume region VB can be generated in any size and orientation, as long as it comprises or encloses the first triangle D1 and the second triangle D2. The volume region VB has a number of second voxels VX2. It is expedient if the second voxels VX2 of the volume region VB are aligned parallel to the first triangle D1 and thus to the first plane E1. It is also advantageous if the volume region VB is defined or represented by the number of second voxels VX2. In
The second voxels VX2 act as aids for determining the texture coordinates of those voxels which represent the volumetric texture. The aim of the following method steps is therefore to characterize the second voxels VX2 of the volume region VB, i.e. to determine the texture coordinates of each second voxel in relation to the surface of the physical object. The information obtained can finally be assigned to a voxel model VM which represents the volumetric texture.
In the fourth step S4 of the method according to the invention, iteration is carried out over the number of second voxels VX2 of the volume region VB.
In the first part S4.1 of the fourth step S4, a first distance d of the corresponding second voxel VX2 from the first triangle D1 is calculated. The first distance d accordingly indicates the distance of a second voxel VX2 from the surface portion under consideration of the physical object. Preferably, the minimum distance in terms of magnitude between the respective second voxel VX2 and the first triangle D1 is calculated.
In the second part S4.2 of the fourth step S4, a third triangle D3 is generated on a second plane E2 which is parallel to the first triangle D1 and which is spaced apart from the first triangle D1 by the first distance d.
First, a second plane E2 is thus generated at the first distance d from the first triangle D1. The second plane E2 generated here is marked in bold in
From the second texture coordinates UD3; VD3, third texture coordinates UV; VV are derived for the respective second voxel VX2. Preferably, the third texture coordinates UV; VV are calculated as barycentric coordinates in the third triangle D3. The third texture coordinates UV; VV thus indicate the position of the second voxel VX2 in each case in relation to the corner points of the third triangle D3 in the second plane E2.
It is advantageous if those second voxels VX2 are discarded whose first distance d from the first triangle D1 is negative or greater than the first specified distance z. Preferably, those second voxels VX2 are also discarded of which one of the third texture coordinates UV; VV is negative.
Preferably, in the second part S4.2 of the fourth step S4 the third texture coordinates UV; VV of the second voxels VX2 can be calculated by means of trilinear interpolation between second voxels (VX2). The second voxels VX2 of a volume region VB preferably form a regular three-dimensional grid on which the values for the third texture coordinates UV; VV can be interpolated trilinearly.
After performance of the fourth step of the method according to the invention, the second voxels VX2 therefore fill the volume of the truncated pyramid or prism with a triangular base surface between the first triangle D1 and the second triangle D2. Each second voxel VX2 has third texture coordinates UV; VV and a first distance d from the first triangle D1.
In a fifth step S5 of the method according to the invention, a voxel model VM is generated. The voxel model VM comprises first voxels VX1, wherein the second voxels VX2 correspond to the first voxels VX1. The third texture coordinates UV; VV and the first distance d of the second voxels VX2 are assigned as 3D texture coordinates U; V; W to the corresponding first voxels VX1. For example, the third texture coordinates UV; VV and the first distance d of the second voxels VX2 are copied to the corresponding first voxels VX1. The voxel model VM thus represents the volumetric texture of the 3D model of the physical object.
Preferably, before the generation of the voxel model VM, in a union step of the method according to the invention a union set is determined of the second voxels VX2 of all volume regions VB in order to remove overlapping second voxels VX2.
Due to the different orientation of corner normals of adjacent first triangles D1 in divided corner points, overlapping truncated pyramids with a triangular base can result, and thus overlapping second voxels VX2. It is true that the third texture coordinates UV; VV of the overlapping second voxels may differ as a rule, since the third texture coordinates UV; VV relate to different third triangles D3 in this case. However, overlapping second voxels VX2 represent (at least partially) the same spatial unit twice, of which half can be saved, and thus the processing efficiency can be increased.
Preferably, the voxel model is applied to the 3D model of the physical object in a seventh step S7 of the method according to the invention.
It is particularly advantageous if a distance attribute is assigned to each first voxel VX1 of the voxel model, wherein a second distance d2 can be assigned to the distance attribute. The second distance d2 is measured between the corresponding first voxel VX1 and a second surface, terminating the volumetric texture, of the physical object. It is provided that the surface of the volumetric texture runs within the first specified distance z from the surface of the physical object.
The volumetric texture or its surface can advantageously be formed in that a second specified distance die is assigned to the distance attribute of selected first voxels VX1. It is provided that the second specified distance ds indicates that the corresponding first voxels VX1 lie outside the volumetric texture. Thus, by manipulating the distance values of the first voxels VX1, a volumetric texture can be generated with any desired level of detail, by means of which a bump mapping for a physical object can be generated from the 3D printer.
The above embodiments of the individual steps of the method according to the invention are put into relation to each other and summarized by the flow chart of
For each first triangle D1 of the triangulated surface of a 3D model of a physical object, method steps S1 to S4 are carried out in the order shown in
After third texture coordinates UV; VV have been calculated for every second voxel VX2 of each volume region VB, i.e. for every first triangle D1, in the fifth step S5 a voxel model VM is first generated. The voxel model comprises first voxels VX1 as described above. Next, the third texture coordinates UV; VV and the first distance d of the second voxels VX2 are to be assigned to the corresponding first voxels VX1 as 3D texture coordinates.
Preferably, a union set of the second voxels VX2 as described above can be formed in a union step, in particular before the assignment of the 3D texture coordinates U; V; W.
The generated voxel model VM represents the volumetric texture of the 3D model of a physical object.
In a transformation step (not shown), the triangulated surface and the volumetric texture can be transformed into a Cartesian coordinate system, so that a 3D model with applied volumetric texture results. Control instructions for a 3D printer can be derived from the resulting 3D model, which can be used to print the physical object enriched by bump mapping.
Number | Date | Country | Kind |
---|---|---|---|
10 2021 124 017.4 | Sep 2021 | DE | national |
This application is a continuation under 35 U.S.C. § 120 of International Application PCT/EP2022/068960, filed Jul. 7, 2022, which claims priority to German Application No. 10 2021 124 017.4, filed Sep. 16, 2021, the contents of each of which are incorporated by reference herein.
Number | Date | Country | |
---|---|---|---|
Parent | PCT/EP2022/068960 | Jul 2022 | WO |
Child | 18606547 | US |