Information processing device, information processing method and computer readable medium

By setting the attributes in the voxel data in the polygon mesh data in the information processing device, the problem of difficult inheritance of voxel data in the polygon mesh data is solved, and effective inheritance of attributes and accurate representation of three-dimensional shapes are achieved.

CN113205602BActive Publication Date: 2025-04-11FUJIFILM BUSINESS INNOVATION CORP
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202010910006.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2020-01-31
Filing Date
2020-09-02
Publication Date
2025-04-11
Estimated Expiration
2040-09-02

AI Technical Summary

Technical Problem

When associating voxel data with polygon mesh data, it is difficult to inherit the properties contained in voxel data such as color information in the polygon mesh data.

Method used

The processor sets the attributes in the voxel data in the polygon mesh data. The specific method includes deriveing ​​attributes based on the association relationship, distance and attribute types of the voxel and the polygon, and setting them on the polygon.

Benefits of technology

It realizes inheriting attributes in voxel data in polygon mesh data, ensuring the integrity and accuracy of the attribute information of three-dimensional shapes during the conversion process.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113205602B_ABST
    Figure CN113205602B_ABST
Patent Text Reader

Abstract

The present invention provides an information processing device, an information processing method, and a computer-readable medium. The information processing device has a processor, which obtains voxel data of a three-dimensional shape represented by a plurality of voxels and to which attributes are respectively assigned, and polygon mesh data representing the three-dimensional shape using a plurality of polygons, sets the attributes assigned to the voxels to the polygons, and outputs the polygon mesh data.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to an information processing device, an information processing method, and a computer-readable medium. Background Art

[0002] In "Sergey Makarov, Marc Horner, Gregory Noetscher Editors, Brain and Human Body Modeling Computational Human Modeling at EMBC 2018.", a technique for converting from voxel data to polygonal mesh data is disclosed. Summary of the invention

[0003] In recent years, the development of three-dimensional measurement technologies such as MRI (Magnetic Resonance Imaging) and laser scanners has been prevalent and used in various fields. In order to reproduce the voxel data representing the three-dimensional shape obtained by MRI and laser scanners into a shape close to the real object, when the three-dimensional shape is displayed on a monitor or when the three-dimensional shape is formed by a three-dimensional forming device, conversion from voxel data to polygon mesh data is sometimes performed.

[0004] However, when voxel data and polygon mesh data are associated with each other, the attributes (for example, color information, etc.) included in the voxels constituting the voxel data are not necessarily inherited by the polygon mesh data.

[0005] An object of the present disclosure is to provide an information processing device, an information processing method, and a computer-readable medium that can inherit attributes included in voxels in voxel data in polygonal mesh data when voxel data and polygonal mesh data are associated with each other.

[0006] According to the first scheme of the present disclosure, an information processing device is provided, wherein the information processing device has a processor, the processor obtains voxel data of a three-dimensional shape, and polygon mesh data using multiple polygons to represent the three-dimensional shape, the three-dimensional shape is represented by multiple voxels and attributes are respectively assigned to the voxels, the attributes assigned to the voxels are set to the polygons, and the polygon mesh data is output.

[0007] According to the second aspect of the present disclosure, the processor specifies a polygon associated with each voxel, and sets the attribute given to the voxel to the polygon.

[0008] According to the third aspect of the present disclosure, when there are a plurality of voxels associated with a polygon, the processor derives the attribute using at least one of the attribute given to the voxel and the distance from the polygon to the voxel, and sets the attribute to the polygon.

[0009] According to a fourth aspect of the present disclosure, the processor sets the attribute of the voxel closest to the polygon to the polygon.

[0010] According to the fifth embodiment of the present disclosure, the distance is the shortest distance from the reference point of the voxel to the plane constituting the polygon, or the distance from the reference point to the centroid of the polygon, and the reference point is the centroid of the voxel, or a coordinate point pre-set in each voxel.

[0011] According to a sixth aspect of the present disclosure, the processor selects any one of a logical sum, a logical product, and a statistical derivation method based on the attribute given to the voxel, and derives the attribute set to the polygon.

[0012] According to the seventh aspect of the present disclosure, the processor associates the voxel with the polygon when the distance from the voxel to the polygon is equal to or smaller than a predetermined threshold.

[0013] According to the eighth aspect of the present disclosure, the processor associates the voxel with the polygon when the distance from the polygon to a voxel adjacent to the voxel associated with the polygon is equal to or smaller than a predetermined threshold.

[0014] According to the ninth aspect of the present disclosure, when the attribute set to the polygon and the attributes set to a plurality of polygons adjacent to the polygon are the same or are considered to be the same, the processor converts the polygon into a smaller number of polygons to reduce the number of polygons.

[0015] According to the 10th scheme of the present disclosure, a computer-readable medium is provided, which stores a program for causing a computer to execute processing, wherein the processing obtains voxel data of a three-dimensional shape and polygonal mesh data of a three-dimensional shape represented by a plurality of polygons, the three-dimensional shape is represented by a plurality of voxels and attributes are respectively assigned to the voxels, the attributes assigned to the voxels are set to the polygons, and the polygonal mesh data is output.

[0016] According to the 11th scheme of the present disclosure, an information processing method is provided, wherein voxel data of a three-dimensional shape and polygonal mesh data of a three-dimensional shape represented by a plurality of polygons are obtained, the three-dimensional shape is represented by a plurality of voxels and attributes are respectively assigned to the voxels, the attributes assigned to the voxels are set to the polygons, and the polygonal mesh data is output.

[0017] Effects of the Invention

[0018] According to the first, tenth or eleventh aspect, when voxel data and polygon mesh data are associated with each other, the attributes of the voxels in the voxel data can be inherited by the polygon mesh data.

[0019] According to the second aspect, attributes according to the positions of voxels and polygons can be inherited.

[0020] According to the third aspect, more appropriate attributes can be inherited compared to the case where attributes and distances are not considered.

[0021] According to the fourth aspect, compared with the case where the distance is not taken into consideration, the set attribute can be made clearer.

[0022] According to the fifth aspect, compared with a case where reference points of distances are not unified, the set attributes can be made clearer.

[0023] According to the sixth aspect, the set attribute can be derived according to the type of attribute.

[0024] According to the seventh aspect, compared with the case where the distance is not taken into consideration, the voxel associated with the polygon can be clearly identified.

[0025] According to the eighth aspect, the voxel associated with the polygon can be clearly identified.

[0026] According to the ninth aspect, the amount of data can be suppressed compared to a case where polygons are not reduced. BRIEF DESCRIPTION OF THE DRAWINGS

[0027] Figure 1 It is a structural diagram showing an example of a three-dimensional modeling system according to each embodiment.

[0028] Figure 2 It is a structural diagram showing an example of an information processing device according to each embodiment.

[0029] Figure 3 This is a block diagram showing an example of the functional configuration of the information processing device according to each embodiment.

[0030] Figure 4 It is a schematic diagram showing an example of a polygon for explaining the setting of attributes in each embodiment.

[0031] Figure 5 This is a diagram showing an example of a polygon for explaining the distance between voxels and polygons in each embodiment.

[0032] Figure 6 It is a diagram showing an example of a three-dimensional shape represented by voxels in each embodiment.

[0033] Figure 7 It is a structural diagram showing an example of a three-dimensional modeling device according to each embodiment.

[0034] Figure 8 This is a data flow diagram showing an example of information processing in the first embodiment.

[0035] Fig. 9 It is a diagram showing an example of attribute information, coordinate information, polygon information, and polygon mesh data in each embodiment.

[0036] Fig.10 This is a schematic diagram showing an example of a mesh for explaining polygon reduction in each embodiment.

[0037] Fig.11 This is a flowchart showing an example of information processing in the first embodiment.

[0038] Fig.12 This is a data flow diagram showing an example of information processing in the second embodiment.

[0039] Fig.13 This is a schematic diagram showing an example of a polygon for explaining derivation of a voxel associated with a polygon according to the second embodiment.

[0040] Fig.14 This is a flowchart showing an example of information processing according to the second embodiment. DETAILED DESCRIPTION

[0041] [First embodiment]

[0042] Hereinafter, examples of modes for implementing the present disclosure will be described in detail with reference to the drawings.

[0043] Figure 1 1 is a structural diagram of the three-dimensional modeling system 1 of this embodiment. Figure 1 As shown, the three-dimensional modeling system 1 includes an information processing device 10 and a three-dimensional modeling device 200 .

[0044] Next, refer to Figure 2 The configuration of the information processing device 10 according to the present embodiment will be described.

[0045] The information processing device 10 is constituted by, for example, a personal computer, and includes a controller 11. The controller 11 includes a CPU (Central Processing Unit) 11A, a ROM (Read Only Memory) 11B, a RAM (Random Access Memory) 11C, a nonvolatile memory 11D, and an input / output interface (I / O) 11E. The CPU 11A, the ROM 11B, the RAM 11C, the nonvolatile memory 11D, and the I / O 11E are connected to each other via a bus 11F. The CPU 11A is an example of a processor.

[0046] Furthermore, the operation unit 12 , the display unit 13 , the communication unit 14 , and the storage unit 15 are connected to the I / O 11E.

[0047] The operation unit 12 is configured to include, for example, a mouse and a keyboard.

[0048] The display unit 13 is composed of, for example, a liquid crystal display or the like.

[0049] The communication unit 14 is an interface for performing data communication with external devices such as the three-dimensional modeling apparatus 200 .

[0050] The storage unit 15 is composed of a nonvolatile storage device such as a hard disk, and stores information processing programs and three-dimensional shape data described later. The CPU 11A reads and executes the information processing programs stored in the storage unit 15. In addition, the three-dimensional shape data of this embodiment is described as voxel data or polygon mesh data.

[0051] Next, the functional structure of the CPU 11A will be described.

[0052] like Figure 3 As shown, the CPU 11A functionally includes an acquisition unit 20 , a conversion unit 21 , a setting unit 22 , and an output unit 23 .

[0053] The acquisition unit 20 acquires voxel data of a three-dimensional shape represented by a plurality of voxels and in which attributes are assigned to each voxel.

[0054] The conversion unit 21 converts the voxel data into polygonal mesh data using a predetermined method. Here, the predetermined method refers to a method for converting voxel data into polygonal mesh data. In addition, polygonal mesh data refers to data that combines multiple polygons such as triangles to represent a three-dimensional shape in a grid. In this embodiment, as an example of a predetermined method, the case where the marching cube method is used is described, but it is not limited to this. The marching cube method is a method of converting into polygonal mesh data by setting a predetermined face according to the presence or absence of a voxel pattern in a set of 8 adjacent voxels of 2×2×2.

[0055] In addition, a voxel is a basic element of a three-dimensional shape and is originally represented by a rectangular parallelepiped having a volume. However, in order to avoid complexity, the voxels in this embodiment are described as being represented by points.

[0056] The setting unit 22 associates each voxel in the voxel data with each polygon in the polygon mesh, and sets the attribute given to the voxel in the polygon.

[0057] For example, Figure 4 As shown in (a), when the voxel data is converted into polygon mesh data and one voxel 31 is identified as corresponding to the polygon 30 , the setting unit 22 sets the attribute given to the voxel 31 to the polygon 30 .

[0058] In addition, if Figure 4As shown in (b), when there are a plurality of voxels 31 corresponding to the polygon 30 , the setting unit 22 derives the attribute based on the attributes given to the plurality of voxels 31 and the distance from the voxel 31 to the polygon 30 , and sets the attribute to the polygon 30 .

[0059] Specifically, the setting unit 22 uses logical product, logical sum, or statistics to derive the attribute from the attribute and the distance. When the value assigned to the voxel 31 as an attribute is a binary value (for example, white or black, presence or absence, data represented in binary, etc.), the setting unit 22 uses the logical sum or logical product of the attributes of multiple voxels to derive the attribute. In addition, when the attribute assigned to the voxel 31 is a continuous value such as intensity, the value of the attribute is derived using the average value and set to the polygon 30. In addition, when the attribute assigned to the voxel 31 is a continuous value such as temperature and is associated with the distance, the value of the attribute is derived using the weighted average value and set to the polygon 30.

[0060] In addition, in this embodiment, the method of using average and weighted average as statistics to derive attributes is described. However, it is not limited to this. As statistics, the median, average, maximum and minimum values ​​may also be used to derive attributes.

[0061] Furthermore, the setting unit 22 may set the attribute based on the distance. For example, the setting unit 22 may derive the distance from each voxel 31 to the polygon 30 and set the attribute of the voxel 31 with the closest distance to the polygon 30 .

[0062] Here, if Figure 5 As shown, the distance refers to the closest distance from the centroid 32 of the voxel to the closest point 34 of the polygon 33. Figure 5 As shown in FIG. 1 , the closest distance is the distance from the centroid 32 of the voxel to the point (closest point 34) that is in contact when a perpendicular line is extended relative to the plane constituting the polygon 33, and is the distance from the centroid 32 of the voxel to the polygon 33 at the shortest distance. In addition, the distance of this embodiment is described as the closest distance. However, it is not limited to this. Figure 5 As shown, the distance may be the distance from the centroid 32 of the voxel to the centroid 35 of the polygon 33, that is, the centroid distance, or a signed distance field (SDF) in which the distance value is managed in a signed manner. SDF is a well-known method for expressing the positional relationship of a three-dimensional shape, and the distance from a predetermined place such as the centroid of the voxel to the nearest polygon is set as the signed distance field of the voxel. At this time, the CPU 11A sets a positive sign to the calculated distance when the predetermined place serving as a reference point for measuring the distance is included in the three-dimensional shape, and sets a negative sign to the calculated distance when it is not included in the three-dimensional shape.

[0063] In addition, the present embodiment describes a method in which the centroid of the voxel 31 is a reference point for the distance. However, the present invention is not limited to this. In the case where the reference point coordinates of each voxel are pre-set as one of the attributes instead of the centroid of the voxel 31, the distance can also be calculated based on the reference point. For example, in the case where the deviation between the centroid of the three-dimensional shape in each voxel region and the coordinates of the geometric center of the voxel when formed by the three-dimensional forming device 200 is provided as an attribute, the distance can also be calculated by obtaining the centroid coordinates of each voxel corresponding to the three-dimensional shape based on the deviation.

[0064] exist Figure 3 In the example, the output unit 23 shows the polygon mesh data with attributes set. For example, the output unit 23 may store the polygon mesh data with attributes set in the storage unit 15, or may accept the specification of the attributes, change the color according to each value of the attributes specified together with the polygon mesh data, and display it on the display unit 13.

[0065] Next, refer to Figure 6 , a three-dimensional shape 37 represented by a voxel 36 is described. Figure 6 This is a diagram showing an example of a three-dimensional shape 37 represented by a voxel 36 according to the present embodiment.

[0066] like Figure 6 As shown, the three-dimensional shape 37 is composed of a plurality of voxels 36. Here, the voxel 36 is a basic element of the three-dimensional shape 37, and for example, a cuboid is used, but it is not limited to a cuboid, and a sphere or a cylinder may also be used. The desired three-dimensional shape 37 is expressed by stacking the voxels 36.

[0067] As a three-dimensional shaping method for shaping the three-dimensional shape 37, for example, a hot melt lamination method (FDM method: Fused Deposition Modeling) for shaping the three-dimensional shape 37 by melting and laminating a thermoplastic resin, a laser sintering method (SLS method: Selective Laser Sintering) for shaping the three-dimensional shape 37 by irradiating a powdered metal material with a laser beam and sintering it, etc. are applied, but other three-dimensional shaping methods may also be used. In this embodiment, a case where the three-dimensional shape 37 is shaped by the laser sintering method is described.

[0068] Next, a three-dimensional shape forming apparatus 200 for forming a three-dimensional shape 40 using three-dimensional shape data generated by the information processing apparatus 10 will be described. Figure 7 This is an example of the structure of the three-dimensional shape forming apparatus 200 of this embodiment. The three-dimensional shape forming apparatus 200 is an apparatus for forming a three-dimensional shape 40 by a laser sintering method.

[0069] like Figure 7 As shown, the three-dimensional modeling apparatus 200 includes an irradiation head 201, an irradiation head driving unit 202, a modeling table 203, a modeling table driving unit 204, an acquisition unit 205, and a control unit 206. The irradiation head 201, the irradiation head driving unit 202, the modeling table 203, and the modeling table driving unit 204 are examples of a modeling unit.

[0070] The irradiation head 201 is a laser irradiation head for irradiating a forming material 41 with laser light in order to form a three-dimensional shape 40 .

[0071] The irradiation head 201 is driven by the irradiation head driving unit 202 to perform two-dimensional scanning on the XY plane.

[0072] The forming table 203 is driven by the forming table driving unit 204 to move up and down along the z-axis direction.

[0073] The acquisition unit 205 acquires the three-dimensional shape data generated by the information processing device 10 .

[0074] The control unit 206 irradiates the forming material 41 placed on the forming table 203 with laser light from the irradiation head 201 according to the three-dimensional shape data acquired by the acquisition unit 205 , and controls the position of the irradiation laser light through the irradiation head driving unit 202 .

[0075] Furthermore, the control unit 206 drives the forming table driving unit 204 to lower the forming table 203 by a predetermined stacking interval each time the forming of each layer is completed, and controls the filling of the forming material 41 into the forming table 203. In this way, a three-dimensional shape 40 based on the three-dimensional shape data is formed.

[0076] Next, before explaining the operation of the information processing device 10 of this embodiment, Figures 8 to 10 , describing the method of setting attributes for polygons in this embodiment.

[0077] Figure 8 is a data flow diagram showing an example of information processing in this embodiment. Figure 8 As shown, CPU 11A of information processing device 10 performs voxel data acquisition processing 50, polygon conversion processing 51, attribute setting processing 52, polygon reduction processing 53, and output processing 54. CPU 11A also generates attribute information 56, coordinate information 57, polygon information 58, and polygon mesh data 59.

[0078] As an example, Fig. 9 As shown in (a), the attribute information 56 includes voxel ID (IDentification) and voxel attribute. Voxel ID is a number and symbol uniquely assigned to each voxel, and voxel attribute is information related to the attribute given to each voxel. Fig. 9As shown in (b), the coordinate information 57 includes a voxel ID and a voxel coordinate. The voxel coordinate is a coordinate indicating the position of a voxel.

[0079] In addition, as an example, Fig. 9 As shown in (c), polygon information 58 includes polygon ID, vertex ID, vertex coordinates and voxel ID. Polygon ID is a number and symbol uniquely assigned to each polygon (face) constituting a polygon mesh, and vertex ID is a number and symbol assigned to each vertex (Vertex) constituting a polygon. Vertex coordinates are coordinates indicating the position of the vertex. Here, polygon information 58 includes voxel IDs indicating voxels associated with the polygon, and one or more voxel IDs are associated with each polygon.

[0080] In addition, as an example, Fig. 9 As shown in (d), the polygon mesh data 59 includes a polygon ID, a vertex ID, vertex coordinates, a voxel ID, voxel coordinates, and polygon attributes. The polygon attribute is an attribute derived from the voxel associated with the polygon and is set for each polygon. In addition, the polygon ID of the polygon mesh data 59 includes the coordinates of the vertices constituting the polygon and the coordinates of the voxel associated with the polygon.

[0081] exist Figure 8 In the process of acquiring voxel data 55 input by a user, the voxel data acquisition processing 50 acquires voxel data 55 , and generates attribute information 56 given to each voxel and coordinate information 57 indicating the coordinates of the voxel based on the voxel data 55 .

[0082] The polygon conversion process 51 converts voxels into polygons based on the coordinate information 57 , and generates polygon information 58 .

[0083] The attribute setting process 52 generates polygon mesh data 59 using the attribute information 56 , the coordinate information 57 , and the polygon information 58 .

[0084] The polygon reduction process 53 uses the polygon mesh data 59 to reduce the number of polygons. Specifically, the polygon reduction process 53 compares polygons that share vertices at both ends of an edge, and when the set attributes are equal or considered equal, reduces the edge and integrates the vertices at both ends of the edge. The polygon reduction process 53 repeatedly integrates vertices based on the comparison of polygon attributes and the reduction of edges until the number of polygons reaches the specified number, thereby reducing the number of polygons.

[0085] Here, the case where the attribute is considered to be equivalent means the case where the difference between the attribute and the attribute serving as a reference is within a predetermined range. In addition, the predetermined range may be specified by the user.

[0086] As an example, in Fig.10 When the attributes of all 10 triangles adjacent to vertices 72 and 73 sharing edge 74 shown in (a) are identical or considered identical, vertices 72 and 73 located at both ends of edge 74 shared by polygons 70 and 71 are integrated.

[0087] like Fig.10 As shown in (b), when the vertices 72 and 73 are integrated into the vertex 75, the polygons 70 and 71 that share the reduced edge 74 disappear, and the number of polygons is reduced to 8. In this way, the amount of data is suppressed by reducing the number of polygons.

[0088] However, when reducing the number of polygons, Fig.10 In (a), attention should be paid to the flipping of polygons that share vertices for integration, the change in the three-dimensional shape represented by the polygon mesh, and the changes in attributes.

[0089] For example, in Fig.10 In (a), as a result of integrating the vertices, the shapes of the polygons adjacent to the vertex 72 or the vertex 73 may change, and some of the polygons may be flipped over, with the normal lines inverted. As a method of suppressing the inversion of the normal lines, there is a method of determining whether the normal lines of all polygons adjacent to the vertex 72 or the vertex 73 will be inverted after the vertices are integrated, and determining not to perform the integration process even if there is one polygon with an inverted normal line.

[0090] Furthermore, as a result of integrating the vertices, typically the three-dimensional shape represented by the plurality of polygons affected by the integration changes. Fig.10 In (a), when all vertices are on the same plane, Fig.10 Vertex 75 in (b) is placed on the same plane, so that the three-dimensional shape does not change before and after integration. However, in the case where only vertices 72 and 73 exist in positions different from the plane where other vertices are located, no matter where the position of vertex 75 is set, the three-dimensional shape will change to some extent. Therefore, the following method is used: the integrated vertices are set to the best position to minimize the shape change before and after integration, and the size of the shape change caused by reduction is evaluated for each edge, and the edges with small shape changes are preferentially reduced, thereby suppressing the shape change. QEM (Quadric Error Metrics) is usually used to estimate the best position of the integrated vertices and evaluate the size of the shape change.

[0091] By reducing the number of polygons in this way, changes in the shapes of the surrounding polygons and polygon meshes are suppressed.

[0092] exist Figure 8 In the output process 54, the polygon mesh data 59 is output. As an example, Figure 8 As shown, the polygon mesh data 59 is displayed on the display unit 13. Alternatively, the polygon mesh data 59 may be stored in the storage unit 15, or may be transmitted to an external three-dimensional modeling apparatus 200 via the communication unit 14.

[0093] Next, refer to Fig.11 The operation of the information processing program according to this embodiment will be described. Fig.11 1 is a flowchart showing an example of information processing in the present embodiment. The CPU 11A reads out and executes an information processing program from the ROM 11B or the nonvolatile memory 11D, thereby executing Fig.11 The information processing shown. Fig.11 The information processing shown is executed when, for example, an execution instruction of the information processing program is input from a user.

[0094] In step S101 , CPU 11A acquires voxel data.

[0095] In step S102 , the CPU 11A obtains the coordinates and attributes of the voxels from the voxel data.

[0096] In step S103 , the CPU 11A converts the voxels into polygons based on the coordinates of the voxels.

[0097] In step S104, CPU 11A determines whether the converted polygon corresponds to a plurality of voxels. If the polygon corresponds to a plurality of voxels (step S104: Yes), CPU 11A proceeds to step S106. On the other hand, if the polygon does not correspond to a plurality of voxels (step S104: No), CPU 11A proceeds to step S105.

[0098] In step S105 , the CPU 11A sets the attributes of the voxels to the polygons.

[0099] In step S106, CPU 11A determines whether the attribute given to the voxel is binary. If the attribute is binary (step S106: Yes), CPU 11A proceeds to step S107. On the other hand, if the attribute is not binary (step S106: No), CPU 11A proceeds to step S108.

[0100] In step S107 , the CPU 11A uses a logical sum to derive the attributes set for the polygon from the attributes given to the voxels.

[0101] In step S108 , the CPU 11A derives the attributes to be set for the polygon from the attributes given to the voxels using statistics.

[0102] In step S109 , the CPU 11A sets the derived attributes to the polygon.

[0103] In step S110, CPU11A determines whether all voxels have been converted into polygons. If all voxels have been converted (step S110: Yes), CPU11A proceeds to step S111. On the other hand, if all voxels have not been converted (step S110: No), CPU11A proceeds to step S102.

[0104] In step S111 , the CPU 11A integrates vertices to reduce the number of polygons.

[0105] In step S112 , the CPU 11A stores polygon mesh data obtained by converting voxels into polygons.

[0106] In step S113 , the CPU 11A outputs polygon mesh data.

[0107] As described above, according to the present embodiment, the attributes included in the voxels in the voxel data are inherited by the polygon mesh data.

[0108] [Second embodiment]

[0109] In the first embodiment, a method of inheriting attributes in polygon mesh data when voxel data is converted into polygon mesh data is described. In this embodiment, a method of inheriting attributes in polygon mesh data when voxel data and polygon mesh data corresponding to each other are obtained is described. In addition, the structure of the three-dimensional modeling system 1 of this embodiment (see Figure 1 ), the structure of the information processing device 10 (refer to Figure 2 ), the functional structure of the information processing device 10 (refer to Figure 3 ) and polygonal examples (see Figure 4 ) is the same as the first embodiment, and therefore, the description thereof is omitted. Figure 5 ), a diagram showing a three-dimensional shape (see Figure 6 ), the structure of the three-dimensional modeling device 200 (refer to Figure 7 ), the structure of each information (refer to Fig. 9 ), and an example of a reduced polygon (see Fig.10 ) is the same as the first embodiment, and therefore the description is omitted.

[0110] First, refer to Fig.12 , describing the method of setting attributes for polygons in this embodiment. Fig.12 is a data flow diagram showing an example of information processing in this embodiment. Figure 8 in Fig.12 The information shown is processed in the same steps, marked with Figure 8 The same reference numerals are used and their descriptions are omitted.

[0111] like Fig.12 As shown, the CPU 11A of the information processing device 10 performs a voxel data acquisition process 50 , an attribute setting process 52 , a polygon reduction process 53 , an output process 54 , a polygon mesh acquisition process 61 , and an association process 62 .

[0112] The polygon mesh acquisition process 61 acquires polygon information 58 from the polygon mesh data 60 input by the user. Here, the polygon information 58 acquired from the polygon mesh data 60 is not associated with the voxel. That is, the coordinates of the voxel included in the coordinate information 57 need to be associated with the polygon included in the polygon information 58.

[0113] The association process 62 associates the polygon with the voxel using the polygon information 58 and the coordinate information 57 acquired from the polygon mesh data 60. Specifically, the coordinates of the voxel included in the coordinate information 57 and the coordinates of the vertex included in the polygon information 58 are compared to perform the association.

[0114] For example, Fig.13 As shown, when referring to one coordinate of a vertex of polygon 76 included in polygon information 58, voxel 77 having the coordinate closest to the position of the vertex is obtained. As a candidate for a voxel associated with polygon 76, voxel 78 adjacent to voxel 77 is determined, and it is determined whether the distance from voxel 78 to polygon 76 is within a predetermined distance. If the distance from voxel 78 to polygon 76 is within a predetermined distance, voxel 78 is associated with polygon 76.

[0115] The voxels adjacent to the associated voxel 78 are also considered as candidates for the voxels associated with the polygon 76, and it is determined whether the distance from the voxel to the polygon 76 is within a predetermined distance. The process is repeated until there are no candidates for the associated voxels. In this way, the voxel 77 associated with the polygon 76 and the voxel 78 that becomes a candidate for being associated with the polygon 76 are determined, and the polygon and the voxel are associated. In addition, the predetermined distance in this embodiment is the radius of the circumscribed circle of the voxel. However, it is not limited to this. The predetermined distance can also be specified by the user.

[0116] However, when the polygon to be associated is large, the number of candidate voxels increases, the amount of processing required for determination becomes huge, and it is difficult to associate the polygon with the voxels. Therefore, when associating the polygon with the voxels, the polygon needs to be divided in advance for association.

[0117] Next, refer to Fig.14 The operation of the information processing program according to this embodiment will be described. Fig.14 is a flowchart showing an example of information processing in the present embodiment. The CPU 11A reads and executes an information processing program from the ROM 11B or the nonvolatile memory 11D. Fig.14 The information processing shown. Fig.14 The information processing shown in the figure is executed when, for example, an execution instruction of the information processing program is input from a user. Fig.11 in Fig.14 The information shown is processed in the same steps, marked with Fig.11 The same reference numerals are used and their descriptions are omitted.

[0118] In step S114 , CPU 11A acquires polygon mesh data.

[0119] In step S115 , CPU 11A obtains the coordinates of the vertices of the polygon from the polygon mesh data.

[0120] In step S116 , the CPU 11A determines whether to divide the polygon. If the polygon is divided (step S116 : Yes), the CPU 11A proceeds to step S117 . On the other hand, if the polygon is not divided (step S116 : No), the CPU 11A proceeds to step S118 .

[0121] In step S117 , the CPU 11A divides the polygon.

[0122] In step S118 , the CPU 11A associates the voxels and the polygons using the coordinates of the voxels and the coordinates of the vertices.

[0123] In step S119, CPU 11A determines whether all voxels are associated with polygons. If all voxels are associated with polygons (step S119: Yes), CPU 11A proceeds to step S111. On the other hand, if all voxels are not associated with polygons (step S119: No), CPU 11A proceeds to step S102.

[0124] As described above, according to the present embodiment, the attributes included in the voxels in the voxel data are inherited by the polygon mesh data.

[0125] In addition, in each embodiment, a method of inheriting the attributes set in the voxel data in the polygonal mesh data is described. However, it is not limited to this. For example, in the case of obtaining voxel data without attributes, the characteristics of the three-dimensional shape can be extracted from the voxel data and set as attributes, and the extracted attributes can be inherited in the polygonal mesh data. In addition, in the case of obtaining only polygonal mesh data, it is also possible to convert the polygonal mesh data into voxel data, extract characteristics from the voxel data and set as attributes, and convert it again into polygonal mesh data to inherit the attributes.

[0126] The present disclosure is described using each embodiment, but the present disclosure is not limited to the scope described in each embodiment. Various changes or improvements can be made to each embodiment within the scope of the present disclosure, and the forms with such changes or improvements are also included in the technical scope of the present disclosure.

[0127] For example, in this embodiment, the information processing device 10 that generates three-dimensional shape data that inherits attributes from polygon mesh data and the three-dimensional modeling device 200 that models a three-dimensional shape based on the three-dimensional shape data are described as separate structures. However, the present invention is not limited to this. The three-dimensional modeling device 200 may also be configured to have the functions of the information processing device 10.

[0128] That is, the acquisition unit 205 of the three-dimensional modeling apparatus 200 may acquire voxel data, and the control unit 206 may execute Fig.11 or Fig.14 By processing the information, attributes are inherited in the polygonal mesh data to generate three-dimensional shape data.

[0129] In addition, in this embodiment, the processor refers to a processor in a broad sense, including general-purpose processors such as CPU (Central Processing Unit), and special-purpose processors such as GPU (Graphics Processing Unit), ASIC (Application Specific Integrated Circuit), FPGA (Field Programmable Gate Array) and programmable logic devices.

[0130] In addition, the actions of the processors in the above-mentioned embodiments may be implemented not only by one processor, but by multiple processors in physically separated locations in cooperation with each other. In addition, the order of the actions of the processors is not limited to the order described in the above-mentioned embodiments, but may also be appropriately changed.

[0131] In addition, in the present embodiment, a method of installing the information processing program that inherits the attributes in the polygonal mesh data in the storage unit 15 is described, but it is not limited to this. The information processing program of the present embodiment can also be provided by recording it on a computer-readable storage medium. For example, the information processing program of the present invention can also be provided by recording it on an optical disk such as a CD (Compact Disc)-ROM and a DVD (Digital Versatile Disc)-ROM. The information processing program of the present invention can also be provided by recording it on a semiconductor memory such as a USB (Universal Serial Bus) memory and a memory card. In addition, the information processing program of the present embodiment can also be obtained from an external device via a communication line connected to the communication unit 14.

Claims

1. An information processing device, wherein: The information processing device comprises a processor. The processor obtains voxel data of a three-dimensional shape and polygon mesh data representing the three-dimensional shape using a plurality of polygons, wherein the three-dimensional shape is represented by a plurality of voxels and attributes are respectively assigned to the voxels. For each of the plurality of polygons, determining whether the polygon corresponds to one voxel or to a plurality of voxels, and in the case where it is determined that the polygon corresponds to one voxel, setting the attribute assigned to the voxel to the polygon, and in the case where it is determined that the polygon corresponds to a plurality of voxels, selecting an attribute derivation method based on the attributes assigned to the plurality of voxels, executing the selected attribute derivation method, deriving attributes from the plurality of voxels, and setting the derived attributes to the polygon, After the attribute given to the voxel is set to the polygon, the polygon mesh data is output.

2. The information processing device according to claim 1, wherein: The processor determines the polygon associated with each of the voxels, and sets the attribute given to the voxel to the polygon.

3. The information processing device according to claim 2, wherein: When there are a plurality of voxels associated with the polygon, the processor derives an attribute using at least one of an attribute given to the voxel and a distance from the polygon to the voxel, and sets the attribute to the polygon.

4. The information processing device according to claim 3, wherein: The processor sets an attribute of the voxel closest to the polygon to the polygon.

5. The information processing device according to claim 3 or 4, wherein: The distance is the shortest distance from a reference point of the voxel to a plane constituting the polygon, or the distance from the reference point to the centroid of the polygon, and the reference point is the centroid of the voxel or a coordinate point pre-set in each voxel.

6. The information processing device according to claim 3 or 4, wherein: The processor selects any one of a logical sum, a logical product, and a statistical derivation method based on the attribute given to the voxel, and derives the attribute set to the polygon.

7. The information processing device according to any one of claims 2 to 4, wherein: The processor associates the voxel with the polygon when a distance from the voxel to the polygon is less than or equal to a predetermined threshold.

8. The information processing device according to claim 7, wherein: The processor associates the voxel with the polygon when a distance from a voxel adjacent to the voxel associated with the polygon to the polygon is equal to or smaller than a predetermined threshold.

9. The information processing device according to any one of claims 1 to 4, wherein: The processor converts the polygon and the polygons adjacent to the polygon into a smaller number of polygons to reduce the number of polygons when the attributes set to the polygon and the attributes set to the plurality of polygons adjacent to the polygon are the same or are considered to be the same attributes.

10. A computer-readable medium storing a program for causing a computer to execute a process, wherein: In the process described, Acquire voxel data of a three-dimensional shape, and polygon mesh data representing the three-dimensional shape using a plurality of polygons, wherein the three-dimensional shape is represented by a plurality of voxels and attributes are respectively assigned to the voxels, For each of the plurality of polygons, determining whether the polygon corresponds to one voxel or to a plurality of voxels, and in the case where it is determined that the polygon corresponds to one voxel, setting the attribute assigned to the voxel to the polygon, and in the case where it is determined that the polygon corresponds to a plurality of voxels, selecting an attribute derivation method based on the attributes assigned to the plurality of voxels, executing the selected attribute derivation method, deriving attributes from the plurality of voxels, and setting the derived attributes to the polygon, After the attribute given to the voxel is set to the polygon, the polygon mesh data is output.

11. An information processing method, wherein: Acquire voxel data of a three-dimensional shape, and polygon mesh data representing the three-dimensional shape using a plurality of polygons, wherein the three-dimensional shape is represented by a plurality of voxels and attributes are respectively assigned to the voxels, For each of the plurality of polygons, determining whether the polygon corresponds to one voxel or to a plurality of voxels, and in the case where it is determined that the polygon corresponds to one voxel, setting the attribute assigned to the voxel to the polygon, and in the case where it is determined that the polygon corresponds to a plurality of voxels, selecting an attribute derivation method based on the attributes assigned to the plurality of voxels, executing the selected attribute derivation method, deriving attributes from the plurality of voxels, and setting the derived attributes to the polygon, After the attribute given to the voxel is set to the polygon, the polygon mesh data is output.