WO2023222294A1 - Method for generating a 3d model by means of a scatter plot - Google Patents

Method for generating a 3d model by means of a scatter plot Download PDF

Info

Publication number
WO2023222294A1
WO2023222294A1 PCT/EP2023/058148 EP2023058148W WO2023222294A1 WO 2023222294 A1 WO2023222294 A1 WO 2023222294A1 EP 2023058148 W EP2023058148 W EP 2023058148W WO 2023222294 A1 WO2023222294 A1 WO 2023222294A1
Authority
WO
WIPO (PCT)
Prior art keywords
model
grid
voxel
physical object
points
Prior art date
Application number
PCT/EP2023/058148
Other languages
German (de)
French (fr)
Inventor
Michael Gallo
Original Assignee
Hyperganic Group GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hyperganic Group GmbH filed Critical Hyperganic Group GmbH
Publication of WO2023222294A1 publication Critical patent/WO2023222294A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B33ADDITIVE MANUFACTURING TECHNOLOGY
    • B33YADDITIVE MANUFACTURING, i.e. MANUFACTURING OF THREE-DIMENSIONAL [3-D] OBJECTS BY ADDITIVE DEPOSITION, ADDITIVE AGGLOMERATION OR ADDITIVE LAYERING, e.g. BY 3-D PRINTING, STEREOLITHOGRAPHY OR SELECTIVE LASER SINTERING
    • B33Y50/00Data acquisition or data processing for additive manufacturing

Definitions

  • the invention relates to a method for generating a digital model of a physical object for subsequent printing of the physical object using a 3D printer.
  • the surface of the 3D object is usually modeled using a mathematical model.
  • the surface of the 3D object to be printed can be provided by a number of regular surfaces, with the regular surfaces being generated using parameterization.
  • a polygonal network (triangular network) is usually created from the regular surfaces, for example using discretization.
  • Such a representation of the surface of the object to be printed is suitable for generating 3D models that are as realistic as possible in a computer-aided design application.
  • the disadvantage here is that, for example Transformations that must be applied to the 3D model to design the 3D object and/or to derive control instructions are very computationally intensive.
  • the transformations can lead to artifacts, particularly due to the discretization, which can result in sections of unwanted holes appearing in the surface of the 3D object.
  • Another disadvantage of such an object representation is that the resulting 3D model only describes the surface as such, but not the volume of the 3D object to be printed that lies within the surface. This makes it time-consuming and complex to structure the internal volume into areas with different material properties (type of material, color, physical properties, etc.). Because each volume section that is to be printed with a different material must be described as an independent 3D model. For 3D printing, these independent or separate 3D models must be brought together, whereby irregularities in particular can arise at the interfaces of the separate 3D models.
  • the object of the present invention is therefore to provide a method for generating a 3D model of at least a section of a physical object, which at least partially avoids the disadvantages mentioned above and at the same time enables simpler and more flexible manipulation of the 3D model.
  • a computer-implemented method for generating a 3D model of at least a section of a physical object, the 3D model being represented by a voxel model, the voxel model having a number of voxels, each voxel being assigned an Ab Stand attribute is assigned, wherein a) a 2D grid is generated, the 2D grid having a number of grid units, each grid unit comprising a number of corner points, with each corner point being assigned 2D texture coordinates and 3D spatial coordinates of the 3D model , whereby the 2D texture coordinates are mapped onto the 3D spatial coordinates of at least one surface section of the 3D model, b) for each grid unit a distance between the 3D spatial coordinates of two adjacent corner points is calculated, the respective grid unit being divided into at least two sub-grid units is divided if at least one calculated distance is greater than a predetermined limit, step b) being carried out for each sub-raster unit, or a center point is calculated for the respective
  • step b) in the event that at least one calculated distance for a grid unit is greater than the predetermined limit value, this grid unit is divided into sub-raster units and step b) is carried out for each sub-raster unit.
  • a grid unit is therefore recursively divided into sub-grid units until all calculated distances of the respective sub-grid unit are less than or equal to the predetermined limit value.
  • the advantage of the method according to the invention is that the calculated center points on the surface of the 3D model of the physical object form such a dense point cloud that all those voxels of the voxel model that are located within a predetermined distance from the surface of the object can be identified very efficiently and easily.
  • Another technical advantage is that undesirable artifacts, such as “holes” in the surface, are avoided.
  • the voxel model can be iterated using a predefined sequence. For each voxel visited, it is checked whether it is located near the surface of the 3D object.
  • the center points on the surface of the 3D object are, for example, no further apart than two diagonally opposite corner points of a voxel of the voxel model.
  • the voxel model can therefore represent a closed surface of the physical object, that is, without holes or defects. This is achieved through a high, at least partially homogeneous, density of the point cloud.
  • the neighboring voxels of a found voxel include all those voxels that envelop the found voxel.
  • a voxel is enveloped by 26 voxels if it is not localized at a boundary.
  • the method according to the invention thus makes it possible to efficiently determine an intersection between the center points and voxels of the voxel model.
  • the search for calculated center points can be limited to a small, predetermined area around the voxel for each voxel visited, which reduces the running time for identifying voxels that are on the surface of the object by orders of magnitude.
  • the point cloud therefore represents the surface of the physical object and thus forms an intermediate product in the creation of the voxel model.
  • a minimum distance to the surface can be determined using the 3D spatial coordinates of the center points and stored in the From position attribute of the respective voxel.
  • a predetermined distance value such as +co or -co, is stored. This also makes it possible to distinguish between an internal volume of the 3D object and a volume outside the 3D object.
  • a point cloud such as that known from scanning a 3D object
  • a point cloud is so irregular that not every voxel in the vicinity of the surface of the 3D object is also located in the vicinity of a specific point in the point cloud.
  • the search for the points in the point cloud to determine the distance cannot be limited to a small radius around the respective voxels. Rather, for each voxel for which no points were found within a first spatial region, points of the point cloud must be searched for again in a second, extended spatial region.
  • Another disadvantage is that there may be surface areas for which no voxels at a predetermined distance from the surface can be determined due to the irregular distribution of the points in the point cloud. At most, an irregular point cloud can be interpolated for such surface areas, although it cannot be guaranteed that the interpolated points and voxels determined above them are actually on or near the surface of the 3D object.
  • the method according to the invention also has the advantage that an explicit definition of the surface model does not have to be known. Rather, the point cloud is created based on 2D texture coordinates, with 3D spatial coordinates being assigned to the respective 2D texture coordinates. This assignment can be done, for example, by means of a method that returns 3D spatial coordinates on the surface of the 3D object corresponding to the requested 2D texture coordinates. For this purpose, the 3D spatial coordinates can be defined and provided, for example, using regular surfaces. The method is therefore versatile and can be used for any complex surface sections or compositions of surface sections.
  • the grid units are advantageously rectangular, in particular square.
  • the advantage of a rectangular or square grid unit is that by dividing the grid unit, for example into two or four sub-grid units with the same area, rectangular or square sub-grid units are created again. In this way, a recursive search for the required granularity of the 2D grid is efficiently possible.
  • the required granularity depends on the nature or geometric characteristics of the surface of the 3D object.
  • the decision as to whether a grid unit is divided (further) depends largely on how far apart the neighboring corner points of the grid unit are on the surface of the 3D object. For this purpose, the distance between two neighboring corner points can be determined as a Euclidean norm in three-dimensional space between the assigned 3D spatial coordinates.
  • a normal vector for the center point is additionally determined and assigned to the center point.
  • the normal vector is perpendicular to at least one surface section.
  • step d) the respective determined vox is assigned information about whether the respective voxel is outside or inside the at least one section of the physical object based on the normal vector of the corresponding center points.
  • a first predetermined distance value for example +co
  • a second predetermined distance value can be stored in the distance attribute, such as -co.
  • the center points which represent at least a section of the physical model, are provided to a display device for visualizing the at least a section of the physical model.
  • the digital model of the physical object can be realistically represented on a display device.
  • the number of grid units in step a) is determined based on the at least one surface section.
  • the minimum distance to the center points is formed by interpolating two or more center points.
  • an interpolated center and an associated interpolated normal vector can therefore be calculated from the at least two center points that are close to a voxel.
  • the at least one surface section is represented by a parametric surface model.
  • the at least one surface section forms a closed surface of the physical object.
  • the closed surface of the physical object ultimately makes the printed physical object "waterproof.”
  • This property of the surface of the physical object can be ensured in particular by representing the 3D model as a voxel model, so that no artifacts or irregularities occur in relation to the surface of the physical object during the required transformations of the 3D model.
  • control instructions for printing the physical object in a 3D printer are derived from the generated 3D model.
  • the control instructions include information about which areas in a printing room of the 3D printer a printing material belongs to the physical object. These areas are determined by those voxels to which the minimum distance is stored in the Distance attribute, rather than a predetermined distance value.
  • the control instructions are provided for transmission to the 3D printer.
  • step d shows an example of a surface section of a physical object represented by a point cloud in step d) of an embodiment of the method according to the invention
  • 3 shows an example of an interpolation of the 3D spatial coordinates and the normal vector of three center points according to an embodiment of the invention
  • Fig. 4 is a flow chart for an embodiment of the method according to the invention.
  • Fig. 1 shows an example of a 2D grid of texture coordinates according to an embodiment of the method according to the invention.
  • the voxelization of a digital model of at least a section of a physical object i.e. the creation or generation of a voxel model 10 to represent the digital model
  • a 2D grid 20 in the (U, V) plane An example of such a 2D grid 20 is shown in FIG.
  • the 2D grid 20 originally comprises a number of equal-area grid units 21, which cover the area in the (U, V) plane between the coordinates 0 and 1 along the U-direction and the V-direction, respectively divide.
  • the grid units 21 are chosen to be square.
  • the grid units 21 can also have a different geometric surface shape, such as rectangular, triangular, or hexagonal.
  • Each grid unit 21 of the 2D grid 20 includes a number of corner points 22. The corner points 22 are assigned, on the one hand, 2D texture coordinates from the (U, V) plane and, on the other hand, 3D spatial coordinates.
  • the 3D spatial coordinates of a corner point 22 correspond to those coordinates in the 3D model to which the associated corner point 22 would be rolled up onto the surface 30 of the digital model.
  • the conversion of individual 2D texture coordinates to 3D spatial coordinates can be carried out, for example, by a surface coordinate machine.
  • the relationship between the 2D texture coordinates and the 3D spatial coordinates is advantageously exploited in such a way that a regular 2D grid 20 of the (U, V) plane corresponds to a regular scanning of the surface 30 of the digital model.
  • the neighboring corner points 22 in the 2D grid 20 in the three-dimensional space of the digital model may have very different (and not regular) distances from one another.
  • a distance between the 3D spatial coordinates of two adjacent corner points 22 is calculated for each grid unit 21.
  • four distance values are therefore calculated for each grid unit 21.
  • a grid unit 21 is then divided into four equal sub-grid units 21 if at least one distance of the four calculated distances is greater than a predetermined limit value.
  • the sub-grid unit 21 and the grid unit 21 therefore only differ in their area in the 2D grid 20. Otherwise, they have the same features.
  • the predetermined limit value can be predetermined, for example, by the distance between two diagonally opposite corner points of a voxel 11, i.e. the length of the voxel diagonals.
  • the procedure can be followed as for the original raster unit 21, from which the four sub-raster units 21 emerged. This means that a distance between two adjacent corner points 22 can also be calculated for the corner points 22 of the sub-grid units 21. Should at least one calculated distance for a sub-raster unit 21 be greater than the predetermined limit value, the affected sub-raster unit 21 is divided into further sub-raster units 21.
  • the 2D grid 20 can be recursively divided based on the calculated distances between the vertices 22 on the surface 30 of the 3D model of the physical object.
  • the grid unit 21 can also be halved into two sub-grid units 21 along the U-direction or the V-direction. This can be particularly advantageous if the distance between the corner points 22 in the U-direction (or V-direction) is significantly larger than the distance between the two corner points 22 in the V-direction (or U-direction). In this case, only two sub-raster units 21 are created from one grid unit 21.
  • a center point 23 is determined for the respective (sub) grid unit 21 (also indicated by a double arrow).
  • the normal vector 24 is also determined for the center point 23 from the normal vectors of the corner points 22.
  • the 3D spatial coordinates on the surface 30 of the 3D object in the 3D model are also assigned to the calculated center point 23.
  • a center point 23 is ultimately calculated for each grid unit 21 or sub-grid unit 21 in the (U, V) plane.
  • the amount of The calculated center points 23 form a point cloud. If the associated normal vectors 24 are assigned to the center points 23, then it is a dense, directed point cloud.
  • the 3D spatial coordinates of the center points 23, i.e. the point cloud, represent the surface 30 of the physical object in the digital model. If the normal vector 24 is assigned to the center points 23, the point cloud can be visualized realistically as a 3D model.
  • the point cloud for one section of the physical object can therefore support users in the phased development of complex physical objects.
  • each point cloud created can be represented in the digital model both individually and in any composition, which can expand the user's imagination.
  • Fig. 2 shows an example of a voxelized point cloud of a surface section using the method according to the invention.
  • the points in Fig. 2 represent the calculated center points 23 in a two-dimensional projection of the 3D spatial coordinates and form a point cloud that describes the surface 30 of the 3D object.
  • the 3D object in the detail shown has a curved surface 30, which is shown by the solid line.
  • the points 23 of the point cloud are each the same distance from one another on the surface 30 of the physical object. This is a property that follows directly from a uniformly divided 2D grid 20 in the (U, V) plane.
  • Fig. 2 Also shown in Fig. 2 is a section of the voxel model 10, namely through the dashed square boxes that represent the voxels 11. Due to the recursive process for subdividing the 2D grid 20, the resulting ting point cloud has the property that at least one point 23 of the point cloud is located in each voxel 11 that intersects the surface 30 of the physical object in the digital model.
  • the search for the surface 30 in the voxel model 10 can be limited to a single, small search radius.
  • the maximum required search radius corresponds to the predetermined limit value when generating or recursively subdividing the 2D grid 20. So every voxel 11 that does not find a point 23 of the point cloud within the search radius can be directly classified as not belonging to the surface 30 of the 3D object be marked. Determining the voxels 11 belonging to the surface 30 can be carried out particularly efficiently.
  • the distance between a voxel 11 and the surface 30 represented by the point cloud can be determined, for example, in the direction of the normal vectors 24 of the respective points 23.
  • the normal vector 24 can also indicate whether a voxel 11 is located inside or outside the volume of the 3D model. If a voxel 11 is located within the volume of the 3D model, a negative distance value results, for example due to the direction of the corresponding normal vector 24. For a voxel 11 that is located outside the volume of the 3D model, however, there is a positive distance value.
  • Those voxels 11 that are further than a predetermined distance or further than the search radius from the point cloud can be assigned a predetermined distance value, for example + co or - co.
  • the same predetermined distance value is assigned to a predetermined number of neighboring voxels 11, it is advisable to combine the corresponding voxels 11 into a node in the sense of a tree structure and to only assign the predetermined distance value to the node. On the one hand, this can be processed more quickly across similar areas of the 3D model and, on the other hand, memory requirements can be saved.
  • 3 shows an example of an interpolation of the 3D spatial coordinates and the normal vector of three center points according to an embodiment of the invention.
  • Fig. 3 The three points shown filled in Fig. 3 are part of the point cloud in a digital model. As stated above, these points were determined as center points 23 of (sub)raster units 21 and each have a normal vector 24. The normal vectors 24 are shown by arrows.
  • the cross in Fig. 3 indicates the position of a nearby voxel 11.
  • the minimum distance between each of these center points and the marked voxel 11 is smaller than the predetermined distance in this example. Nevertheless, only one distance value should be saved in the from position attribute of the marked voxel 11.
  • An average point is therefore interpolated from the three points 23 of the point cloud.
  • the averaged point is shown in Fig. 3 as an open point and is additionally marked by a double arrow. It turned out that the interpolation can be carried out efficiently using inverse distance weighting.
  • the 3D spatial coordinates and also the normal vector of the averaged point can be determined using a modified Shepard method. Other suitable methods of inverse distance weighting can also be used.
  • Fig. 4 shows a flow chart for an embodiment of the method according to the invention.
  • the flow chart shown in FIG. 4 summarizes the essential steps of the method according to the invention.
  • the method begins in step a) with the generation of a 2D grid 20 in the (U, V) plane.
  • step b) the 2D grid 20 is refined or divided recursively.
  • the center points 23 of the (sub)raster units 20 are determined.
  • the aim of the recursion is that the center points 23 depicted on the surface 30 of the physical object in the digital model are spaced closer to one another than two opposite corner points of a voxel 11 (voxel diagonal) of the voxel model 10.
  • the center points 23 form a point cloud in the digital model.
  • the center points 23 are mapped onto 3D spatial coordinates of the surface section 30.
  • step d starting from the point cloud, i.e. the set of center points 23 determined in the 3D model, those voxels 11 of the voxel model 10 are determined which have at most a predetermined distance from the 3D spatial coordinates of the center points 23. If necessary, several possible center points 23 must be interpolated.
  • the voxel model 10 of the digital image of the physical object can also be generated without explicit knowledge of the mathematical definition of the surface 30 of the physical object. All that is required is a method that assigns and provides the requested 2D texture coordinates with the corresponding 3D spatial coordinates on the surface 30 of the 3D object, which is in the Practice can be provided, for example, by a software application (such as a service).
  • the intermediate step using a dense, directed point cloud has proven to be advantageous because the point cloud can be determined efficiently and, due to its density, enables an efficient determination of the relevant voxels 11 in the vicinity of the surface 30 of the 3D object.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Chemical & Material Sciences (AREA)
  • Manufacturing & Machinery (AREA)
  • Materials Engineering (AREA)
  • Image Generation (AREA)

Abstract

The invention relates to a method for generating a 3D model of a physical object, the 3D model being represented by a voxel model. The method is characterised in that: a) a 2D grid is generated, with 2D texture coordinates and 3D spatial coordinates of the 3D model being assigned to each corner point of a grid unit; b) a centre point is, optionally recursively, calculated for each grid unit; c) 2D texture coordinates and 3D spatial coordinates are assigned to each centre point; and d) the voxels of the voxel model which have a minimum distance from the centre points of less than a predetermined distance are determined.

Description

Verfahren zum Erzeugen eines 3D-Modells mittels einer Punktwolke Method for generating a 3D model using a point cloud
Gebiet der Erfindung Field of invention
Die Erfindung betrifft ein Verfahren zum Erzeugen eines digitalen Modells eines physischen Objekts für einen nachfolgenden Druck des physischen Objekts mittels eines 3D-Druckers. The invention relates to a method for generating a digital model of a physical object for subsequent printing of the physical object using a 3D printer.
Hintergrund der Erfindung Background of the invention
Im Bereich des 3D-Drucks ist es bekannt, ein zu druckendes 3D-Objekt mittels eines virtuellen 3D-Modells bzw. digitalen Modells zu repräsentieren. Hierzu wird üblicherweise die Oberfläche des 3D-Objekts mittels eines mathematischen Modells modelliert. So kann die Oberfläche des zu druckenden 3D-Objekts etwa durch eine Anzahl von regulären Flächen bereitgestellt werden, wobei die regulären Flächen mittels einer Parametrisierung erzeugt werden. In the field of 3D printing, it is known to represent a 3D object to be printed using a virtual 3D model or digital model. For this purpose, the surface of the 3D object is usually modeled using a mathematical model. For example, the surface of the 3D object to be printed can be provided by a number of regular surfaces, with the regular surfaces being generated using parameterization.
Bekannt ist ebenso, aus zusammengesetzten regulären Flächen ein 3D-Modell des 3D-Objekts zu erzeugen, um aus dem 3D-Modell Steueran Weisungen zur Steuerung des 3D-Druckers abzuleiten. Hierzu wird üblicherweise aus den regulären Flächen, etwa mittels einer Diskretisierung, ein Polygonnetz (Dreiecksnetz) erzeugt. It is also known to create a 3D model of the 3D object from assembled regular surfaces in order to derive control instructions for controlling the 3D printer from the 3D model. For this purpose, a polygonal network (triangular network) is usually created from the regular surfaces, for example using discretization.
Eine derartige Repräsentation der Oberfläche des zu druckenden Objekts eignet sich zwar, um in einer computer-gestützten Designanwendung möglichst realistische 3D-Modelle zu erzeugen. Nachteilig hierbei ist jedoch, dass beispielsweise Transformationen, die zur Gestaltung des 3D-Objekts und/oder zur Ableitung von Steueran Weisungen auf das 3D-Modell angewendet werden müssen, sehr rechenintensiv sind. Zudem können die Transformationen, insbesondere aufgrund der Diskretisierung, zu Artefakten fuhren, wodurch in der Oberfläche des 3D-Objekts abschnittsweise unerwünschte Löcher entstehen können. Such a representation of the surface of the object to be printed is suitable for generating 3D models that are as realistic as possible in a computer-aided design application. However, the disadvantage here is that, for example Transformations that must be applied to the 3D model to design the 3D object and/or to derive control instructions are very computationally intensive. In addition, the transformations can lead to artifacts, particularly due to the discretization, which can result in sections of unwanted holes appearing in the surface of the 3D object.
Ein weiterer Nachteil einer derartigen Objektrepräsentation besteht darin, dass das resultierende 3D-Modell lediglich die Oberfläche als solche beschreibt, nicht aber das innerhalb der Oberfläche liegende Volumen des zu druckenden 3D-Objekts. Dadurch ist es aufwendig und komplex, das innenliegende Volumen in Bereiche mit unterschiedlichen Materialeigenschaften (Art des Materials, Farbe, physikalische Eigenschaften, usw.) zu strukturieren. Denn jeder Volumenabschnitt, der etwa mit einem anderen Material gedruckt werden soll, ist als eigenständiges 3D-Modell zu beschreiben. Für den 3D-Druck sind diese eigenständigen bzw. separaten 3D- Modelle zusammenzuführen, wobei insbesondere Unregelmäßigkeiten an den Grenzflächen der separaten 3D-Modelle entstehen können. Another disadvantage of such an object representation is that the resulting 3D model only describes the surface as such, but not the volume of the 3D object to be printed that lies within the surface. This makes it time-consuming and complex to structure the internal volume into areas with different material properties (type of material, color, physical properties, etc.). Because each volume section that is to be printed with a different material must be described as an independent 3D model. For 3D printing, these independent or separate 3D models must be brought together, whereby irregularities in particular can arise at the interfaces of the separate 3D models.
Aufgabe der Erfindung Task of the invention
Aufgabe der vorliegenden Erfindung ist daher, ein Verfahren zum Erzeugen eines 3D-Modells zumindest eines Ausschnitts eines physischen Objekts bereitzustellen, welches die vorstehend genannten Nachteile zumindest teilweise vermeidet und gleichzeitig eine einfachere und flexiblere Manipulation des 3D-Modells ermöglicht. The object of the present invention is therefore to provide a method for generating a 3D model of at least a section of a physical object, which at least partially avoids the disadvantages mentioned above and at the same time enables simpler and more flexible manipulation of the 3D model.
Erfmdungsgemäße Lösung Die Aufgabe wird durch ein Verfahren mit den Merkmalen nach dem unabhängigen Patentanspruch gelöst. Vorteilhafte Weiterbildungen der Erfindung sind in den abhängigen Ansprüchen angegeben. Solution according to the invention The task is solved by a method with the features according to the independent patent claim. Advantageous developments of the invention are specified in the dependent claims.
Bereitgestellt wird demnach ein Computer-implementiertes Verfahren zum Erzeugen eines 3D-Modells zumindest eines Ausschnitts eines physischen Objekts, wobei das 3D-Modell durch ein Voxel-Modell repräsentiert wird, wobei das Voxel-Modell eine Anzahl von Voxeln aufweist, wobei jedem Voxel ein Ab Standsattribut zugeordnet ist, wobei a) ein 2D-Raster erzeugt wird, wobei das 2D-Raster eine Anzahl von Rastereinheiten aufweist, wobei jede Rastereinheit eine Anzahl von Eckpunkten umfasst, wobei jedem Eckpunkt 2D-Texturkoordinaten und 3D-Raumkoordinaten des 3D-Modells zugeordnet werden, wobei die 2D-Texturkoordinaten auf die 3D-Raumkoordinaten zumindest eines Oberflächenabschnittes des 3D-Mo- dells abgebildet werden, b) für jede Rastereinheit ein Abstand zwischen den 3D-Raumkoordinaten jeweils zweier benachbarter Eckpunkte berechnet wird, wobei die jeweilige Rastereinheit in mindestens zwei Unterrastereinheiten unterteilt wird falls zumindest ein berechneter Abstand größer ist als ein vorbestimmter Grenzwert, wobei für jede Unterrastereinheit der Schritt b) ausgeführt wird, oder für die jeweilige Rastereinheit ein Mittelpunkt berechnet wird, falls alle berechneten Abstände kleiner oder gleich dem vorbestimmten Grenzwert sind, c) jedem Mittelpunkt 2D-Texturkoordinaten und 3D-Raumkoordinaten zugeordnet werden, wobei die 2D-Texturkoordinaten auf die 3D-Raumkoordinaten des zumindest einen Oberflächenabschnittes abgebildet werden, und d) diejenigen Voxel des Voxel-Modells ermittelt werden, deren minimaler Abstand zu den Mittelpunkten kleiner ist als ein vorbestimmter Abstand, wobei der minimale Abstand in dem Ab Standsattribut des jeweiligen Voxels gespeichert wird. Accordingly, a computer-implemented method is provided for generating a 3D model of at least a section of a physical object, the 3D model being represented by a voxel model, the voxel model having a number of voxels, each voxel being assigned an Ab Stand attribute is assigned, wherein a) a 2D grid is generated, the 2D grid having a number of grid units, each grid unit comprising a number of corner points, with each corner point being assigned 2D texture coordinates and 3D spatial coordinates of the 3D model , whereby the 2D texture coordinates are mapped onto the 3D spatial coordinates of at least one surface section of the 3D model, b) for each grid unit a distance between the 3D spatial coordinates of two adjacent corner points is calculated, the respective grid unit being divided into at least two sub-grid units is divided if at least one calculated distance is greater than a predetermined limit, step b) being carried out for each sub-raster unit, or a center point is calculated for the respective raster unit if all calculated distances are less than or equal to the predetermined limit, c) each Center point 2D texture coordinates and 3D spatial coordinates are assigned, the 2D texture coordinates being mapped onto the 3D spatial coordinates of the at least one surface section, and d) those voxels of the voxel model are determined whose minimum distance to the center points is smaller than one predetermined distance, where the minimum distance in which the position attribute of the respective voxel is stored.
In dem Schritt b) wird für den Fall, dass für eine Rastereinheit zumindest ein berechneter Abstand größer ist als der vorbestimmte Grenzwert, diese Rastereinheit in Unterrastereinheiten unterteilt und für jede Unterrastereinheit wird der Schritt b) ausgeführt. Eine Rastereinheit wird also solange rekursiv in Unterrastereinheiten unterteilt, bis alle berechneten Abstände der jeweiligen Unterrastereinheit kleiner oder gleich dem vorbestimmten Grenzwert sind. In step b), in the event that at least one calculated distance for a grid unit is greater than the predetermined limit value, this grid unit is divided into sub-raster units and step b) is carried out for each sub-raster unit. A grid unit is therefore recursively divided into sub-grid units until all calculated distances of the respective sub-grid unit are less than or equal to the predetermined limit value.
Der Vorteil des erfindungsgemäßen Verfahrens besteht darin, dass die berechneten Mittelpunkte auf der Oberfläche des 3D-Modells des physischen Objekts eine derart dichte Punktwolke bilden, dass alle diejenigen Voxel des Voxel-Modells, die innerhalb eines vorbestimmten Abstands von der Oberfläche des Objekts lokalisiert sind, sehr effizient und einfach identifiziert werden können. Ein weiterer technischer Vorteil ist, dass hierbei unerwünschte Artefakte, etwa "Löcher" in der Oberfläche, vermieden werden. Hierzu kann beispielsweise mittels einer vorgegebenen Reihenfolge durch das Voxel-Modell iteriert werden. Dabei wird für jedes besuchte Voxel überprüft, ob es in der Nähe der Oberfläche des 3D-Objekts lokalisiert ist. Durch eine entsprechende Wahl des vorbestimmten Grenzwertes kann sichergestellt werden, dass die Mittelpunkte auf der Oberfläche des 3D-Objekts beispielsweise nicht weiter voneinander beabstandet sind als zwei diagonal gegenüberliegende Eckpunkte eines Voxels des Voxel-Modells. Dadurch ist gewährleistet, dass zu jedem identifizierten bzw. gefundenen Voxel zumindest ein weiteres benachbartes Voxel innerhalb des vorbestimmten Abstands von der Oberfläche gefunden wird, das ebenfalls zur Oberfläche gehört. Somit kann das Voxel-Modell eine geschlossene Oberfläche des physischen Objekts, d.h. ohne Löcher oder Fehlstellen, repräsentieren. Dies wird durch eine hohe, zumindest abschnittsweise homogene, Dichte der Punktwolke erreicht. Zu den benachbarten Voxel eines gefundenen Voxels zählen alle diejenigen Voxel, die das gefundene Voxel einhüllen. Damit sind nicht nur die direkt, also über die Seiten des gefundenen Voxels, benachbarten Voxel umfasst, sondern auch jene Voxel, die über die Kanten und Ecken des gefundenen Voxels benachbart sind. So ist in einem dreidimensionalen Voxel-Modell ein Voxel, falls es nicht grenzflächig lokalisiert ist, von 26 Voxeln eingehüllt. The advantage of the method according to the invention is that the calculated center points on the surface of the 3D model of the physical object form such a dense point cloud that all those voxels of the voxel model that are located within a predetermined distance from the surface of the object can be identified very efficiently and easily. Another technical advantage is that undesirable artifacts, such as “holes” in the surface, are avoided. For this purpose, for example, the voxel model can be iterated using a predefined sequence. For each voxel visited, it is checked whether it is located near the surface of the 3D object. By appropriately selecting the predetermined limit value, it can be ensured that the center points on the surface of the 3D object are, for example, no further apart than two diagonally opposite corner points of a voxel of the voxel model. This ensures that for each identified or found voxel, at least one further neighboring voxel is found within the predetermined distance from the surface, which also belongs to the surface. The voxel model can therefore represent a closed surface of the physical object, that is, without holes or defects. This is achieved through a high, at least partially homogeneous, density of the point cloud. The neighboring voxels of a found voxel include all those voxels that envelop the found voxel. This not only includes the voxels that are directly adjacent, i.e. across the sides of the found voxel, but also those voxels that are adjacent across the edges and corners of the found voxel. In a three-dimensional voxel model, a voxel is enveloped by 26 voxels if it is not localized at a boundary.
Somit ermöglicht das erfindungsgemäße Verfahren, eine Schnittmenge zwischen den Mittelpunkten und Voxeln des Voxel-Modells effizient zu ermitteln. Aufgrund der erfindungsgemäßen Verteilung der Mittelpunkte (Punktwolke), die sich aus der erfindungsgemäßen Unterteilung des 2D-Rasters in Raster- bzw. Unterrastereinheiten ergibt, kann für jedes besuchte Voxel die Suche nach berechneten Mittelpunkten auf einen kleinen, vorbestimmten Bereich um das Voxel begrenzt werden, wodurch die Laufzeit für das Ermitteln von Voxel, die sich auf der Oberfläche des Objektes befinden, um Größenordnungen reduziert wird. Dadurch kann mittels eines einzigen vorbestimmten Suchkriteriums ermittelt werden, ob ein Voxel im Nahbereich der Oberfläche des 3D-Objekts lokalisiert ist, oder nicht. Darüber hinaus muss in der Regel nicht einmal jedes Voxel des Voxel-Modells besucht werden, um die Schnittmenge vollständig zu ermitteln. The method according to the invention thus makes it possible to efficiently determine an intersection between the center points and voxels of the voxel model. Due to the distribution of the center points (point cloud) according to the invention, which results from the inventive division of the 2D grid into grid or sub-grid units, the search for calculated center points can be limited to a small, predetermined area around the voxel for each voxel visited, which reduces the running time for identifying voxels that are on the surface of the object by orders of magnitude. This means that a single predetermined search criterion can be used to determine whether a voxel is located in the vicinity of the surface of the 3D object or not. Furthermore, it is usually not even necessary to visit every voxel of the voxel model to fully determine the intersection.
Die Punktwolke repräsentiert also die Oberfläche des physischen Objekts und bildet damit ein Zwischenprodukt bei der Erzeugung des Voxel-Modells. Für diejenigen Voxel, die nahe der Oberfläche des physischen Objekts lokalisiert sind, kann mit Hilfe der 3D-Raumkoordinaten der Mittelpunkte jeweils ein minimaler Abstand zur Oberfläche ermittelt werden und im Ab Standsattribut des jeweiligen Voxels gespeichert werden. Im Ab Standsattribut derjenigen Voxel, die weiter als ein vorbestimmter Abstand von der Oberfläche entfernt sind, wird dagegen ein vorbestimmter Abstandswert, etwa +co oder -co, gespeichert. Dadurch kann auch zwischen einem Innenvolumen des 3D-Objekts und einem Volumen außerhalb des 3D-Objekts unterschieden werden. Im Vergleich zu der erfindungsgemäß erzeugten Punktwolke ist eine Punktwolke, wie sie etwa vom Scannen eines 3D-Objekts bekannt ist, derart unregelmäßig, dass nicht jedes Voxel im Nahbereich der Oberfläche des 3D-Objekts auch in der Nähe eines konkreten Punktes der Punktwolke lokalisiert ist. Dadurch kann die Suche nach den Punkten der Punktwolke zur Ab Standsermittlung nicht auf einen kleinen Radius um die jeweiligen Voxel begrenzt werden. Vielmehr muss für jedes Voxel, für das innerhalb eines ersten Raumbereichs keine Punkte gefunden wurden, in einem zweiten, erweiterten Raumbereich erneut nach Punkten der Punktwolke gesucht werden. Nachteilig ist zudem, dass es Oberflächenbereiche geben kann, für die aufgrund der unregelmäßigen Verteilung der Punkte der Punktwolke gar keine Voxel im vorbestimmten Abstand von der Oberfläche ermittelt werden können. Allenfalls kann eine unregelmäßige Punktwolke für derartige Oberflächenbereiche interpoliert werden, wobei für die interpolierten Punkte und darüber ermittelte Voxel nicht gewährleistet werden kann, dass diese tatsächlich auf bzw. in der Nähe der Oberfläche des 3D-Objekts liegen. The point cloud therefore represents the surface of the physical object and thus forms an intermediate product in the creation of the voxel model. For those voxels that are located near the surface of the physical object, a minimum distance to the surface can be determined using the 3D spatial coordinates of the center points and stored in the From position attribute of the respective voxel. In the starting attribute of those voxels that are further than a predetermined distance from the surface, however, a predetermined distance value, such as +co or -co, is stored. This also makes it possible to distinguish between an internal volume of the 3D object and a volume outside the 3D object. In comparison to the point cloud generated according to the invention, a point cloud, such as that known from scanning a 3D object, is so irregular that not every voxel in the vicinity of the surface of the 3D object is also located in the vicinity of a specific point in the point cloud. This means that the search for the points in the point cloud to determine the distance cannot be limited to a small radius around the respective voxels. Rather, for each voxel for which no points were found within a first spatial region, points of the point cloud must be searched for again in a second, extended spatial region. Another disadvantage is that there may be surface areas for which no voxels at a predetermined distance from the surface can be determined due to the irregular distribution of the points in the point cloud. At most, an irregular point cloud can be interpolated for such surface areas, although it cannot be guaranteed that the interpolated points and voxels determined above them are actually on or near the surface of the 3D object.
Das erfindungsgemäße Verfahren hat darüber hinaus den Vorteil, dass eine explizite Definition des Oberflächenmodells nicht bekannt sein muss. Die Punktwolke wird vielmehr ausgehend von 2D-Texturkoordinaten erzeugt, wobei den jeweiligen 2D-Texturkoordinaten 3D-Raumkoordinaten zugeordnet werden. Diese Zuordnung kann beispielsweise mittels eines Verfahrens, das zu angefragten 2D-Texturkoor- dinaten entsprechende 3D-Raumkoordinaten auf der Oberfläche des 3D-Objekts zurückgibt, erfolgen. Hierzu können die 3D-Raumkoordinaten beispielsweise unter der Verwendung von regulären Flächen definiert und bereitgestellt werden. Somit ist das Verfahren vielseitig und für beliebig komplexe Oberflächenabschnitte bzw. Zusammensetzungen von Oberflächenabschnitten anwendbar. The method according to the invention also has the advantage that an explicit definition of the surface model does not have to be known. Rather, the point cloud is created based on 2D texture coordinates, with 3D spatial coordinates being assigned to the respective 2D texture coordinates. This assignment can be done, for example, by means of a method that returns 3D spatial coordinates on the surface of the 3D object corresponding to the requested 2D texture coordinates. For this purpose, the 3D spatial coordinates can be defined and provided, for example, using regular surfaces. The method is therefore versatile and can be used for any complex surface sections or compositions of surface sections.
Vorteilhafterweise sind die Rastereinheiten rechteckig, insbesondere quadratisch. Der Vorteil einer rechteckigen bzw. quadratischen Rastereinheit liegt darin, dass durch eine Unterteilung der Rastereinheit, beispielsweise in zwei oder vier flächengleiche Unterrasteinheiten, wieder rechteckige bzw. quadratische Unterrastereinheiten entstehen. Auf diese Weise ist eine rekursive Suche nach der erforderlichen Granularität des 2D-Rasters effizient möglich. Zu beachten ist, dass die erforderliche Granularität von der Beschaffenheit bzw. geometrischen Ausprägung der Oberfläche des 3D-Objekts abhängt. Denn die Entscheidung, ob eine Rastereinheit (weiter) unterteilt wird, hängt maßgeblich davon ab, wie weit die benachbarten Eckpunkte der Rastereinheit auf der Oberfläche des 3D-Objekts voneinander entfernt sind. Hierzu kann der Abstand zweier benachbarter Eckpunkte als euklidische Norm im dreidimensionalen Raum zwischen den jeweils zugeordneten 3D-Raum- koordinaten ermittelt werden. The grid units are advantageously rectangular, in particular square. The advantage of a rectangular or square grid unit is that by dividing the grid unit, for example into two or four sub-grid units with the same area, rectangular or square sub-grid units are created again. In this way, a recursive search for the required granularity of the 2D grid is efficiently possible. It should be noted that the required granularity depends on the nature or geometric characteristics of the surface of the 3D object. The decision as to whether a grid unit is divided (further) depends largely on how far apart the neighboring corner points of the grid unit are on the surface of the 3D object. For this purpose, the distance between two neighboring corner points can be determined as a Euclidean norm in three-dimensional space between the assigned 3D spatial coordinates.
In einer vorteilhaften Ausgestaltung des Verfahrens wird in Schritt b) beim Berechnen des Mittelpunkts für die jeweilige Rastereinheit zusätzlich ein Normalenvektor für den Mittelpunkt ermittelt und dem Mittelpunkt zugeordnet. Der Normalenvektor steht senkrecht zum zumindest einen Oberflächenabschnitt. In an advantageous embodiment of the method, in step b) when calculating the center point for the respective grid unit, a normal vector for the center point is additionally determined and assigned to the center point. The normal vector is perpendicular to at least one surface section.
Weiter vorteilhaft ist es, wenn im Schritt d) den jeweiligen ermittelten Vox ein auf Basis des Normalenvektors der entsprechenden Mittelpunkte eine Information darüber zugeordnet wird, ob sich das jeweilige Voxel außerhalb oder innerhalb des zumindest einen Ausschnitts des physischen Objekts befindet. It is further advantageous if in step d) the respective determined vox is assigned information about whether the respective voxel is outside or inside the at least one section of the physical object based on the normal vector of the corresponding center points.
Dadurch kann beispielsweise den Voxeln außerhalb eines vorbestimmten Abstands von der Oberfläche des physischen Objekts ein erster vorbestimmter Abstandswert, zum Beispiel +co, zugeordnet werden. Denjenigen Voxeln, die mittels des normalen Vektors als innerhalb des physischen Objekts lokalisiert werden, kann entsprechend ein zweiter vorbestimmter Ab standswert ins Ab Standsattribut gespeichert werden, etwa -co. Somit lässt sich der Zugriff auf die Bereiche innerhalb bzw. außerhalb der Oberfläche des physischen Objekts für nachfolgende Transformationen des digitalen Modells effizienter gestalten. Vorteilhafterweise werden die Mittelpunkte, welche zumindest einen Ausschnitt des physischen Modells repräsentieren, einer Anzeigeeinrichtung zur Visualisierung des zumindest einen Ausschnitts des physischen Modells bereitgestellt. This makes it possible, for example, to assign a first predetermined distance value, for example +co, to the voxels outside a predetermined distance from the surface of the physical object. For those voxels that are located within the physical object using the normal vector, a second predetermined distance value can be stored in the distance attribute, such as -co. This makes access to the areas inside and outside the surface of the physical object more efficient for subsequent transformations of the digital model. Advantageously, the center points, which represent at least a section of the physical model, are provided to a display device for visualizing the at least a section of the physical model.
Unter der Verwendung der Normalenvektoren kann das digitale Modell des physischen Objekts realistisch auf einer Anzeigeeinrichtung dargestellt werden. Somit kann das 3D-Objekt ausschnittsweise und damit entwicklungsbegleitend bzw. iterativ visualisiert werden. Dies ist insbesondere für Entwickler von komplexen 3D- Objekten vorteilhaft, da diese sich während der Entwicklung den Fortschritt der Modellierung des 3D-Objekts jederzeit direkt anzeigen lassen können. Hierdurch kann die Vorstellungskraft einzelner Entwickler bei der Entwicklung von komplexen 3D-Objekten um ein Vielfaches verstärkt bzw. erweitert werden. Using the normal vectors, the digital model of the physical object can be realistically represented on a display device. This means that the 3D object can be visualized in sections and thus during development or iteratively. This is particularly advantageous for developers of complex 3D objects, as they can have the progress of modeling the 3D object directly displayed at any time during development. This allows the imagination of individual developers to be enhanced or expanded many times over when developing complex 3D objects.
In einer Ausgestaltung des Verfahrens wird die Anzahl der Rastereinheiten in Schritt a) auf Basis des zumindest einen Oberflächenabschnitts festgelegt. In one embodiment of the method, the number of grid units in step a) is determined based on the at least one surface section.
Es hat sich als vorteilhaft herausgestellt, mit einem 2D-Raster umfassend 64x64 Rastereinheiten in der (U, V)-Ebene zu starten. Abhängig von der Komplexität der Oberfläche des 3D-Obj ekts bietet es sich auch an, mit weniger oder mehr Rastereinheiten zu starten. It has proven to be advantageous to start with a 2D grid comprising 64x64 grid units in the (U, V) plane. Depending on the complexity of the surface of the 3D object, it is also advisable to start with fewer or more grid units.
In einer Ausgestaltung des Verfahrens wird der minimale Abstand zu den Mittelpunkten mittels einer Interpolation von zwei oder mehr Mittelpunkten gebildet. In one embodiment of the method, the minimum distance to the center points is formed by interpolating two or more center points.
Hierzu kann eine geeignete Methode zur Wichtung einer inversen Distanz, etwa die modifizierte Shepard-Methode herangezogen werden. Somit kann aus den zumindest zwei Mittelpunkten, die in der Nähe eines Voxels liegen, ein interpolierter Mittelpunkt und ein dazugehöriger interpolierter Normalenvektor berechnet werden. Nach einem Aspekt der Erfindung wird der zumindest eine Oberflächenabschnitt durch ein parametrisches Oberflächenmodell repräsentiert. For this purpose, a suitable method for weighting an inverse distance, such as the modified Shepard method, can be used. An interpolated center and an associated interpolated normal vector can therefore be calculated from the at least two center points that are close to a voxel. According to one aspect of the invention, the at least one surface section is represented by a parametric surface model.
Vorteilhafterweise bildet der zumindest eine Oberflächenabschnitt eine geschlossene Oberfläche des physischen Objekts. Advantageously, the at least one surface section forms a closed surface of the physical object.
Durch die geschlossene Oberfläche des physischen Objekts ist das gedruckte physische Objekt letztendlich "wasserdicht". Diese Eigenschaft der Oberfläche des physischen Objekts kann insbesondere dadurch sichergestellt werden, dass das 3D- Modell als Voxel-Modell repräsentiert wird, so dass bei den erforderlichen Transformationen des 3D-Modells keinerlei Artefakte bzw. Unregelmäßigkeiten in Bezug zur Oberfläche des physischen Objekts auftreten. The closed surface of the physical object ultimately makes the printed physical object "waterproof." This property of the surface of the physical object can be ensured in particular by representing the 3D model as a voxel model, so that no artifacts or irregularities occur in relation to the surface of the physical object during the required transformations of the 3D model.
In einer vorteilhaften Ausgestaltung des Verfahrens werden aus dem erzeugten 3D- Modell Steueran Weisungen zum Drucken des physischen Objekts in einem 3D-Dru- cker abgeleitet. Die Steueran Weisungen umfassen Informationen darüber, an welchen Bereichen in einem Druckraum des 3D-Druckers ein Druckmaterial zum physischen Objekt gehört. Diese Bereiche werden durch jene Voxel bestimmt, zu denen der minimale Abstand in dem Ab Standsattribut gespeichert ist, und nicht ein vorbestimmter Abstandswert. Die Steueran Weisungen werden zur Übertragung an den 3D-Drucker bereitgestellt. In an advantageous embodiment of the method, control instructions for printing the physical object in a 3D printer are derived from the generated 3D model. The control instructions include information about which areas in a printing room of the 3D printer a printing material belongs to the physical object. These areas are determined by those voxels to which the minimum distance is stored in the Distance attribute, rather than a predetermined distance value. The control instructions are provided for transmission to the 3D printer.
Kurzbeschreibung der Figuren Short description of the characters
Weitere Einzelheiten und Merkmale des erfindungsgemäßen Verfahrens sowie konkrete, insbesondere vorteilhafte Ausgestaltungen des erfindungsgemäßen Verfahrens ergeben sich aus der nachfolgenden Beschreibung in Verbindung mit der Zeichnung. Es zeigt: Fig. 1 ein 2D-Raster von Texturkoordinaten nach einer Ausgestaltung des Verfahrens; Further details and features of the method according to the invention as well as concrete, particularly advantageous embodiments of the method according to the invention result from the following description in conjunction with the drawing. It shows: 1 shows a 2D grid of texture coordinates according to an embodiment of the method;
Fig. 2 ein Beispiel für einen durch eine Punktwolke repräsentierten Oberflächenabschnitt eines physischen Objekts in Schritt d) einer Ausgestaltung des erfindungsgemäßen Verfahrens; 2 shows an example of a surface section of a physical object represented by a point cloud in step d) of an embodiment of the method according to the invention;
Fig. 3 ein Beispiel für eine Interpolation der 3D-Raumkoordinaten und des Normalenvektors von drei Mittelpunkten gemäß einer Ausgestaltung der Erfindung; 3 shows an example of an interpolation of the 3D spatial coordinates and the normal vector of three center points according to an embodiment of the invention;
Fig. 4 ein Ablaufdiagramm für eine Ausgestaltung des erfindungsgemäßen Verfahrens. Fig. 4 is a flow chart for an embodiment of the method according to the invention.
Detaillierte Beschreibung der Erfindung Detailed description of the invention
Fig. 1 zeigt ein Beispiel eines 2D-Rasters von Texturkoordinaten nach einer Ausgestaltung des erfindungsgemäßen Verfahrens. Fig. 1 shows an example of a 2D grid of texture coordinates according to an embodiment of the method according to the invention.
Die Voxelisierung eines digitalen Modells zumindest eines Ausschnitts eines physischen Objekts, also das Erstellen bzw. Erzeugen eines Voxel-Modells 10 zur Repräsentation des digitalen Modells, geht erfindungsgemäß von einem 2D-Raster 20 in der (U, V)-Ebene aus. Ein Beispiel für ein solches 2D-Raster 20 ist in Fig. 1 gezeigt. According to the invention, the voxelization of a digital model of at least a section of a physical object, i.e. the creation or generation of a voxel model 10 to represent the digital model, is based on a 2D grid 20 in the (U, V) plane. An example of such a 2D grid 20 is shown in FIG.
In einer Ausgestaltung des Verfahrens umfasst das 2D-Raster 20 ursprünglich eine Anzahl von gleichflächigen Rastereinheiten 21, die die Fläche in der (U, V)-Ebene zwischen den Koordinaten 0 und 1 jeweils entlang der U-Richtung und der V-Rich- tung unterteilen. Im vorliegenden Beispiel sind die Rastereinheiten 21 quadratisch gewählt. Grundsätzlich können die Rastereinheiten 21 auch eine andere geometrische Flächenform aufweisen, wie etwa rechteckig, dreieckig, oder hexagonal. Jede Rastereinheit 21 des 2D-Rasters 20 umfasst eine Anzahl von Eckpunkten 22. Den Eckpunkten 22 sind einerseits 2D-Texturkoordinaten aus der (U, V)-Ebene und andererseits 3D-Raumkoordinaten zugeordnet. Die 3D-Raumkoordinaten eines Eckpunkts 22 entsprechen denjenigen Koordinaten im 3D-Modell, auf den der zugehörige Eckpunkt 22 auf die Oberfläche 30 des digitalen Modells aufgerollt wäre. Die Umwandlung von einzelnen 2D-Texturkoordinaten auf 3D-Raumkoordinaten kann beispielsweise durch einen Oberflächenkoordinatenautomaten ausgeführt werden. In one embodiment of the method, the 2D grid 20 originally comprises a number of equal-area grid units 21, which cover the area in the (U, V) plane between the coordinates 0 and 1 along the U-direction and the V-direction, respectively divide. In the present example, the grid units 21 are chosen to be square. In principle, the grid units 21 can also have a different geometric surface shape, such as rectangular, triangular, or hexagonal. Each grid unit 21 of the 2D grid 20 includes a number of corner points 22. The corner points 22 are assigned, on the one hand, 2D texture coordinates from the (U, V) plane and, on the other hand, 3D spatial coordinates. The 3D spatial coordinates of a corner point 22 correspond to those coordinates in the 3D model to which the associated corner point 22 would be rolled up onto the surface 30 of the digital model. The conversion of individual 2D texture coordinates to 3D spatial coordinates can be carried out, for example, by a surface coordinate machine.
In anderen Worten wird die Beziehung zwischen den 2D-Texturkoordinaten und den 3D-Raumkoordinaten dahingehend vorteilhaft ausgenutzt, dass ein regelmäßiges 2D-Raster 20 der (U, V)-Ebene einem regelmäßigen Abtasten der Oberfläche 30 des digitalen Modells entspricht. Zu beachten ist hierbei, dass in der Regel die benachbarten Eckpunkte 22 im 2D-Raster 20 im dreidimensionalen Raum des digitalen Modells unter Umständen ganz unterschiedliche (und eben keine regelmäßigen) Ab stände zueinander aufweisen. In other words, the relationship between the 2D texture coordinates and the 3D spatial coordinates is advantageously exploited in such a way that a regular 2D grid 20 of the (U, V) plane corresponds to a regular scanning of the surface 30 of the digital model. It should be noted here that, as a rule, the neighboring corner points 22 in the 2D grid 20 in the three-dimensional space of the digital model may have very different (and not regular) distances from one another.
Ausgehend von dem 2D-Raster 20 in der (U, V)-Ebene wird für jede Rastereinheit 21 ein Abstand zwischen den 3D-Raumkoordinaten jeweils zweier benachbarter Eckpunkte 22 berechnet. In dem Ausführungsbeispiel der Fig. 1 werden demnach für jede Rastereinheit 21 vier Abstandswerte berechnet. Hiernach wird eine Rastereinheit 21 in vier gleiche Unterrastereinheiten 21 unterteilt, falls zumindest ein Abstand der vier berechneten Abstände größer als ein vorbestimmter Grenzwert ist. Die Unterrastereinheit 21 und die Rastereinheit 21 unterscheiden sich demnach lediglich in ihrer Fläche im 2D-Raster 20. Ansonsten weisen sie die gleichen Merkmale auf. Starting from the 2D grid 20 in the (U, V) plane, a distance between the 3D spatial coordinates of two adjacent corner points 22 is calculated for each grid unit 21. In the exemplary embodiment of FIG. 1, four distance values are therefore calculated for each grid unit 21. A grid unit 21 is then divided into four equal sub-grid units 21 if at least one distance of the four calculated distances is greater than a predetermined limit value. The sub-grid unit 21 and the grid unit 21 therefore only differ in their area in the 2D grid 20. Otherwise, they have the same features.
Der vorbestimmte Grenzwert kann etwa durch die Distanz zwischen zwei diagonal gegenüberliegenden Eckpunkten eines Voxels 11, also die Länge der Voxel diagonalen, vorgegeben sein. Für jede der Unterrastereinheiten 21 kann dabei verfahren werden wie für die ursprüngliche Rastereinheit 21, aus der die vier Unterrastereinheiten 21 hervorgegangen sind. Das bedeutet, dass auch für die Eckpunkte 22 der Unterrastereinheiten 21 jeweils ein Abstand zweier benachbarter Eckpunkte 22 berechnet werden kann. Sollte für eine Unterrastereinheit 21 zumindest ein berechneter Abstand wiederum größer als der vorbestimmte Grenzwert sein, wird die betroffene Unterrastereinheit 21 in weitere Unterrastereinheiten 21 unterteilt. Somit kann das 2D-Raster 20 auf Basis der berechneten Abstände zwischen den Eckpunkten 22 auf der Oberfläche 30 des 3D-Modell des physischen Objekts rekursiv unterteilt werden. The predetermined limit value can be predetermined, for example, by the distance between two diagonally opposite corner points of a voxel 11, i.e. the length of the voxel diagonals. For each of the sub-raster units 21, the procedure can be followed as for the original raster unit 21, from which the four sub-raster units 21 emerged. This means that a distance between two adjacent corner points 22 can also be calculated for the corner points 22 of the sub-grid units 21. Should at least one calculated distance for a sub-raster unit 21 be greater than the predetermined limit value, the affected sub-raster unit 21 is divided into further sub-raster units 21. Thus, the 2D grid 20 can be recursively divided based on the calculated distances between the vertices 22 on the surface 30 of the 3D model of the physical object.
In einer Ausgestaltung des Verfahrens kann die Rastereinheit 21, falls ein Abstand zwischen zwei Eckpunkten 22 größer als der vorbestimmte Grenzwert ist, auch entlang der U-Richtung oder der V-Richtung in jeweils zwei Unterrastereinheiten 21 halbiert werden. Dies kann insbesondere dann vorteilhaft sein, wenn der Abstand zwischen den Eckpunkten 22 in der U-Richtung (bzw. V-Richtung) wesentlich größer ist als der Abstand der zwei Eckpunkte 22 in der V-Richtung (bzw. U-Richtung). In diesem Fall entstehen aus einer Rastereinheit 21 nur zwei Unterrastereinheiten 21. In one embodiment of the method, if a distance between two corner points 22 is greater than the predetermined limit value, the grid unit 21 can also be halved into two sub-grid units 21 along the U-direction or the V-direction. This can be particularly advantageous if the distance between the corner points 22 in the U-direction (or V-direction) is significantly larger than the distance between the two corner points 22 in the V-direction (or U-direction). In this case, only two sub-raster units 21 are created from one grid unit 21.
Sobald in einer Rastereinheit 21 bzw. einer Unterrastereinheit 21 alle Abstände zwischen den Eckpunkten 22 kleiner oder gleich dem vorbestimmten Grenzwert sind, wird für die jeweilige (Unter)Rastereinheit 21 ein Mittelpunkt 23 ermittelt (auch durch einen Doppelpfeil gekennzeichnet). Vorteilhafterweise wird für den Mittelpunkt 23 auch der Normalenvektor 24 aus den Normalenvektoren der Eckpunkte 22 ermittelt. Auch dem berechneten Mittelpunkt 23 sind neben den 2D-Texturko- ordinaten in der (U, V)-Ebene die 3D-Raumkoordinaten auf der Oberfläche 30 des 3D-Objekts im 3D-Modell zugeordnet. As soon as all the distances between the corner points 22 in a grid unit 21 or a sub-grid unit 21 are less than or equal to the predetermined limit value, a center point 23 is determined for the respective (sub) grid unit 21 (also indicated by a double arrow). Advantageously, the normal vector 24 is also determined for the center point 23 from the normal vectors of the corner points 22. In addition to the 2D texture coordinates in the (U, V) plane, the 3D spatial coordinates on the surface 30 of the 3D object in the 3D model are also assigned to the calculated center point 23.
Auf diese Weise wird in der (U, V)-Ebene für jede Rastereinheit 21 bzw. Unterrastereinheit 21 schlussendlich jeweils ein Mittelpunkt 23 berechnet. Die Menge der berechneten Mittelpunkte 23 bildet dabei eine Punktwolke. Sind den Mittelpunkten 23 die zugehörigen Normalenvektoren 24 zugeordnet, so handelt es sich um eine dichte gerichtete Punktwolke. In this way, a center point 23 is ultimately calculated for each grid unit 21 or sub-grid unit 21 in the (U, V) plane. The amount of The calculated center points 23 form a point cloud. If the associated normal vectors 24 are assigned to the center points 23, then it is a dense, directed point cloud.
Die 3D-Raumkoordinaten der Mittelpunkte 23, also der Punktwolke, repräsentieren die Oberfläche 30 des physischen Objekts im digitalen Modell. Sofern den Mittelpunkten 23 der Normalenvektor 24 zugeordnet ist, kann die Punktwolke entsprechend realistisch als 3D-Modell visualisiert werden. Die Punktwolke für jeweils einen Ausschnitt des physischen Objekts kann daher Benutzer bei einer etappenweisen Entwicklung von komplexen physischen Objekten unterstützen. Hierzu kann jede erzeugte Punktwolke sowohl einzeln als auch in einer beliebigen Zusammensetzung im digitalen Modell dargestellt werden, wodurch das Vorstellungsvermögen des Benutzers erweitert werden kann. The 3D spatial coordinates of the center points 23, i.e. the point cloud, represent the surface 30 of the physical object in the digital model. If the normal vector 24 is assigned to the center points 23, the point cloud can be visualized realistically as a 3D model. The point cloud for one section of the physical object can therefore support users in the phased development of complex physical objects. For this purpose, each point cloud created can be represented in the digital model both individually and in any composition, which can expand the user's imagination.
Fig. 2 zeigt ein Beispiel für eine voxelisierte Punktwolke eines Oberflächenausschnitts nach dem erfindungsgemäßen Verfahren. Fig. 2 shows an example of a voxelized point cloud of a surface section using the method according to the invention.
Die Punkte in Fig. 2 repräsentieren die berechneten Mittelpunkte 23 in einer zweidimensionalen Projektion der 3D-Raumkoordinaten und bilden eine Punktwolke, welche die Oberfläche 30 des 3D-Objekts beschreibt. Im vorliegenden Beispiel hat das 3D-Objekt in dem gezeigten Ausschnitt eine gewölbte Oberfläche 30, die durch die durchgezogene Linie gezeigt ist. Die Punkte 23 der Punktwolke haben auf der Oberfläche 30 des physischen Objekts jeweils den gleichen Abstand zueinander. Dies ist eine Eigenschaft, die unmittelbar aus einem gleichmäßig unterteilten 2D- Raster 20 in der (U, V)-Ebene folgt. The points in Fig. 2 represent the calculated center points 23 in a two-dimensional projection of the 3D spatial coordinates and form a point cloud that describes the surface 30 of the 3D object. In the present example, the 3D object in the detail shown has a curved surface 30, which is shown by the solid line. The points 23 of the point cloud are each the same distance from one another on the surface 30 of the physical object. This is a property that follows directly from a uniformly divided 2D grid 20 in the (U, V) plane.
Gezeigt in Fig. 2 ist auch ein Ausschnitt des Voxel-Modells 10, und zwar durch die gestrichelt gezeichneten, quadratischen Kästchen, die die Voxel 11 darstellen. Aufgrund des rekursiven Verfahrens zur Unterteilung des 2D-Rasters 20 hat die resul- tierende Punktwolke die Eigenschaft, dass in jedem Voxel 11, welches die Oberfläche 30 des physischen Objekts im digitalen Modell schneidet, jeweils auch zumindest ein Punkt 23 der Punktwolke lokalisiert ist. Also shown in Fig. 2 is a section of the voxel model 10, namely through the dashed square boxes that represent the voxels 11. Due to the recursive process for subdividing the 2D grid 20, the resulting ting point cloud has the property that at least one point 23 of the point cloud is located in each voxel 11 that intersects the surface 30 of the physical object in the digital model.
Diese Eigenschaft hat den großen technischen Vorteil, dass die Suche nach der Oberfläche 30 in dem Voxel-Modell 10 auf einen einzigen, kleinen Suchradius beschränkt werden kann. Der maximal erforderliche Suchradius entspricht dabei dem vorbestimmten Grenzwert bei der Erzeugung bzw. rekursiven Unterteilung des 2D- Rasters 20. So kann jedes Voxel 11, das keinen Punkt 23 der Punktwolke innerhalb des Suchradius findet, direkt als nicht zur Oberfläche 30 des 3D-Objekts gehörend gekennzeichnet werden. Das Ermitteln der zur Oberfläche 30 gehörenden Voxel 11 kann so besonders effizient durchgeführt werden. This property has the great technical advantage that the search for the surface 30 in the voxel model 10 can be limited to a single, small search radius. The maximum required search radius corresponds to the predetermined limit value when generating or recursively subdividing the 2D grid 20. So every voxel 11 that does not find a point 23 of the point cloud within the search radius can be directly classified as not belonging to the surface 30 of the 3D object be marked. Determining the voxels 11 belonging to the surface 30 can be carried out particularly efficiently.
Der Abstand zwischen einem Voxel 11 und der durch die Punktwolke repräsentierten Oberfläche 30 kann beispielsweise in Richtung der Normalenvektoren 24 der jeweiligen Punkte 23 ermittelt werden. Auf diese Weise kann der Normalenvektor 24 auch anzeigen, ob ein Voxel 11 innerhalb oder außerhalb des Volumens des 3D-Modells lokalisiert ist. Ist ein Voxel 11 innerhalb des Volumens des 3D-Mo- dells lokalisiert, ergibt sich beispielsweise aufgrund der Richtung des entsprechenden Normalenvektors 24 ein negativer Abstandswert. Für ein Voxel 11, das außerhalb des Volumens des 3D-Modell lokalisiert ist, ergibt sich dagegen ein positiver Ab standswert. The distance between a voxel 11 and the surface 30 represented by the point cloud can be determined, for example, in the direction of the normal vectors 24 of the respective points 23. In this way, the normal vector 24 can also indicate whether a voxel 11 is located inside or outside the volume of the 3D model. If a voxel 11 is located within the volume of the 3D model, a negative distance value results, for example due to the direction of the corresponding normal vector 24. For a voxel 11 that is located outside the volume of the 3D model, however, there is a positive distance value.
Denjenigen Voxeln 11, die weiter als ein vorbestimmter Abstand bzw. weiter als der Suchradius von der Punktwolke entfernt sind kann ein vorbestimmter Abstandswert, z.B. + co oder - co, zugeordnet werden. Those voxels 11 that are further than a predetermined distance or further than the search radius from the point cloud can be assigned a predetermined distance value, for example + co or - co.
Ist einer vorbestimmten Anzahl benachbarter Voxeln 11 jeweils der gleiche vorbestimmte Abstandswert zugeordnet, bietet es sich an, die entsprechenden Voxel 11 im Sinne einer Baumstruktur zu einem Knoten zusammenzufassen und nur dem Knoten den vorbestimmten Abstandswert zuzuordnen. Hierdurch kann einerseits schneller über gleichartige Bereiche des 3D-Modells prozessiert werden und andererseits Speicherbedarf eingespart werden. If the same predetermined distance value is assigned to a predetermined number of neighboring voxels 11, it is advisable to combine the corresponding voxels 11 into a node in the sense of a tree structure and to only assign the predetermined distance value to the node. On the one hand, this can can be processed more quickly across similar areas of the 3D model and, on the other hand, memory requirements can be saved.
Fig. 3 zeigt ein Beispiel für eine Interpolation der 3D-Raumkoordinaten und des Normalenvektors von drei Mittelpunkten gemäß einer Ausgestaltung der Erfindung. 3 shows an example of an interpolation of the 3D spatial coordinates and the normal vector of three center points according to an embodiment of the invention.
Die drei ausgefüllt dargestellten Punkte in Fig. 3 sind Teil der Punktwolke in einem digitalen Modell. Diese Punkte wurden, wie vorstehend ausgeführt, als Mittelpunkte 23 von (Unter)Rastereinheiten 21 ermittelt und weisen jeweils einen Normalenvektor 24 auf. Die Normalenvektoren 24 sind durch Pfeile dargestellt. The three points shown filled in Fig. 3 are part of the point cloud in a digital model. As stated above, these points were determined as center points 23 of (sub)raster units 21 and each have a normal vector 24. The normal vectors 24 are shown by arrows.
Das Kreuz in Fig. 3 kennzeichnet die Position eines naheliegenden Voxels 11. Der minimale Abstand zwischen jedem dieser Mittelpunkte und dem gekennzeichneten Voxel 11 ist jeweils kleiner als der vorbestimmte Abstand in diesem Beispiel. Dennoch soll in das Ab Standsattribut des gekennzeichneten Voxels 11 nur ein Abstandswert gespeichert werden. Daher wird aus den drei Punkten 23 der Punktwolke ein gemittelter Punkt interpoliert. Der gemittelte Punkt ist in Fig. 3 als offener Punkt dargestellt und durch einen Doppelpfeil zusätzlich gekennzeichnet. Es hat sich hierbei herausgestellt, dass die Interpolation effizient mittels einer inversen Distanzwichtung ausgeführt werden kann. So können die 3D-Raumkoordinaten und auch der Normalenvektor des gemittelten Punktes etwa durch eine modifizierte Shepard-Methode ermittelt werden. Ebenso können andere geeignete Verfahren der inversen Distanzwichtung eingesetzt werden. The cross in Fig. 3 indicates the position of a nearby voxel 11. The minimum distance between each of these center points and the marked voxel 11 is smaller than the predetermined distance in this example. Nevertheless, only one distance value should be saved in the from position attribute of the marked voxel 11. An average point is therefore interpolated from the three points 23 of the point cloud. The averaged point is shown in Fig. 3 as an open point and is additionally marked by a double arrow. It turned out that the interpolation can be carried out efficiently using inverse distance weighting. The 3D spatial coordinates and also the normal vector of the averaged point can be determined using a modified Shepard method. Other suitable methods of inverse distance weighting can also be used.
Aufgrund der hohen Dichte der Punktwolke, die mit dem erfmdungsgemäßen Verfahren erzeugt wird, spielt die Interpolation von mindestens zwei Punkten 23 bei der Bestimmung des minimalen Abstands zum jeweiligen Voxel 11 des Voxel-Mo- dells 10 in der Praxis eine große Rolle. Fig. 4 zeigt ein Ablaufdiagramm für eine Ausgestaltung des erfindungsgemäßen Verfahrens. Due to the high density of the point cloud that is generated with the method according to the invention, the interpolation of at least two points 23 plays a major role in determining the minimum distance to the respective voxel 11 of the voxel model 10 in practice. Fig. 4 shows a flow chart for an embodiment of the method according to the invention.
Das in Fig. 4 gezeigte Ablaufdiagramm fasst die wesentlichen Schritte des erfin- dungsgemäßen Verfahrens zusammen. The flow chart shown in FIG. 4 summarizes the essential steps of the method according to the invention.
Das Verfahren beginnt, im Schritt a), mit der Erzeugung eines 2D-Rasters 20 in der (U, V)-Ebene. The method begins in step a) with the generation of a 2D grid 20 in the (U, V) plane.
Anschließend, im Schritt b), wird das 2D-Raster 20 rekursiv verfeinert bzw. unterteilt. Dabei werden die Mittelpunkte 23 der (Unter)Rastereinheiten 20 ermittelt. Ziel der Rekursion ist es, dass die auf die Oberfläche 30 des physischen Objekts im digitalen Modell abgebildeten Mittelpunkte 23 näher zueinander beabstandet sind als zwei gegenüberliegende Eckpunkte eines Voxels 11 (Voxel diagonale) des Voxel -Modells 10. Subsequently, in step b), the 2D grid 20 is refined or divided recursively. The center points 23 of the (sub)raster units 20 are determined. The aim of the recursion is that the center points 23 depicted on the surface 30 of the physical object in the digital model are spaced closer to one another than two opposite corner points of a voxel 11 (voxel diagonal) of the voxel model 10.
Die Mittelpunkte 23 bilden eine Punktwolke im digitalen Modell. Hierzu werden, im Schritt c), die Mittelpunkte 23 auf 3D-Raumkoordinaten des Oberflächenabschnitts 30 abgebildet. The center points 23 form a point cloud in the digital model. For this purpose, in step c), the center points 23 are mapped onto 3D spatial coordinates of the surface section 30.
Im Schritt d) werden ausgehend von der Punktwolke, also der Menge der ermittelten Mittelpunkte 23 im 3D-Modell, diejenigen Voxel 11 des Voxel-Modells 10 ermittelt, die höchstens einen vorbestimmten Abstand zu den 3D-Raumkoordinaten der Mittelpunkte 23 aufweisen. Gegebenenfalls sind hierbei mehrere in Betracht kommende Mittelpunkte 23 zu interpolieren. In step d), starting from the point cloud, i.e. the set of center points 23 determined in the 3D model, those voxels 11 of the voxel model 10 are determined which have at most a predetermined distance from the 3D spatial coordinates of the center points 23. If necessary, several possible center points 23 must be interpolated.
Somit kann das Voxel-Modell 10 des digitalen Abbilds des physischen Objekts auch ohne einer expliziten Kenntnis der mathematischen Definition der Oberfläche 30 des physischen Objekts erzeugt werden. Es bedarf lediglich eines Verfahrens, das angefragten 2D-Texturkoordinaten die entsprechenden 3D-Raumkoordi- naten auf der Oberfläche 30 des 3D-0bjekts zuordnet und bereitstellt, das in der Praxis beispielsweise durch eine Softwareanwendung (etwa ein Service) bereitgestellt werden kann. Der Zwischenschritt über eine dichte, gerichtete Punktwolke hat sich deshalb als vorteilhaft herausgestellt, weil die Punktwolke effizient ermittelt werden kann und aufgrund ihrer Dichte eine effiziente Ermittlung der relevanten Voxel 11 im Nahbereich der Oberfläche 30 des 3D-0bjekts ermöglicht. Thus, the voxel model 10 of the digital image of the physical object can also be generated without explicit knowledge of the mathematical definition of the surface 30 of the physical object. All that is required is a method that assigns and provides the requested 2D texture coordinates with the corresponding 3D spatial coordinates on the surface 30 of the 3D object, which is in the Practice can be provided, for example, by a software application (such as a service). The intermediate step using a dense, directed point cloud has proven to be advantageous because the point cloud can be determined efficiently and, due to its density, enables an efficient determination of the relevant voxels 11 in the vicinity of the surface 30 of the 3D object.

Claims

Ansprüche Computer-implementiertes Verfahren zum Erzeugen eines 3D-Modells zumindest eines Ausschnitts eines physischen Objekts, wobei Claims Computer-implemented method for generating a 3D model of at least a section of a physical object, wherein
- das 3D-Modell durch ein Voxel-Modell (10) repräsentiert wird, - the 3D model is represented by a voxel model (10),
- das Voxel-Modell (10) eine Anzahl von Voxeln (11) aufweist, wobei jedem Voxel (11) ein Ab Standsattribut zugeordnet ist, und wobei a) ein 2D-Raster (20) erzeugt wird, wobei das 2D-Raster (20) eine Anzahl von Rastereinheiten (21) aufweist, wobei jede Rastereinheit (21) eine Anzahl von Eckpunkten (22) umfasst, wobei jedem Eckpunkt (22) 2D-Tex- turkoordinaten und 3D-Raumkoordinaten des 3D-Modells zugeordnet werden, wobei die 2D-Texturkoordinaten auf die 3D-Raumkoordinaten zumindest eines Oberflächenabschnittes (30) des 3D-Modells abgebildet werden, b) für jede Rastereinheit (21) ein Abstand zwischen den 3D-Raumkoordina- ten jeweils zweier benachbarter Eckpunkte (22) berechnet wird, wobei- the voxel model (10) has a number of voxels (11), each voxel (11) being assigned an ab stand attribute, and wherein a) a 2D grid (20) is generated, the 2D grid (20 ) has a number of grid units (21), each grid unit (21) comprising a number of corner points (22), each corner point (22) being assigned 2D texture coordinates and 3D spatial coordinates of the 3D model, the 2D -Texture coordinates are mapped onto the 3D spatial coordinates of at least one surface section (30) of the 3D model, b) a distance between the 3D spatial coordinates of two adjacent corner points (22) is calculated for each grid unit (21), whereby
- die jeweilige Rastereinheit (21) in mindestens zwei Unterrastereinheiten (21) unterteilt wird falls zumindest ein berechneter Abstand größer ist als ein vorbestimmter Grenzwert, wobei für jede Unterrastereinheit (21) der Schritt b) ausgeführt wird, oder - the respective grid unit (21) is divided into at least two sub-grid units (21) if at least one calculated distance is greater than a predetermined limit value, step b) being carried out for each sub-grid unit (21), or
- für die jeweilige Rastereinheit (21) ein Mittelpunkt (23) berechnet wird, falls alle berechneten Abstände kleiner oder gleich dem vorbestimmten Grenzwert sind, c) jedem Mittelpunkt (23) 2D-Texturkoordinaten und 3D-Raumkoordinaten zugeordnet werden, wobei die 2D-Texturkoordinaten auf die 3D-Raumko- ordinaten des zumindest einen Oberflächenabschnittes (30) abgebildet werden, und d) diejenigen Voxel (11) des Voxel-Modells (10) ermittelt werden, deren minimaler Abstand zu den Mittelpunkten (23) kleiner ist als ein vorbestimmter Abstand, wobei der minimale Abstand in dem Ab Standsattribut des jeweiligen Voxels (11) gespeichert wird. Verfahren nach dem vorhergehenden Anspruch, wobei die Rastereinheiten (21) rechteckig, insbesondere quadratisch, sind. Verfahren nach einem der vorhergehenden Ansprüche, wobei im Schritt b) beim Berechnen des Mittelpunkts (23) für die jeweilige Rastereinheit (21) zusätzlich ein Normalenvektor (24) für den Mittelpunkt (23) ermittelt wird und dem Mittelpunkt (23) zugeordnet wird, wobei der Normalenvektor (24) senkrecht zum zumindest einen Oberflächenabschnitt (30) steht. Verfahren nach dem vorhergehenden Anspruch, wobei im Schritt d) den jeweiligen ermittelten Voxeln (11) auf Basis des Normalenvektors (24) der entsprechenden Mittelpunkte (23) eine Information darüber zugeordnet wird, ob sich das jeweilige Voxel (11) außerhalb oder innerhalb des zumindest einen Ausschnitts des physischen Objekts befindet. Verfahren nach einem der vorhergehenden Ansprüche, wobei die Mittelpunkte (23) den zumindest einen Ausschnitt des physischen Modells repräsentieren und einer Anzeigeeinrichtung zur Visualisierung des zumindest einen Ausschnitts des physischen Modells bereitgestellt werden. Verfahren nach einem der vorhergehenden Ansprüche, wobei die Anzahl der Rastereinheiten (21) im Schritt a) auf Basis des zumindest einen Oberflächenabschnitts (30) festgelegt wird. Verfahren nach einem der vorhergehenden Ansprüche, wobei der minimale Ab stand zu den Mittelpunkten (21) mittels einer Interpolation von zwei oder mehr Mittelpunkten (21) gebildet wird. Verfahren nach einem der vorhergehenden Ansprüche, wobei der zumindest eine Oberflächenabschnitt (30) durch ein parametrisches Oberflächenmodell repräsentiert wird. Verfahren nach einem der vorhergehenden Ansprüche, wobei der zumindest eine Oberflächenabschnitt (30) eine geschlossene Oberfläche des physischen Objekts bildet. Verfahren nach einem der vorhergehenden Ansprüche, wobei aus dem erzeugten 3D-Modell Steueran Weisungen zum Drucken des physischen Objekts in einem 3D-Drucker abgeleitet werden, wobei die Steueran Weisungen Informationen darüber umfassen, an welchen Bereichen in einem Druckraum des 3D-Druckers ein Druckmaterial zum physischen Objekts gehört, wobei diese Bereiche durch jene Voxel (11) bestimmt werden, zu denen der minimale Abstand in dem Ab Standattribut gespeichert ist, und wobei die Steueran Weisungen zur Übertragung an den 3D-Drucker bereitgestellt werden. - a center point (23) is calculated for the respective grid unit (21) if all calculated distances are less than or equal to the predetermined limit value, c) 2D texture coordinates and 3D spatial coordinates are assigned to each center point (23), the 2D texture coordinates being mapped onto the 3D spatial coordinates of the at least one surface section (30), and d) those voxels (11) of the voxel Model (10) can be determined, the minimum distance to the center points (23) being smaller than a predetermined distance, the minimum distance being stored in the starting attribute of the respective voxel (11). Method according to the preceding claim, wherein the grid units (21) are rectangular, in particular square. Method according to one of the preceding claims, wherein in step b) when calculating the center point (23) for the respective grid unit (21), a normal vector (24) is additionally determined for the center point (23) and is assigned to the center point (23), whereby the normal vector (24) is perpendicular to the at least one surface section (30). Method according to the preceding claim, wherein in step d) the respective determined voxels (11) are assigned information about whether the respective voxel (11) is outside or inside the at least a section of the physical object. Method according to one of the preceding claims, wherein the center points (23) represent the at least one section of the physical model and are provided to a display device for visualizing the at least one section of the physical model. Method according to one of the preceding claims, wherein the number of grid units (21) in step a) is determined based on the at least one surface section (30). Method according to one of the preceding claims, wherein the minimum distance to the center points (21) is formed by means of an interpolation of two or more center points (21). Method according to one of the preceding claims, wherein the at least one surface section (30) is represented by a parametric surface model. Method according to one of the preceding claims, wherein the at least one surface portion (30) forms a closed surface of the physical object. Method according to one of the preceding claims, wherein control instructions for printing the physical object in a 3D printer are derived from the generated 3D model, the control instructions comprising information about which areas in a printing space of the 3D printer a printing material is to be used physical object, these areas being determined by those voxels (11) to which the minimum distance is stored in the From Stand attribute, and the control instructions being provided for transmission to the 3D printer.
PCT/EP2023/058148 2022-05-16 2023-03-29 Method for generating a 3d model by means of a scatter plot WO2023222294A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102022112234.4A DE102022112234A1 (en) 2022-05-16 2022-05-16 Method for generating a 3D model using a point cloud
DE102022112234.4 2022-05-16

Publications (1)

Publication Number Publication Date
WO2023222294A1 true WO2023222294A1 (en) 2023-11-23

Family

ID=85980512

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2023/058148 WO2023222294A1 (en) 2022-05-16 2023-03-29 Method for generating a 3d model by means of a scatter plot

Country Status (2)

Country Link
DE (1) DE102022112234A1 (en)
WO (1) WO2023222294A1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11027493B2 (en) * 2017-11-09 2021-06-08 Dassault Systemes Additive manufacturing of a 3D part

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11027493B2 (en) * 2017-11-09 2021-06-08 Dassault Systemes Additive manufacturing of a 3D part

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
BERNHARD MATHIAS ET AL: "Volumetric modelling for 3D printed architecture", ADVANCES IN ARCHITECTURAL GEOMETRY 2018, 25 September 2018 (2018-09-25), pages 392 - 415, XP055848997, ISBN: 978-3-903015-13-5 *
SHUHUA LAI ET AL: "Voxelization of Free-Form Solids Represented by Catmull-Clark Subdivision Surfaces", 2006, GEOMETRIC MODELING AND PROCESSING - GMP 2006 LECTURE NOTES IN COMPUTER SCIENCE;;LNCS, SPRINGER, BERLIN, DE, PAGE(S) 595 - 601, ISBN: 978-3-540-36711-6, XP019037680 *

Also Published As

Publication number Publication date
DE102022112234A1 (en) 2023-11-16

Similar Documents

Publication Publication Date Title
DE69908966T3 (en) SHADING OF 3-DIMENSIONAL CALCULATOR-PRODUCED PICTURES
DE69916646T3 (en) Shading of 3-dimensional computer-generated images
DE60032832T2 (en) Illustration of a curved surface in several resolutions
DE102005050846A1 (en) Perspective editing tools for 2-D images
DE19612016A1 (en) Process for computer-aided geometry modeling
DE112009004371T5 (en) Collision determination device and collision determination program
DE69924699T2 (en) Method for creating graphic objects represented as surface elements
DE102005010169A1 (en) Active polyhedron for 3D image segmentation
DE3825891A1 (en) Method of designing a curved surface
DE3315148C2 (en)
DE102012210521A1 (en) Uncut time and lens boundaries for improved sample test efficiency in image rendering
DE602004011749T2 (en) Envelope deformation using subdivided surfaces
DE102004004641A1 (en) Image processing method, involves determining contribution of each voxel to bin of detector array or vice versa in accordance with projections of voxel edges and detector bin edges on predetermined plane
DE69631718T2 (en) Method and device for efficient graphic representation of three-dimensional scenes
DE69916808T2 (en) METHOD AND SYSTEM FOR RAY TRACKING
DE69912046T2 (en) Method and device for generating a network
DE112013003230T5 (en) Method for modifying a path of a cutting head of a laser cutting machine
DE19807053A1 (en) Beam transformation process for fast volume preparation for perspective viewing
DE69924230T2 (en) Method for modeling graphic elements represented by surface elements
DE69921608T2 (en) METHOD AND DEVICE FOR ZOOMING DIGITAL IMAGE FILES
DE602004008102T2 (en) THREE-DIMENSIONAL SEGMENTATION THROUGH THE USE OF DEFORMABLE SURFACES
DE102008050049A1 (en) Method for determining a 3D surface approximating the object boundary of an object in a digital 3D data record
DE69912045T2 (en) Method and device for creating a network of square elements
AT525294A1 (en) Method for creating a hierarchical data structure, hierarchical data structure and method for streaming three-dimensional objects
WO2006061185A1 (en) Method for producing technical drawings from 3d models using at least two colliding 3d bodies

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23716238

Country of ref document: EP

Kind code of ref document: A1