WO2016186236A1 - 3차원 오브젝트의 색상 처리 시스템 및 방법 - Google Patents

3차원 오브젝트의 색상 처리 시스템 및 방법 Download PDF

Info

Publication number
WO2016186236A1
WO2016186236A1 PCT/KR2015/005962 KR2015005962W WO2016186236A1 WO 2016186236 A1 WO2016186236 A1 WO 2016186236A1 KR 2015005962 W KR2015005962 W KR 2015005962W WO 2016186236 A1 WO2016186236 A1 WO 2016186236A1
Authority
WO
WIPO (PCT)
Prior art keywords
coordinates
color
internal
target
color information
Prior art date
Application number
PCT/KR2015/005962
Other languages
English (en)
French (fr)
Inventor
박재영
장성호
최광민
한상훈
Original Assignee
삼성에스디에스 주식회사
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 삼성에스디에스 주식회사 filed Critical 삼성에스디에스 주식회사
Priority to US15/032,250 priority Critical patent/US9870647B2/en
Priority to CN201580002226.8A priority patent/CN106457672A/zh
Publication of WO2016186236A1 publication Critical patent/WO2016186236A1/ko

Links

Images

Classifications

    • 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
    • B33Y50/02Data acquisition or data processing for additive manufacturing for controlling or regulating additive manufacturing processes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B29WORKING OF PLASTICS; WORKING OF SUBSTANCES IN A PLASTIC STATE IN GENERAL
    • B29CSHAPING OR JOINING OF PLASTICS; SHAPING OF MATERIAL IN A PLASTIC STATE, NOT OTHERWISE PROVIDED FOR; AFTER-TREATMENT OF THE SHAPED PRODUCTS, e.g. REPAIRING
    • B29C64/00Additive manufacturing, i.e. manufacturing of three-dimensional [3D] objects by additive deposition, additive agglomeration or additive layering, e.g. by 3D printing, stereolithography or selective laser sintering
    • B29C64/30Auxiliary operations or equipment
    • B29C64/386Data acquisition or data processing for additive manufacturing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/90Determination of colour characteristics
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B29WORKING OF PLASTICS; WORKING OF SUBSTANCES IN A PLASTIC STATE IN GENERAL
    • B29KINDEXING SCHEME ASSOCIATED WITH SUBCLASSES B29B, B29C OR B29D, RELATING TO MOULDING MATERIALS OR TO MATERIALS FOR MOULDS, REINFORCEMENTS, FILLERS OR PREFORMED PARTS, e.g. INSERTS
    • B29K2995/00Properties of moulding materials, reinforcements, fillers, preformed parts or moulds
    • B29K2995/0018Properties of moulding materials, reinforcements, fillers, preformed parts or moulds having particular optical properties, e.g. fluorescent or phosphorescent
    • B29K2995/002Coloured
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B29WORKING OF PLASTICS; WORKING OF SUBSTANCES IN A PLASTIC STATE IN GENERAL
    • B29KINDEXING SCHEME ASSOCIATED WITH SUBCLASSES B29B, B29C OR B29D, RELATING TO MOULDING MATERIALS OR TO MATERIALS FOR MOULDS, REINFORCEMENTS, FILLERS OR PREFORMED PARTS, e.g. INSERTS
    • B29K2995/00Properties of moulding materials, reinforcements, fillers, preformed parts or moulds
    • B29K2995/0018Properties of moulding materials, reinforcements, fillers, preformed parts or moulds having particular optical properties, e.g. fluorescent or phosphorescent
    • B29K2995/002Coloured
    • B29K2995/0021Multi-coloured
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10024Color image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2012Colour editing, changing, or manipulating; Use of colour codes

Definitions

  • the present invention relates to techniques for determining the color of the exterior and interior of a three-dimensional object.
  • US Patent No. 7,991,498 discloses a technique of dividing the surface of a three-dimensional object by color cells and assigning a color to each of the divided color cells. According to this method, a color may be assigned to a 3D object having a simple form or having a simple color, but it is difficult to apply to a 3D object having a complex form or having various colors. According to the prior art, there is a limit in assigning colors to each of the divided surfaces by dividing the surface of the three-dimensional object, and in particular, it is difficult to perform fine color processing on the three-dimensional object having a complicated shape.
  • Patent Document 1 US Patent No. 7,991,498 (2011.08.02)
  • Embodiments of the present invention are to provide a means for efficiently processing the color of the outside and inside of the three-dimensional object by using the appearance information of the three-dimensional object and the color information of the outer surface of the three-dimensional object.
  • a file input unit for receiving a three-dimensional modeling file including the appearance information of the three-dimensional object and the color information of the outer surface of the three-dimensional object;
  • a coordinate extraction unit which is located inside the 3D object and extracts internal coordinates located within a set offset distance from the outer surface;
  • a color processing unit which allocates color information to the internal coordinates by using the appearance information and the color information of the outer surface.
  • the appearance information may include normal vectors of the plurality of outer surfaces constituting the 3D object and surface coordinates existing on the outer surface, and the color information may include image coordinates corresponding to the surface coordinates. .
  • the color processor may determine one or more candidate planes from a plurality of outer planes formed by extending the plurality of outer surfaces, select one of surface coordinates on the candidate plane as target coordinates, and an image corresponding to the target coordinates. Color information of coordinates may be assigned to the internal coordinates.
  • the color processor may determine, as the candidate plane, at least one outer plane corresponding to a shortest distance from the inner coordinates among a plurality of the outer planes within a set value.
  • the color processor may extract the coordinates having the shortest distance from the internal coordinates among the coordinates on the candidate plane with respect to each of the candidate planes, and select the target coordinates using the extracted coordinates.
  • the color processing unit may be configured to identify surface coordinates having the shortest distance from the internal coordinates among coordinates corresponding to surface coordinates on the candidate plane that exist when coordinates corresponding to surface coordinates on the candidate plane exist among the extracted coordinates. Can be selected as the target coordinate.
  • the color processor when the coordinates corresponding to the surface coordinates on the candidate plane do not exist among the extracted coordinates, the distance from the internal coordinates among the surface coordinates located at the corners or vertices of each of the outer surfaces on the candidate plane is increased.
  • the shortest surface coordinate can be selected as the target coordinate.
  • the color processor may allocate color information of image coordinates corresponding to the target coordinates to the internal coordinates when the distance from the target coordinates to the internal coordinates is less than or equal to the offset distance.
  • the file input unit receiving a 3D modeling file including appearance information of a 3D object and color information of an outer surface of the 3D object; Extracting, by a coordinate extracting unit, internal coordinates existing within the 3D object and located within a set offset distance from the outer surface; And assigning, by the color processor, color information to the internal coordinates by using the appearance information and the color information of the outer surface.
  • the appearance information may include normal vectors of the plurality of outer surfaces constituting the 3D object and surface coordinates existing on the outer surface, and the color information may include image coordinates corresponding to the surface coordinates. .
  • Assigning color information to the internal coordinates comprises: determining one or more candidate planes of a plurality of outer planes formed by extending the plurality of outer surfaces; Selecting one of the surface coordinates on the candidate plane as a target coordinate; And assigning color information of image coordinates corresponding to the target coordinates to the internal coordinates.
  • the determining of the candidate plane may include determining, as the candidate plane, at least one outer plane corresponding to a shortest distance from the inner coordinates of the plurality of outer planes within a set value.
  • the selecting of the target coordinates may include: extracting coordinates having a shortest distance from the internal coordinates among the coordinates on the candidate plane with respect to each of the candidate planes; And selecting the target coordinates by using the extracted coordinates.
  • the selecting of the target coordinates using the extracted coordinates may include: when the coordinates corresponding to the surface coordinates on the candidate plane exist among the extracted coordinates, the internal ones of the coordinates corresponding to the surface coordinates on the candidate plane exist.
  • the surface coordinates having the shortest distance from the coordinates can be selected as the target coordinates.
  • the selecting of the target coordinates using the extracted coordinates may include positioning the target coordinates at edges or vertices of the outer surfaces of the candidate planes when none of the extracted coordinates corresponds to the surface coordinates on the candidate planes. Surface coordinates having the shortest distance from the internal coordinates may be selected as the target coordinates.
  • the color of the image coordinates corresponding to the target coordinates when the distance from the target coordinates to the internal coordinates is less than or equal to the offset distance Information may be assigned to the internal coordinates.
  • a step of receiving a three-dimensional modeling file that is coupled to the hardware the file input unit including the appearance information of the three-dimensional object and the color information of the outer surface of the three-dimensional object; Extracting, by a coordinate extracting unit, internal coordinates existing within the 3D object and located within a set offset distance from the outer surface; And a computer program stored in a recording medium for executing a step of assigning color information to the internal coordinates using the appearance information and the color information of the outer surface.
  • the inner color of the 3D object may be determined using color information of the outer surface without dividing the outer surface of the 3D object.
  • the inner color of the 3D object may be efficiently determined using the color information of the outer surface having the greatest influence on the inner color of the 3D object.
  • color information is assigned only to internal coordinates located within a set offset distance from an external surface of the 3D object among coordinates existing inside the 3D object, and according to the allocation of the color information. The amount of computation can be minimized.
  • FIG. 1 is a block diagram showing a detailed configuration of a color processing system of a three-dimensional object according to an embodiment of the present invention
  • FIG. 2 is a view showing a correspondence relationship between surface coordinates and image coordinates according to an exemplary embodiment of the present invention.
  • FIG 3 illustrates an offset distance according to an embodiment of the present invention.
  • FIG. 4 is a diagram for describing a method of selecting target coordinates in a color processor according to an exemplary embodiment of the present invention.
  • FIG. 5 is a diagram for describing a method of selecting target coordinates in a color processor according to an exemplary embodiment of the present invention.
  • FIG. 6 is a diagram illustrating an example in which a color processing system of a 3D object is applied according to an embodiment of the present invention.
  • FIG. 7 is a diagram illustrating another example to which a color processing system of a 3D object is applied according to an embodiment of the present invention.
  • FIG. 8 is a flowchart illustrating a color processing method of a 3D object according to an embodiment of the present invention.
  • FIG. 9 is a flowchart for explaining an operation S808 of FIG. 8.
  • the color processing system 100 of the 3D object may include a file input unit 102, a matrix calculation unit 104, a coordinate extraction unit 106, and a color processing unit ( 108, the slicing unit 110, and the database 112.
  • the file input unit 102 receives a 3D modeling file from a user terminal (not shown).
  • the user terminal may be a device for inputting a 3D modeling file to the file input unit 102, and may be, for example, a wearable device such as a notebook computer, a tablet computer, a smartphone, a PDA, a smart watch, or the like.
  • the 3D modeling file is a file used to output a 3D object in a 3D output device (not shown) such as a 3D printer, and may be, for example, an OBJ file, a VRML file, an AMF file, or the like.
  • the 3D modeling file may include appearance information of a 3D object and material information of an outer surface of the 3D object.
  • the outline information of the 3D object may include normal vectors of a plurality of external surfaces constituting the 3D object and surface coordinates existing on the external surface of the 3D object.
  • the surface coordinates are three-dimensional space coordinates existing on the outer surface of the three-dimensional object, for example, may be made in the form (x, y, z).
  • the material information of the outer surface of the three-dimensional object is information for expressing the material and texture of the outer surface, it may include color information of the outer surface.
  • the color information of the outer surface may include two-dimensional image coordinates corresponding to the surface coordinates, and the image coordinates may be, for example, in the form of (u, v).
  • the matrix calculator 104 calculates a transform matrix by using the 3D modeling file received from the file input unit 102.
  • the transformation matrix refers to a matrix representing a correspondence (correlation) between surface coordinates existing on the outer surface of the 3D object and color information assigned to the surface coordinates, that is, image coordinates.
  • image coordinates (u1, v1) are assigned to surface coordinates (x1, y1, z1) on outer surface vn1
  • image coordinates (u2, v2) are assigned to surface coordinates (x2, y2, z2) on outer surface vn2.
  • the matrix calculation unit 104 is a transformation matrix indicating a correspondence between (x1, y1, z1) and (u1, v1) and (x2, y2, z2) and (u2, v2).
  • the transformation matrix representing the correspondence can be calculated.
  • the transformation matrix can later be used to extract color information assigned to the surface coordinates by converting the surface coordinates into corresponding two-dimensional image coordinates given any surface coordinates present on the outer surface of the three-dimensional object. have.
  • the color processor 108 may assign color information to internal coordinates of the 3D object using a transformation matrix. Meanwhile, a method of calculating a transformation matrix using a corresponding relationship between three-dimensional spatial coordinates and two-dimensional image coordinates is generally well known in the art, and a detailed description thereof will be omitted herein.
  • the coordinate extractor 106 is located inside the 3D object and extracts internal coordinates located within a set offset distance from the outer surface of the 3D object.
  • the internal coordinates mean coordinates to which color information is allocated among coordinates existing in the 3D object. If color information is allocated to all coordinates existing in the 3D object, the amount of computation according to the color information allocation increases.
  • the 3D object generally has a predetermined transparency, the color of the coordinate located at a point away from the outer surface of the 3D object by a predetermined distance or more does not affect the color seen from the outside.
  • color information is allocated only to internal coordinates located within a set offset distance from an external surface of the 3D object among coordinates existing inside the 3D object, thereby minimizing the amount of computation associated with the color information. It was.
  • the coordinate extractor 106 may receive information on the offset distance from the user terminal, and may extract internal coordinates existing within the 3D object and located within the offset distance from the outer surface of the 3D object.
  • the offset distance may be, for example, 3 cm or 5 cm, but is not limited thereto. The offset distance may vary depending on the transparency of the 3D object.
  • the color processor 108 allocates color information to the internal coordinates extracted by the coordinate extractor 106.
  • the color processor 108 may allocate color information to internal coordinates by using external information of the 3D object included in the 3D modeling file and color information of the external surface of the 3D object.
  • the color processor 108 may select an outer surface closest to the extracted inner coordinates among the outer surfaces of the 3D object, and may assign image coordinates corresponding to the surface coordinates on the selected outer surface to the inner coordinates.
  • the color processor 108 may calculate the shortest distance from the inner coordinates to the outer surface in order to select the outer surface closest to the inner coordinates. However, it takes a lot of computation to search all the outer surfaces and measure the shortest distance between each outer surface and the inner coordinates and select one outer surface. Therefore, in the embodiments of the present invention, the outer plane affecting the color of the inner coordinates is determined to reduce the amount of computation, and only the shortest distance between the outer plane and the inner coordinates is measured.
  • the color processor 108 may first determine one or more candidate planes of the plurality of outer planes formed by the plurality of outer surfaces constituting the 3D object.
  • the candidate plane means a plane including an outer surface that affects the color of the internal coordinates.
  • the color processor 108 may determine, as the candidate plane, one or more outer planes corresponding to the shortest distance from the inner coordinates among the plurality of outer planes within a set value.
  • the set value may be, for example, 5cm, 10cm, etc., but is not limited thereto and may vary depending on the transparency of the 3D object.
  • the color processor 108 may extract coordinates having a shortest distance from the internal coordinates among the coordinates on the candidate plane with respect to each candidate plane. For example, when it is assumed that there are first to third candidate planes, the color processor 108 may determine coordinates (x1, y2, z3) having the shortest distance from the internal coordinates among the coordinates on the first candidate plane. 2, the coordinates (x2, y3, z4) having the shortest distance from the internal coordinates among the coordinates on the candidate plane and the coordinates (x3, y4, z5) having the shortest distance from the internal coordinates among the coordinates on the third candidate plane may be extracted. Can be.
  • the color processor 108 removes coordinates in which the distance from the internal coordinates exceeds the offset distance among the extracted coordinates.
  • the color processor 108 may calculate the distance between the extracted coordinates and the internal coordinates, and remove the corresponding coordinates when the calculated distance is larger than the offset distance.
  • the color processor 108 determines whether each of the extracted coordinates except the removed coordinates is present on an outer surface of the 3D object (ie, whether each of the extracted coordinates corresponds to surface coordinates). Judge. If there are coordinates existing on the outer surface of the 3D object among the extracted coordinates, the color processor 108 may have a surface having the shortest distance from the inner coordinates among the coordinates existing on the outer surface of the 3D object. Coordinates (eg, (x2, y2, z2)) may be selected as target coordinates.
  • the color processor 108 may select one of surface coordinates located at edges or vertices of the outer surfaces of the candidate plane.
  • the surface coordinates with the shortest distance to the internal coordinates can be selected as the target coordinates.
  • the shortest distance between the internal coordinates and the target coordinates may be the shortest distance between the internal coordinates and the edge or the distance from the internal coordinates to the vertex.
  • the target coordinates refer to coordinates that have the greatest influence on color information allocated to the internal coordinates among the surface coordinates on the outer surface of the 3D object.
  • the color processor 108 may assign color information of the image coordinates corresponding to the target coordinates to the internal coordinates.
  • the matrix calculator 104 corresponds to the correspondence relationship between the surface coordinates and the image coordinates corresponding to the surface coordinates.
  • the color matrix 108 may be calculated, and the color processor 108 may allocate color information to internal coordinates of the 3D object using the calculated transform matrix. That is, the color processor 108 may obtain image coordinates corresponding to the target coordinates by using the transformation matrix, and may allocate color information of the obtained image coordinates to internal coordinates. Through this process, the target coordinates and the internal coordinates may have the same color information.
  • the color processor 108 may vary the saturation, brightness, and the like of the color information allocated to the internal coordinates according to the distance from the target coordinates to the internal coordinates. For example, the greater the distance from the internal coordinates to the internal coordinates, the less the influence on the color of the internal coordinates seen from the exterior, so that the color processing unit 108 is assigned to the internal coordinates as the distance from the internal coordinates is greater. It is possible to reduce the saturation of the color information.
  • the slicing unit 110 generates an image for each layer for outputting the 3D object.
  • the color processor 108 allocates color information to all internal coordinates located within a set offset distance from an external surface, thereby displaying a 3D image representing the external appearance of the 3D object and the colors of the external and internal colors of the 3D object. Can be generated.
  • the slicing unit 110 may generate a two-dimensional layered image by slicing the three-dimensional image.
  • the slicing unit 110 may store the generated layered image in the database 112. In addition, the slicing unit 110 may transmit the generated layered image to the 3D output device. The 3D output device may sequentially output the image for each floor received from the slicing unit 110.
  • the database 112 is a reservoir in which the layered image generated by the slicing unit 110 is stored. As described above, the slicing unit 110 may generate a layered image and store it in the database 112.
  • the file input unit 102, the matrix calculation unit 104, the coordinate extraction unit 106, the color processing unit 108, the slicing unit 110, and the database 112 are connected to one or more processors and the processors. It may be implemented on a computing device including a computer readable recording medium.
  • the computer readable recording medium may be inside or outside the processor and may be connected with the processor by various well-known means.
  • a processor within the computing device may cause each computing device to operate according to the example embodiments described herein.
  • a processor may execute instructions stored on a computer readable recording medium, and the instructions stored on the computer readable recording medium cause the computing device to operate in accordance with the exemplary embodiment described herein when executed by the processor. It can be configured to perform these.
  • the matrix calculator 104 may calculate a transformation matrix using a 3D modeling file received from the file input unit 102, and the transformation matrix is surface coordinates existing on an outer surface of the 3D object. And color information assigned to the surface coordinates, that is, a corresponding relationship with the image coordinates. 2 shows a two-dimensional image plane A having the outer surface A of the three-dimensional object and the color information of the surface coordinates. As shown in FIG.
  • the surface coordinates (x1, y1, z1) and image coordinates (u1, v1) of the outer surface A may correspond to each other, and the transformation matrix may include all the surface coordinates on the outer surface A and the image plane A
  • the correspondence relationship between image coordinates of the image may be indicated.
  • the color processor 108 selects a target coordinate that has the greatest influence on the color information allocated to the internal coordinate among the surface coordinates on the outer surface of the 3D object, and corresponds to the target coordinate by using the transformation matrix. Obtained image coordinates can be obtained.
  • the color processor 108 may assign color information of the acquired image coordinates to internal coordinates.
  • the coordinate extractor 106 may extract internal coordinates existing inside the 3D object and located within a set offset distance from the outer surface of the 3D object.
  • the offset distance may be, for example, 3 cm, 5 cm, or the like.
  • color information is assigned only to internal coordinates located within a set offset distance from an external surface of the 3D object among coordinates existing inside the 3D object, thereby minimizing the amount of computation associated with the allocation of the color information. Can be.
  • the color processor 108 may determine one or more candidate planes among the plurality of outer planes, and extract coordinates having the shortest distance from the internal coordinates among the coordinates on the candidate plane for each candidate plane.
  • the color processor 108 may determine the first and third candidate planes, respectively.
  • the coordinates (x1, y2, z3), (x2, y3, z4), and (x3, y4, z5), which are shortest from the coordinates on the candidate plane, may be extracted with respect to.
  • the color processor 108 determines whether each of the extracted coordinates (x1, y2, z3), (x2, y3, z4), and (x3, y4, z5) exists on the outer surface of the three-dimensional object.
  • (x1, y2, z3) and (x3, y4, z5) exist on the outer surface of the three-dimensional object, while (x2, y3, z4) on the outer surface of the three-dimensional object.
  • the color processor 108 has the most distance between the internal coordinates (x2, y2, z2) among the surface coordinates (x1, y2, z3) and (x3, y4, z5) existing on the outer surface of the 3D object.
  • Short surface coordinates (x1, y2, z3) can be selected as target coordinates.
  • the color processor 108 may determine the first to third candidate planes. For each plane, each of the coordinates (x4, y5, z6), (x5, y6, z7), (x6, y7, z8) having the shortest distance from the internal coordinates among the coordinates on the candidate plane may be extracted.
  • (x6, y7, z8) is present on the outer surface of the three-dimensional object, while (x4, y5, z6) and (x5, y6, z7) are on the outer surface of the three-dimensional object.
  • the color processor 108 may determine that each of the outer surfaces on the first to third candidate planes is separated.
  • the surface coordinates (x7, y8, z9) having the shortest distance from the internal coordinates (x3, y3, z3) among the surface coordinates located at the corners or vertices of the target may be selected as the target coordinates.
  • (x7, y8, z9) may be an edge formed between the outer surface on the first candidate plane and the outer surface on the second candidate plane.
  • the color processor 108 extracts the coordinates having the shortest distance from the internal coordinates among the coordinates on the candidate plane with respect to each of the candidate planes, and if the coordinates corresponding to the surface coordinates on the candidate plane exist among the extracted coordinates. Select the surface coordinates that have the shortest distance from the internal coordinates as the target coordinates, and if the coordinates corresponding to the surface coordinates on the candidate plane do not exist among the extracted coordinates, they are located at the corners or vertices of each outer surface on the candidate plane. Among the surface coordinates, the surface coordinates having the shortest distance from the internal coordinates may be selected as target coordinates.
  • 6 is a diagram illustrating an example in which the color processing system 100 of a 3D object is applied according to an embodiment of the present invention.
  • 6 illustrates a host model to which the color processing system 100 of the 3D object is applied.
  • the color processing system 100 of the 3D object may process a color of the 3D object between the user terminal 200 and the 3D output device 300 as a host module.
  • a user may transmit a 3D modeling file to the host module 100 through the user terminal 200, and the host module 100 generates a layered image through the above-described method and transmits the image to the 3D output device 300. can do.
  • the 3D output device 300 may sequentially output the image for each floor received from the host module 100.
  • the user terminal 200 may be, for example, a desktop, a laptop, or the like, and the 3D output device 300 may be, for example, a 3D printer.
  • FIG. 7 is a diagram illustrating another example in which the color processing system 100 of the 3D object is applied according to an embodiment of the present invention.
  • 7 illustrates a network model to which the color processing system 100 of the 3D object is applied.
  • the color processing system 100 of the 3D object may process a color of the 3D object between the client 400 and the plurality of 3D output devices 300-1 and 300-2 .. as a cloud or a server. .
  • the user may transmit the 3D modeling file to the cloud / server 100 through the user terminal 200, and the cloud / server 100 may generate a layered image through the above-described method and generate the 3D output device 300-. 1, 300-2 ..).
  • the 3D output devices 300-1 and 300-2 .. may sequentially output floor-specific images received from the cloud / server 100.
  • FIG. 8 is a flowchart illustrating a color processing method of a 3D object according to an embodiment of the present invention.
  • the method is divided into a plurality of steps, but at least some of the steps may be performed in a reverse order, in combination with other steps, omitted, divided into substeps, or not shown.
  • One or more steps may be added and performed.
  • the file input unit 102 receives a 3D modeling file including appearance information of the 3D object and color information of an external surface of the 3D object.
  • the 3D modeling file is a file used to output a 3D object in a 3D output device such as a 3D printer, and may be, for example, an OBJ file, a VRML file, an AMF file, or the like.
  • the matrix calculator 104 calculates a transformation matrix using the 3D modeling file received from the file input unit 102.
  • the transformation matrix refers to a matrix representing a correspondence (correlation) between surface coordinates existing on the outer surface of the 3D object and color information assigned to the surface coordinates, that is, image coordinates.
  • the coordinate extractor 106 extracts internal coordinates existing inside the 3D object and located within a set offset distance from an external surface of the 3D object.
  • the internal coordinates mean coordinates to which color information is allocated among coordinates existing in the 3D object.
  • the color processor 108 allocates color information to internal coordinates by using external shape information of the 3D object and color information of an external surface of the 3D object.
  • the step S808 will be described in detail with reference to FIG. 9.
  • the slicing unit 110 In operation S810, the slicing unit 110 generates a layered image for outputting a 3D object.
  • the color processor 108 may generate a 3D image representing the external shape of the 3D object and the colors of the external and internal colors of the 3D object by assigning color information to all internal coordinates located within a set offset distance from the external surface.
  • the slicing unit 110 may generate a two-dimensional layered image by slicing a three-dimensional image.
  • the slicing unit 110 may transmit the generated layered image to the 3D output device, and the 3D output device may sequentially output the layered image received from the slicing unit 110.
  • FIG. 9 is a flowchart for describing operation S808 of FIG. 8.
  • the color processor 108 determines one or more candidate planes among the plurality of outer planes formed by the plurality of outer surfaces forming the 3D object. For example, the color processor 108 may determine one or more outer planes corresponding to the shortest distance from the inner coordinates among the plurality of outer planes as a candidate plane.
  • step S904 the color processor 108 extracts, for each candidate plane, the coordinates having the shortest distance from the internal coordinates among the coordinates on the candidate plane, respectively.
  • the color processing unit 108 removes coordinates in which the distance from the internal coordinates of the coordinates extracted in operation S904 exceeds the offset distance.
  • step S908 the color processor 108 determines whether there are coordinates existing on the outer surface of the 3D object among the coordinates removed and left in step S906.
  • step S910 when there are coordinates existing on the outer surface of the three-dimensional object among the coordinates removed and left in step S906, the color processor 108 adjusts the coordinates existing on the outer surface of the three-dimensional object among the remaining coordinates. Select by target coordinates.
  • step S912 when there are no coordinates existing on the outer surface of the three-dimensional object among the remaining coordinates removed in step S906, the color processor 108 may make an inner one of the surface coordinates located at the corners or vertices of each of the outer surfaces on the candidate plane. Select the surface coordinates with the shortest distance to the coordinates as the target coordinates.
  • the color processor 108 allocates the color coordinates of the image coordinates corresponding to the target coordinates to the internal coordinates.
  • the color processor 108 may acquire image coordinates corresponding to the target coordinates using the transformation matrix, and may allocate color information of the acquired image coordinates to internal coordinates.
  • an embodiment of the present invention may include a program for performing the methods described herein on a computer, and a computer readable recording medium including the program.
  • the computer-readable recording medium may include program instructions, local data files, local data structures, etc. alone or in combination.
  • the media may be those specially designed and constructed for the purposes of the present invention, or those conventionally available in the field of computer software.
  • Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tape, optical recording media such as CD-ROMs, DVDs, and specially configured to store and execute program instructions such as ROM, RAM, flash memory, and the like.
  • Hardware devices are included. Examples of such programs may include high-level language code that can be executed by a computer using an interpreter as well as machine code such as produced by a compiler.

Abstract

3차원 오브젝트의 색상 처리 시스템 및 방법이 제공된다. 본 발명의 일 실시예에 따른 3차원 오브젝트의 색상 처리 시스템은, 3차원 오브젝트의 외형 정보 및 상기 3차원 오브젝트의 외부 표면의 색상 정보를 포함하는 3차원 모델링 파일을 입력 받는 파일 입력부; 상기 3차원 오브젝트의 내부에 존재하며 상기 외부 표면으로부터 설정된 옵셋 거리 이내에 위치하는 내부 좌표를 추출하는 좌표 추출부; 및 상기 외형 정보 및 상기 외부 표면의 색상 정보를 이용하여 상기 내부 좌표에 색상 정보를 할당하는 색상 처리부를 포함한다.

Description

3차원 오브젝트의 색상 처리 시스템 및 방법
본 발명은 3차원 오브젝트의 외부 및 내부의 색상을 결정하기 위한 기술과 관련된다.
최근 3D 프린터의 사용이 증가하고 있으며, 특히 다중 소재 및 다중 색상을 지원하는 3D 프린터가 보급되고 있다. 그러나, 기존의 3D 프린터의 색상 처리 방식 또는 3D 프린터에 입력 되는 이미지 파일의 형식에 따르면 다중 소재 또는 다중 색상을 갖는 3차원 출력물을 효율적으로 출력하기 어려웠다. 일 예시로서, 3D 프린터에서 가장 많이 사용되는 STL 파일의 경우 3차원 오브젝트의 외형 정보만을 포함하므로 STL 파일에 따라 출력되는 3차원 출력물에 소재나 색상 정보를 할당할 수 없었다.
또한, 미국등록특허공보 US7,991,498 에서는 3차원 오브젝트의 표면을 컬러 셀 단위로 분할하고 분할된 각 컬러 셀에 색상을 할당하는 기법을 제시하고 있다. 이 방식에 따르면 간단한 형태로 이루어지거나 단순한 색상을 갖는 3차원 오브젝트에 색상을 할당할 수 있으나, 복잡한 형태로 이루어지거나 다양한 색상을 갖는 3차원 오브젝트에 대해서는 적용되기 어렵다. 종래 기술에 따르면, 3차원 오브젝트의 표면을 분할하여 분할된 각각의 표면에 대해 색상을 지정하는 데 한계가 있으며, 특히 복잡한 형태로 이루어지는 3차원 오브젝트에 대해서는 세밀한 색상 처리가 어려운 문제점이 있다.
[선행기술문헌]
[특허문헌]
(특허문헌 1) 미국등록특허공보 US7,991,498(2011.08.02)
본 발명의 실시예들은 3차원 오브젝트의 외형 정보 및 3차원 오브젝트의 외부 표면의 색상 정보를 이용하여 3차원 오브젝트의 외부 및 내부의 색상을 효율적으로 처리할 수 있는 수단을 제공하기 위한 것이다.
본 발명의 예시적인 실시예에 따르면, 3차원 오브젝트의 외형 정보 및 상기 3차원 오브젝트의 외부 표면의 색상 정보를 포함하는 3차원 모델링 파일을 입력 받는 파일 입력부; 상기 3차원 오브젝트의 내부에 존재하며 상기 외부 표면으로부터 설정된 옵셋 거리 이내에 위치하는 내부 좌표를 추출하는 좌표 추출부; 및 상기 외형 정보 및 상기 외부 표면의 색상 정보를 이용하여 상기 내부 좌표에 색상 정보를 할당하는 색상 처리부를 포함하는, 3차원 오브젝트의 색상 처리 시스템이 제공된다.
상기 외형 정보는 상기 3차원 오브젝트를 구성하는 복수의 상기 외부 표면의 법선 벡터 및 상기 외부 표면 상에 존재하는 표면 좌표를 포함하며, 상기 색상 정보는 상기 표면 좌표에 대응되는 이미지 좌표를 포함할 수 있다.
상기 색상 처리부는, 복수의 상기 외부 표면이 연장됨으로써 형성되는 복수의 외부 평면 중 하나 이상의 후보 평면을 결정하며, 상기 후보 평면 상의 표면 좌표 중 하나를 대상 좌표로 선택하고, 상기 대상 좌표에 대응되는 이미지 좌표의 색상 정보를 상기 내부 좌표에 할당할 수 있다.
상기 색상 처리부는, 복수의 상기 외부 평면 중 상기 내부 좌표로부터의 최단 거리가 설정된 값 이내에 해당하는 하나 이상의 외부 평면을 상기 후보 평면으로 결정할 수 있다.
상기 색상 처리부는, 상기 후보 평면 각각에 대해 상기 후보 평면 상의 좌표 중 상기 내부 좌표와의 거리가 가장 짧은 좌표를 각각 추출하며, 추출된 상기 좌표를 이용하여 상기 대상 좌표를 선택할 수 있다.
상기 색상 처리부는, 추출된 상기 좌표 중 상기 후보 평면 상의 표면 좌표에 해당하는 좌표가 존재하는 경우 존재하는 상기 후보 평면 상의 표면 좌표에 해당하는 좌표 중 상기 내부 좌표와의 거리가 가장 짧은 표면 좌표를 상기 대상 좌표로 선택할 수 있다.
상기 색상 처리부는, 추출된 상기 좌표 중 상기 후보 평면 상의 표면 좌표에 해당하는 좌표가 존재하지 않는 경우 상기 후보 평면 상의 외부 표면 각각이 이루는 모서리 또는 꼭지점에 위치하는 표면 좌표 중 상기 내부 좌표와의 거리가 가장 짧은 표면 좌표를 상기 대상 좌표로 선택할 수 있다.
상기 색상 처리부는, 상기 대상 좌표로부터 상기 내부 좌표까지의 거리가 상기 옵셋 거리보다 작거나 같은 경우 상기 대상 좌표에 대응되는 이미지 좌표의 색상 정보를 상기 내부 좌표에 할당할 수 있다.
본 발명의 다른 예시적인 실시예에 따르면, 파일 입력부에서, 3차원 오브젝트의 외형 정보 및 상기 3차원 오브젝트의 외부 표면의 색상 정보를 포함하는 3차원 모델링 파일을 입력 받는 단계; 좌표 추출부에서, 상기 3차원 오브젝트의 내부에 존재하며 상기 외부 표면으로부터 설정된 옵셋 거리 이내에 위치하는 내부 좌표를 추출하는 단계; 및 색상 처리부에서, 상기 외형 정보 및 상기 외부 표면의 색상 정보를 이용하여 상기 내부 좌표에 색상 정보를 할당하는 단계를 포함하는, 3차원 오브젝트의 색상 처리 방법이 제공된다.
상기 외형 정보는 상기 3차원 오브젝트를 구성하는 복수의 상기 외부 표면의 법선 벡터 및 상기 외부 표면 상에 존재하는 표면 좌표를 포함하며, 상기 색상 정보는 상기 표면 좌표에 대응되는 이미지 좌표를 포함할 수 있다.
상기 내부 좌표에 색상 정보를 할당하는 단계는, 복수의 상기 외부 표면이 연장됨으로써 형성되는 복수의 외부 평면 중 하나 이상의 후보 평면을 결정하는 단계; 상기 후보 평면 상의 표면 좌표 중 하나를 대상 좌표로 선택하는 단계; 및 상기 대상 좌표에 대응되는 이미지 좌표의 색상 정보를 상기 내부 좌표에 할당하는 단계를 포함할 수 있다.
상기 후보 평면을 결정하는 단계는, 복수의 상기 외부 평면 중 상기 내부 좌표로부터의 최단 거리가 설정된 값 이내에 해당하는 하나 이상의 외부 평면을 상기 후보 평면으로 결정할 수 있다.
상기 대상 좌표로 선택하는 단계는, 상기 후보 평면 각각에 대해 상기 후보 평면 상의 좌표 중 상기 내부 좌표와의 거리가 가장 짧은 좌표를 각각 추출하는 단계; 및 추출된 상기 좌표를 이용하여 상기 대상 좌표를 선택하는 단계를 포함할 수 있다.
추출된 상기 좌표를 이용하여 상기 대상 좌표를 선택하는 단계는, 추출된 상기 좌표 중 상기 후보 평면 상의 표면 좌표에 해당하는 좌표가 존재하는 경우 존재하는 상기 후보 평면 상의 표면 좌표에 해당하는 좌표 중 상기 내부 좌표와의 거리가 가장 짧은 표면 좌표를 상기 대상 좌표로 선택할 수 있다. 추출된 상기 좌표를 이용하여 상기 대상 좌표를 선택하는 단계는, 추출된 상기 좌표 중 상기 후보 평면 상의 표면 좌표에 해당하는 좌표가 존재하지 않는 경우 상기 후보 평면 상의 외부 표면 각각이 이루는 모서리 또는 꼭지점에 위치하는 표면 좌표 중 상기 내부 좌표와의 거리가 가장 짧은 표면 좌표를 상기 대상 좌표로 선택할 수 있다.
상기 대상 좌표에 대응되는 이미지 좌표의 색상 정보를 상기 내부 좌표에 할당하는 단계는, 상기 대상 좌표로부터 상기 내부 좌표까지의 거리가 상기 옵셋 거리보다 작거나 같은 경우 상기 대상 좌표에 대응되는 이미지 좌표의 색상 정보를 상기 내부 좌표에 할당할 수 있다.
본 발명의 다른 예시적인 실시예에 따르면, 하드웨어와 결합되어 파일 입력부에서, 3차원 오브젝트의 외형 정보 및 상기 3차원 오브젝트의 외부 표면의 색상 정보를 포함하는 3차원 모델링 파일을 입력 받는 단계; 좌표 추출부에서, 상기 3차원 오브젝트의 내부에 존재하며 상기 외부 표면으로부터 설정된 옵셋 거리 이내에 위치하는 내부 좌표를 추출하는 단계; 및 색상 처리부에서, 상기 외형 정보 및 상기 외부 표면의 색상 정보를 이용하여 상기 내부 좌표에 색상 정보를 할당하는 단계를 실행시키기 위하여 기록매체에 저장된 컴퓨터프로그램이 제공된다.
본 발명의 실시예들에 따르면, 3차원 오브젝트의 외부 표면을 분할하는 과정 없이 외부 표면의 색상 정보를 이용하여 3차원 오브젝트의 내부 색상을 결정할 수 있다. 특히, 3차원 오브젝트의 내부 색상에 가장 큰 영향을 미치는 외부 표면의 색상 정보를 이용하여 3차원 오브젝트의 내부 색상을 효율적으로 결정할 수 있다.
또한, 본 발명의 실시예들에 따르면, 3차원 오브젝트의 내부에 존재하는 좌표 중 3차원 오브젝트의 외부 표면으로부터 설정된 옵셋 거리 이내에 위치하는 내부 좌표에만 색상 정보가 할당되도록 함으로써, 색상 정보의 할당에 따른 연산량을 최소화할 수 있다.
도 1은 본 발명의 일 실시예에 따른 3차원 오브젝트의 색상 처리 시스템의 상세 구성을 나타낸 블록도
도 2는 본 발명의 일 실시예에 따른 표면 좌표와 이미지 좌표의 대응 관계를 나타낸 도면
도 3은 본 발명의 일 실시예에 따른 옵셋 거리를 나타낸 도면
도 4는 본 발명의 일 실시예에 따른 색상 처리부에서 대상 좌표를 선택하는 방법을 설명하기 위한 도면
도 5는 본 발명의 일 실시예에 따른 색상 처리부에서 대상 좌표를 선택하는 방법을 설명하기 위한 도면
도 6은 본 발명의 일 실시예에 따른 3차원 오브젝트의 색상 처리 시스템이 적용되는 예시를 나타낸 도면
도 7은 본 발명의 일 실시예에 따른 3차원 오브젝트의 색상 처리 시스템이 적용되는 다른 예시를 나타낸 도면
도 8은 본 발명의 일 실시예에 따른 3차원 오브젝트의 색상 처리 방법을 설명하기 위한 흐름도
도 9는 도 8의 S808 단계를 설명하기 위한 흐름도
이하, 도면을 참조하여 본 발명의 구체적인 실시형태를 설명하기로 한다. 이하의 상세한 설명은 본 명세서에서 기술된 방법, 장치 및/또는 시스템에 대한 포괄적인 이해를 돕기 위해 제공된다. 그러나 이는 예시에 불과하며 본 발명은 이에 제한되지 않는다.
본 발명의 실시예들을 설명함에 있어서, 본 발명과 관련된 공지기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. 상세한 설명에서 사용되는 용어는 단지 본 발명의 실시예들을 기술하기 위한 것이며, 결코 제한적이어서는 안 된다. 명확하게 달리 사용되지 않는 한, 단수 형태의 표현은 복수 형태의 의미를 포함한다. 본 설명에서, "포함" 또는 "구비"와 같은 표현은 어떤 특성들, 숫자들, 단계들, 동작들, 요소들, 이들의 일부 또는 조합을 가리키기 위한 것이며, 기술된 것 이외에 하나 또는 그 이상의 다른 특성, 숫자, 단계, 동작, 요소, 이들의 일부 또는 조합의 존재 또는 가능성을 배제하도록 해석되어서는 안 된다.
도 1은 본 발명의 일 실시예에 따른 3차원 오브젝트의 색상 처리 시스템(100)의 상세 구성을 나타낸 블록도이다. 도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 3차원 오브젝트의 색상 처리 시스템(100)은 파일 입력부(102), 행렬 계산부(104), 좌표 추출부(106), 색상 처리부(108), 슬라이싱부(110) 및 데이터베이스(112)를 포함한다.
파일 입력부(102)는 사용자 단말(미도시)로부터 3차원 모델링 파일을 입력 받는다. 여기서, 사용자 단말은 3차원 모델링 파일을 파일 입력부(102)에 입력하기 위한 장치로서, 예를 들어 노트북, 태블릿 컴퓨터, 스마트폰, PDA, 스마트 워치 등과 같은 웨어러블 디바이스 등이 될 수 있다.
3차원 모델링 파일은 3D 프린터와 같은 3차원 출력 장치(미도시)에서 3차원 오브젝트를 출력하는 데 사용되는 파일로서, 예를 들어 OBJ 파일, VRML 파일, AMF 파일 등이 될 수 있다. 상기 3차원 모델링 파일은 3차원 오브젝트의 외형 정보 및 3차원 오브젝트의 외부 표면의 소재(material) 정보를 포함할 수 있다. 3차원 오브젝트의 외형 정보는 3차원 오브젝트를 구성하는 복수의 외부 표면의 법선 벡터 및 3차원 오브젝트의 외부 표면 상에 존재하는 표면 좌표를 포함할 수 있다. 여기서, 표면 좌표는 3차원 오브젝트의 외부 표면 상에 존재하는 3차원 공간 좌표로서 예를 들어, (x, y, z) 형식으로 이루어질 수 있다. 3차원 오브젝트의 외부 표면 상의 모든 위치는 상기 법선 벡터와 표면 좌표를 통해 표현될 수 있다. 또한, 3차원 오브젝트의 외부 표면의 소재 정보는 상기 외부 표면의 재질과 질감을 표현하기 위한 정보로서, 외부 표면의 색상 정보를 포함할 수 있다. 외부 표면의 색상 정보는 표면 좌표에 대응되는 2차원의 이미지 좌표를 포함할 수 있으며, 상기 이미지 좌표는 예를 들어, (u, v) 형식으로 이루어질 수 있다.
행렬 계산부(104)는 파일 입력부(102)에서 입력 받은 3차원 모델링 파일을 이용하여 변환 행렬을 계산한다. 여기서, 변환 행렬은 3차원 오브젝트의 외부 표면 상에 존재하는 표면 좌표와 상기 표면 좌표에 할당된 색상 정보, 즉 이미지 좌표와의 대응 관계(상관 관계)를 나타내는 매트릭스를 의미한다. 예를 들어, 외부 표면 vn1 상의 표면 좌표 (x1, y1, z1)에 이미지 좌표 (u1, v1)이 할당되고 외부 표면 vn2 상의 표면 좌표 (x2, y2, z2)에 이미지 좌표 (u2, v2)이 할당되어 있는 것으로 가정하는 경우, 행렬 계산부(104)는 (x1, y1, z1)와 (u1, v1)와의 대응 관계를 나타내는 변환 행렬 및 (x2, y2, z2)와 (u2, v2)와의 대응 관계를 나타내는 변환 행렬을 계산할 수 있다. 변환 행렬은 추후 3차원 오브젝트의 외부 표면 상에 존재하는 임의의 표면 좌표가 주어졌을 때 상기 표면 좌표를 대응되는 2차원의 이미지 좌표로 변환함으로써 상기 표면 좌표에 할당된 색상 정보를 추출하는 데 사용될 수 있다. 또한, 후술할 바와 같이, 색상 처리부(108)는 변환 행렬을 이용하여 3차원 오브젝트의 내부 좌표에 색상 정보를 할당할 수 있다. 한편, 3차원의 공간 좌표와 2차원의 이미지 좌표의 대응 관계를 이용하여 변환 행렬을 계산하는 방법은 본 발명이 속한 기술분야에서 일반적으로 널리 알려져 있는바, 여기서는 그 자세한 설명을 생략하기로 한다.
좌표 추출부(106)는 3차원 오브젝트의 내부에 존재하며 3차원 오브젝트의 외부 표면으로부터 설정된 옵셋 거리(offset distance) 이내에 위치하는 내부 좌표를 추출한다. 여기서, 내부 좌표는 3차원 오브젝트의 내부에 존재하는 좌표 중 색상 정보가 할당되는 좌표를 의미한다. 만약, 3차원 오브젝트의 내부에 존재하는 좌표 모두에 색상 정보를 할당하게 되면 색상 정보 할당에 따른 연산량이 많아지게 된다. 또한, 3차원 오브젝트는 일반적으로 소정의 투명도를 갖게 되므로, 3차원 오브젝트의 외부 표면으로부터 내측으로 일정 거리 이상 떨어진 지점에 위치하는 좌표의 색상은 외관에서 보여지는 색상에 영향을 미치지 않는다. 따라서, 본 발명의 실시예에서는 3차원 오브젝트의 내부에 존재하는 좌표 중 3차원 오브젝트의 외부 표면으로부터 설정된 옵셋 거리 이내에 위치하는 내부 좌표에만 색상 정보를 할당하도록 함으로써, 색상 정보의 할당에 따른 연산량을 최소화하였다. 좌표 추출부(106)는 사용자 단말로부터 옵셋 거리에 관한 정보를 입력 받을 수 있으며, 3차원 오브젝트의 내부에 존재하며 3차원 오브젝트의 외부 표면으로부터 상기 옵셋 거리 이내에 위치하는 내부 좌표를 추출할 수 있다. 옵셋 거리는 예를 들어, 3cm, 5cm 등이 될 수 있으나 이에 한정되는 것은 아니며, 3차원 오브젝트의 투명도에 따라 달라질 수 있다.
색상 처리부(108)는 좌표 추출부(106)에서 추출된 내부 좌표에 색상 정보를 할당한다. 색상 처리부(108)는 3차원 모델링 파일에 포함된 3차원 오브젝트의 외형 정보 및 3차원 오브젝트의 외부 표면의 색상 정보를 이용하여 내부 좌표에 색상 정보를 할당할 수 있다. 이때, 색상 처리부(108)는 3차원 오브젝트의 외부 표면 중 추출된 내부 좌표에서 가장 가까운 외부 표면을 선택하고, 선택된 외부 표면 상의 표면 좌표에 대응되는 이미지 좌표를 상기 내부 좌표에 할당할 수 있다. 색상 처리부(108)는 내부 좌표에서 가장 가까운 외부 표면을 선택하기 위하여 내부 좌표로부터 외부 표면까지의 최단 거리를 계산할 수 있다. 그러나, 모든 외부 표면을 탐색하여 각 외부 표면과 내부 좌표의 최단 거리를 측정하여 하나의 외부 표면을 선택하기에는 많은 연산량이 필요하다. 따라서, 본 발명의 실시예들에서는 이러한 연산량을 줄이기 위해 내부 좌표의 색상에 영향을 미치는 외부 평면을 결정하고, 상기 외부 평면과 내부 좌표의 최단 거리만을 측정하도록 하였다.
이를 위해, 색상 처리부(108)는 먼저 3차원 오브젝트를 구성하는 복수의 외부 표면이 연장됨으로써 형성되는 복수의 외부 평면 중 하나 이상의 후보 평면을 결정할 수 있다. 여기서, 후보 평면은 내부 좌표의 색상에 영향을 미치는 외부 표면을 포함하는 평면을 의미한다. 색상 처리부(108)는 복수의 외부 평면 중 내부 좌표로부터의 최단 거리가 설정된 값 이내에 해당하는 하나 이상의 외부 평면을 후보 평면으로 결정할 수 있다. 여기서, 설정된 값은 예를 들어, 5cm, 10cm 등이 될 수 있으나 이에 한정되는 것은 아니며, 3차원 오브젝트의 투명도에 따라 달라질 수 있다.
색상 처리부(108)는 후보 평면 각각에 대해 후보 평면 상의 좌표 중 내부 좌표와의 거리가 가장 짧은 좌표를 추출할 수 있다. 예를 들어, 제 1 후보 평면 내지 제 3 후보 평면이 있다고 가정하는 경우, 색상 처리부(108)는 제 1 후보 평면 상의 좌표 중 내부 좌표와의 거리가 가장 짧은 좌표 (x1, y2, z3), 제 2 후보 평면 상의 좌표 중 내부 좌표와의 거리가 가장 짧은 좌표 (x2, y3, z4), 제 3 후보 평면 상의 좌표 중 내부 좌표와의 거리가 가장 짧은 좌표 (x3, y4, z5) 각각을 추출할 수 있다.
다음으로, 색상 처리부(108)는 상기 추출된 좌표 중 내부 좌표와의 거리가 옵셋 거리를 초과하는 좌표를 제거한다. 색상 처리부(108)는 상기 추출된 좌표와 내부 좌표와의 거리를 계산하고, 상기 계산된 거리가 옵셋 거리보다 큰 경우 해당 좌표를 제거할 수 있다.
다음으로, 색상 처리부(108)는 상기 제거된 좌표를 제외한 상기 추출된 좌표 각각이 3차원 오브젝트의 외부 표면 상에 존재하는지의 여부(즉, 상기 추출된 좌표 각각이 표면 좌표에 해당하는지의 여부)를 판단한다. 만약, 상기 추출된 좌표 중 3차원 오브젝트의 외부 표면 상에 존재하는 좌표가 있는 경우, 색상 처리부(108)는 상기 3차원 오브젝트의 외부 표면 상에 존재하는 좌표 중 내부 좌표와의 거리가 가장 짧은 표면 좌표(예를 들어, (x2, y2, z2))를 대상 좌표로 선택할 수 있다.
만약, 상기 추출된 좌표 모두가 3차원 오브젝트의 외부 표면 상에 존재하지 않는 경우, 색상 처리부(108)는 후보 평면 상의 외부 표면 각각이 이루는 모서리(edge) 또는 꼭지점(vertex)에 위치하는 표면 좌표 중 내부 좌표와의 거리가 가장 짧은 표면 좌표를 대상 좌표로 선택할 수 있다. 이 경우, 내부 좌표와 대상 좌표와의 최단 거리는 내부 좌표와 에지와의 최단 거리 또는 내부 좌표로부터 꼭지점까지의 거리가 될 수 있다.
여기서, 대상 좌표는 3차원 오브젝트의 외부 표면 상의 표면 좌표 중 내부 좌표에 할당되는 색상 정보에 가장 큰 영향을 미치는 좌표를 의미한다. 색상 처리부(108)는 대상 좌표에 대응되는 이미지 좌표의 색상 정보를 내부 좌표에 할당할 수 있다, 상술한 바와 같이, 행렬 계산부(104)는 표면 좌표와 표면 좌표에 대응되는 이미지 좌표의 대응 관계를 나타내는 변환 행렬을 계산할 수 있으며, 색상 처리부(108)는 계산된 변환 행렬을 이용하여 3차원 오브젝트의 내부 좌표에 색상 정보를 할당할 수 있다. 즉, 색상 처리부(108)는 변환 행렬을 이용하여 대상 좌표에 대응되는 이미지 좌표를 획득할 수 있으며, 획득된 이미지 좌표의 색상 정보를 내부 좌표에 할당할 수 있다. 이와 같은 과정을 통해, 대상 좌표와 내부 좌표는 동일한 색상 정보를 가질 수 있다.
또한, 색상 처리부(108)는 대상 좌표로부터 내부 좌표까지의 거리에 따라 내부 좌표에 할당되는 색상 정보의 채도, 명도 등을 달리할 수 있다. 예를 들어, 대상 좌표로부터 내부 좌표로부터의 거리가 클수록 외관에서 보여지는 내부 좌표의 색상에 대한 영향력이 떨어질 수 있으므로, 색상 처리부(108)는 대상 좌표로부터 내부 좌표로부터의 거리가 클수록 내부 좌표에 할당되는 색상 정보의 채도를 감소시킬 수 있다.
슬라이싱부(110)는 3차원 오브젝트의 출력을 위한 층별 이미지를 생성한다. 상술한 과정을 통해, 색상 처리부(108)는 외부 표면으로부터 설정된 옵셋 거리 이내에 위치하는 모든 내부 좌표에 색상 정보를 할당함으로써 3차원 오브젝트의 외형과 3차원 오브젝트의 외부 및 내부의 색상을 나타내는 3차원 이미지를 생성할 수 있다. 슬라이싱부(110)는 3차원 이미지를 슬라이싱(slicing)함으로써 2차원의 층별 이미지를 생성할 수 있다.
슬라이싱부(110)는 생성된 층별 이미지를 데이터베이스(112)에 저장할 수 있다. 또한, 슬라이싱부(110)는 생성된 층별 이미지를 3차원 출력 장치로 송신할 수 있다. 3차원 출력 장치는 슬라이싱부(110)로부터 수신한 층별 이미지를 순차적으로 출력할 수 있다.
데이터베이스(112)는 슬라이싱부(110)에 의해 생성된 층별 이미지가 저장되는 저장소이다. 상술한 바와 같이, 슬라이싱부(110)는 층별 이미지를 생성하여 데이터베이스(112)에 저장할 수 있다.
일 실시예에서, 파일 입력부(102), 행렬 계산부(104), 좌표 추출부(106), 색상 처리부(108), 슬라이싱부(110) 및 데이터베이스(112)는 하나 이상의 프로세서 및 그 프로세서와 연결된 컴퓨터 판독 가능 기록 매체를 포함하는 컴퓨팅 장치 상에서 구현될 수 있다. 컴퓨터 판독 가능 기록 매체는 프로세서의 내부 또는 외부에 있을 수 있고, 잘 알려진 다양한 수단으로 프로세서와 연결될 수 있다. 컴퓨팅 장치 내의 프로세서는 각 컴퓨팅 장치로 하여금 본 명세서에서 기술되는 예시적인 실시예에 따라 동작하도록 할 수 있다. 예를 들어, 프로세서는 컴퓨터 판독 가능 기록 매체에 저장된 명령어를 실행할 수 있고, 컴퓨터 판독 가능 기록 매체에 저장된 명령어는 프로세서에 의해 실행되는 경우 컴퓨팅 장치로 하여금 본 명세서에 기술되는 예시적인 실시예에 따른 동작들을 수행하도록 구성될 수 있다.
도 2는 본 발명의 일 실시예에 따른 표면 좌표와 이미지 좌표의 대응 관계를 나타낸 도면이다. 상술한 바와 같이, 행렬 계산부(104)는 파일 입력부(102)에서 입력 받은 3차원 모델링 파일을 이용하여 변환 행렬을 계산할 수 있으며, 상기 변환 행렬은 3차원 오브젝트의 외부 표면 상에 존재하는 표면 좌표와 상기 표면 좌표에 할당된 색상 정보, 즉 이미지 좌표와의 대응 관계를 나타낼 수 있다. 도 2는 3차원 오브젝트의 외부 표면 A와 표면 좌표의 색상 정보를 갖는 2차원 이미지 평면 A를 나타낸다. 도 2에 도시된 바와 같이, 외부 표면 A의 표면 좌표 (x1, y1, z1)과 이미지 좌표 (u1, v1)은 서로 대응될 수 있으며, 변환 행렬은 외부 표면 A 상의 모든 표면 좌표와 이미지 평면 A 상의 이미지 좌표 간의 대응 관계를 나타낼 수 있다. 상술한 바와 같이, 색상 처리부(108)는 3차원 오브젝트의 외부 표면 상의 표면 좌표 중 내부 좌표에 할당되는 색상 정보에 가장 큰 영향을 미치는 대상 좌표를 선택하고, 상기 변환 행렬을 이용하여 대상 좌표에 대응되는 이미지 좌표를 획득할 수 있다. 색상 처리부(108)는 획득된 이미지 좌표의 색상 정보를 내부 좌표에 할당할 수 있다.
도 3은 본 발명의 일 실시예에 따른 옵셋 거리를 나타낸 도면이다. 상술한 바와 같이, 좌표 추출부(106)는 3차원 오브젝트의 내부에 존재하며 3차원 오브젝트의 외부 표면으로부터 설정된 옵셋 거리 이내에 위치하는 내부 좌표를 추출할 수 있다. 옵셋 거리는 예를 들어, 3cm, 5cm 등이 될 수 있다. 도 3에 도시된 바와 같이, 3차원 오브젝트의 내부에 존재하는 좌표 중 3차원 오브젝트의 외부 표면으로부터 설정된 옵셋 거리 이내에 위치하는 내부 좌표에만 색상 정보가 할당됨으로써, 색상 정보의 할당에 따른 연산량이 최소화될 수 있다.
도 4 및 5는 본 발명의 일 실시예에 따른 색상 처리부에서 대상 좌표를 선택하는 방법을 설명하기 위한 도면이다. 상술한 바와 같이, 색상 처리부(108)는 복수의 외부 평면 중 하나 이상의 후보 평면을 결정하고, 후보 평면 각각에 대해 후보 평면 상의 좌표 중 내부 좌표와의 거리가 가장 짧은 좌표를 추출할 수 있다.
도 4를 참조하면, 예를 들어 내부 좌표 (x2, y2, z2)에 대한 제 1 후보 평면 내지 제 3 후보 평면이 결정되는 경우, 색상 처리부(108)는 제 1 후보 평면 내지 제 3 후보 평면 각각에 대해 후보 평면 상의 좌표 중 내부 좌표와의 거리가 가장 짧은 좌표 (x1, y2, z3), (x2, y3, z4), (x3, y4, z5) 각각을 추출할 수 있다. 색상 처리부(108)는 추출된 좌표 (x1, y2, z3), (x2, y3, z4), (x3, y4, z5) 각각이 3차원 오브젝트의 외부 표면 상에 존재하는지의 여부를 판단한다.
도 4에 도시된 바와 같이, (x1, y2, z3) 및 (x3, y4, z5)는 3차원 오브젝트의 외부 표면 상에 존재하는 반면 (x2, y3, z4)는 3차원 오브젝트의 외부 표면 상에 존재하지 않는다. 따라서, 색상 처리부(108)는 3차원 오브젝트의 외부 표면 상에 존재하는 표면 좌표 (x1, y2, z3) 및 (x3, y4, z5) 중 내부 좌표 (x2, y2, z2)까지의 거리가 가장 짧은 표면 좌표 (x1, y2, z3)를 대상 좌표로 선택할 수 있다.
또한, 도 5를 참조하면, 예를 들어 내부 좌표 (x3, y3, z3)에 대한 제 1 후보 평면 내지 제 3 후보 평면이 결정되는 경우, 색상 처리부(108)는 제 1 후보 평면 내지 제 3 후보 평면 각각에 대해 후보 평면 상의 좌표 중 내부 좌표와의 거리가 가장 짧은 좌표 (x4, y5, z6), (x5, y6, z7), (x6, y7, z8) 각각을 추출할 수 있다.
도 5에 도시된 바와 같이, (x6, y7, z8)는 3차원 오브젝트의 외부 표면 상에 존재하는 반면 (x4, y5, z6) 및 (x5, y6, z7)는 3차원 오브젝트의 외부 표면 상에 존재하지 않는다. 그러나, 내부 좌표 (x3, y3, z3)와 표면 좌표 (x6, y7, z8)와의 거리가 옵셋 거리를 초과하므로, 색상 처리부(108)는 제 1 후보 평면 내지 제 3 후보 평면 상의 외부 표면 각각이 이루는 모서리 또는 꼭지점에 위치하는 표면 좌표 중 내부 좌표 (x3, y3, z3)와의 거리가 가장 짧은 표면 좌표 (x7, y8, z9)를 대상 좌표로 선택할 수 있다. 여기서, (x7, y8, z9)는 제 1 후보 평면 상의 외부 표면과 제 2 후보 평면 상의 외부 표면이 이루는 모서리일 수 있다.
즉, 색상 처리부(108)는 후보 평면 각각에 대해 후보 평면 상의 좌표 중 내부 좌표와의 거리가 가장 짧은 좌표를 추출하고, 추출된 좌표 중 후보 평면 상의 표면 좌표에 해당하는 좌표가 존재하는 경우 상기 표면 좌표 중 내부 좌표와의 거리가 가장 짧은 표면 좌표를 대상 좌표로 선택하며, 추출된 좌표 중 후보 평면 상의 표면 좌표에 해당하는 좌표가 존재하지 않는 경우 후보 평면 상의 외부 표면 각각이 이루는 모서리 또는 꼭지점에 위치하는 표면 좌표 중 내부 좌표와의 거리가 가장 짧은 표면 좌표를 대상 좌표로 선택할 수 있다.
도 6은 본 발명의 일 실시예에 따른 3차원 오브젝트의 색상 처리 시스템(100)이 적용되는 예시를 나타낸 도면이다. 도 6은 3차원 오브젝트의 색상 처리 시스템(100)이 적용되는 호스트 모델을 나타낸다. 3차원 오브젝트의 색상 처리 시스템(100)은 호스트 모듈로서, 사용자 단말(200)와 3차원 출력 장치(300) 사이에서 3차원 오브젝트의 색상을 처리할 수 있다. 사용자는 사용자 단말(200)를 통해 3차원 모델링 파일을 호스트 모듈(100)에 송신할 수 있으며, 호스트 모듈(100)은 상술한 방법을 통해 층별 이미지를 생성하여 3차원 출력 장치(300)로 송신할 수 있다. 3차원 출력 장치(300)는 호스트 모듈(100)로부터 수신한 층별 이미지를 순차적으로 출력할 수 있다. 여기서, 사용자 단말(200)는 예를 들어, 데스크탑, 노트북 등일 수 있으며, 3차원 출력 장치(300)는 예를 들어, 3D 프린터일 수 있다.
도 7은 본 발명의 일 실시예에 따른 3차원 오브젝트의 색상 처리 시스템(100)이 적용되는 다른 예시를 나타낸 도면이다. 도 7은 3차원 오브젝트의 색상 처리 시스템(100)이 적용되는 네트워크 모델을 나타낸다. 3차원 오브젝트의 색상 처리 시스템(100)은 클라우드 또는 서버로서, 클라이언트(400)와 복수의 3차원 출력 장치(300-1, 300-2..) 사이에서 3차원 오브젝트의 색상을 처리할 수 있다. 사용자는 사용자 단말(200)을 통해 3차원 모델링 파일을 클라우드/서버(100)에 송신할 수 있으며, 클라우드/서버(100)는 상술한 방법을 통해 층별 이미지를 생성하여 3차원 출력 장치(300-1, 300-2..)로 송신할 수 있다. 3차원 출력 장치(300-1, 300-2..)는 클라우드/서버(100)로부터 수신한 층별 이미지를 순차적으로 출력할 수 있다.
도 8은 본 발명의 일 실시예에 따른 3차원 오브젝트의 색상 처리 방법을 설명하기 위한 흐름도이다. 도시된 흐름도에서는 상기 방법을 복수 개의 단계로 나누어 기재하였으나, 적어도 일부의 단계들은 순서를 바꾸어 수행되거나, 다른 단계와 결합되어 함께 수행되거나, 생략되거나, 세부 단계들로 나뉘어 수행되거나, 또는 도시되지 않은 하나 이상의 단계가 부가되어 수행될 수 있다.
S802 단계에서, 파일 입력부(102)는 3차원 오브젝트의 외형 정보 및 3차원 오브젝트의 외부 표면의 색상 정보를 포함하는 3차원 모델링 파일을 입력 받는다. 3차원 모델링 파일은 3D 프린터와 같은 3차원 출력 장치에서 3차원 오브젝트를 출력하는 데 사용되는 파일로서, 예를 들어 OBJ 파일, VRML 파일, AMF 파일 등이 될 수 있다.
S804 단계에서, 행렬 계산부(104)는 파일 입력부(102)에서 입력 받은 3차원 모델링 파일을 이용하여 변환 행렬을 계산한다. 여기서, 변환 행렬은 3차원 오브젝트의 외부 표면 상에 존재하는 표면 좌표와 상기 표면 좌표에 할당된 색상 정보, 즉 이미지 좌표와의 대응 관계(상관 관계)를 나타내는 매트릭스를 의미한다.
S806 단계에서, 좌표 추출부(106)는 3차원 오브젝트의 내부에 존재하며 3차원 오브젝트의 외부 표면으로부터 설정된 옵셋 거리 이내에 위치하는 내부 좌표를 추출한다. 여기서, 내부 좌표는 3차원 오브젝트의 내부에 존재하는 좌표 중 색상 정보가 할당되는 좌표를 의미한다.
S808 단계에서, 색상 처리부(108)는 3차원 오브젝트의 외형 정보 및 3차원 오브젝트의 외부 표면의 색상 정보를 이용하여 내부 좌표에 색상 정보를 할당한다. S808 단계에 대해서는 도 9를 참조하여 구체적으로 설명하기로 한다.
S810 단계에서, 슬라이싱부(110)는 3차원 오브젝트의 출력을 위한 층별 이미지를 생성한다. 색상 처리부(108)는 외부 표면으로부터 설정된 옵셋 거리 이내에 위치하는 모든 내부 좌표에 색상 정보를 할당함으로써 3차원 오브젝트의 외형과 3차원 오브젝트의 외부 및 내부의 색상을 나타내는 3차원 이미지를 생성할 수 있으며, 슬라이싱부(110)는 3차원 이미지를 슬라이싱함으로써 2차원의 층별 이미지를 생성할 수 있다. 슬라이싱부(110)는 생성된 층별 이미지를 3차원 출력 장치로 송신할 수 있으며, 3차원 출력 장치는 슬라이싱부(110)로부터 수신한 층별 이미지를 순차적으로 출력할 수 있다.
도 9는 도 8의 S808 단계를 설명하기 위한 흐름도이다.
S902 단계에서, 색상 처리부(108)는 3차원 오브젝트를 구성하는 복수의 외부 표면이 연장됨으로써 형성되는 복수의 외부 평면 중 하나 이상의 후보 평면을 결정한다. 예를 들어, 색상 처리부(108)는 복수의 외부 평면 중 내부 좌표로부터의 최단 거리가 설정된 값 이내에 해당하는 하나 이상의 외부 평면을 후보 평면으로 결정할 수 있다.
S904 단계에서, 색상 처리부(108)는 후보 평면 각각에 대해 후보 평면 상의 좌표 중 내부 좌표와의 거리가 가장 짧은 좌표를 각각 추출한다.
S906 단계에서, 색상 처리부(108)는 S904 단계에서 추출된 좌표 중 내부 좌표와의 거리가 옵셋 거리를 초과하는 좌표를 제거한다.
S908 단계에서, 색상 처리부(108)는 S906 단계에서 제거되고 남은 좌표 중 3차원 오브젝트의 외부 표면 상에 존재하는 좌표가 있는지의 여부를 판단한다.
S910 단계에서, S906 단계에서 제거되고 남은 좌표 중 3차원 오브젝트의 외부 표면 상에 존재하는 좌표가 있는 경우 색상 처리부(108)는 상기 제거되고 남은 좌표 중 3차원 오브젝트의 외부 표면 상에 존재하는 좌표를 대상 좌표로 선택한다.
S912 단계에서, S906 단계에서 제거되고 남은 좌표 중 3차원 오브젝트의 외부 표면 상에 존재하는 좌표가 없는 경우 색상 처리부(108)는 후보 평면 상의 외부 표면 각각이 이루는 모서리 또는 꼭지점에 위치하는 표면 좌표 중 내부 좌표와의 거리가 가장 짧은 표면 좌표를 대상 좌표로 선택한다.
S914 단계에서, 색상 처리부(108)는 대상 좌표에 대응되는 이미지 좌표의 색상 좌표를 내부 좌표에 할당한다. 색상 처리부(108)는 변환 행렬을 이용하여 대상 좌표에 대응되는 이미지 좌표를 획득할 수 있으며, 획득된 이미지 좌표의 색상 정보를 내부 좌표에 할당할 수 있다.
한편, 본 발명의 실시예는 본 명세서에서 기술한 방법들을 컴퓨터상에서 수행하기 위한 프로그램, 및 상기 프로그램을 포함하는 컴퓨터 판독 가능 기록매체를 포함할 수 있다. 상기 컴퓨터 판독 가능 기록매체는 프로그램 명령, 로컬 데이터 파일, 로컬 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나, 또는 컴퓨터 소프트웨어 분야에서 통상적으로 사용 가능한 것일 수 있다. 컴퓨터 판독 가능 기록매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광 기록 매체, 및 롬, 램, 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 상기 프로그램의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다.
이상에서 대표적인 실시예를 통하여 본 발명에 대하여 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 전술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다. 그러므로 본 발명의 권리범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
[부호의 설명]
100 : 3차원 오브젝트의 색상 처리 시스템
102 : 파일 입력부
104 : 행렬 계산부
106 : 좌표 추출부
108 : 색상 처리부
110 : 슬라이싱부
112 : 데이터베이스
200 : 사용자 단말
300 : 3차원 출력 장치

Claims (17)

  1. 3차원 오브젝트의 외형 정보 및 상기 3차원 오브젝트의 외부 표면의 색상 정보를 포함하는 3차원 모델링 파일을 입력 받는 파일 입력부;
    상기 3차원 오브젝트의 내부에 존재하며 상기 외부 표면으로부터 설정된 옵셋 거리 이내에 위치하는 내부 좌표를 추출하는 좌표 추출부; 및
    상기 외형 정보 및 상기 외부 표면의 색상 정보를 이용하여 상기 내부 좌표에 색상 정보를 할당하는 색상 처리부를 포함하는, 3차원 오브젝트의 색상 처리 시스템.
  2. 청구항 1에 있어서,
    상기 외형 정보는 상기 3차원 오브젝트를 구성하는 복수의 상기 외부 표면의 법선 벡터 및 상기 외부 표면 상에 존재하는 표면 좌표를 포함하며,
    상기 색상 정보는 상기 표면 좌표에 대응되는 이미지 좌표를 포함하는, 3차원 오브젝트의 색상 처리 시스템.
  3. 청구항 2에 있어서,
    상기 색상 처리부는, 복수의 상기 외부 표면이 연장됨으로써 형성되는 복수의 외부 평면 중 하나 이상의 후보 평면을 결정하며, 상기 후보 평면 상의 표면 좌표 중 하나를 대상 좌표로 선택하고, 상기 대상 좌표에 대응되는 이미지 좌표의 색상 정보를 상기 내부 좌표에 할당하는, 3차원 오브젝트의 색상 처리 시스템.
  4. 청구항 3에 있어서,
    상기 색상 처리부는, 복수의 상기 외부 평면 중 상기 내부 좌표로부터의 최단 거리가 설정된 값 이내에 해당하는 하나 이상의 외부 평면을 상기 후보 평면으로 결정하는, 3차원 오브젝트의 색상 처리 시스템.
  5. 청구항 3에 있어서,
    상기 색상 처리부는, 상기 후보 평면 각각에 대해 상기 후보 평면 상의 좌표 중 상기 내부 좌표와의 거리가 가장 짧은 좌표를 각각 추출하며, 추출된 상기 좌표를 이용하여 상기 대상 좌표를 선택하는, 3차원 오브젝트의 색상 처리 시스템.
  6. 청구항 5에 있어서,
    상기 색상 처리부는, 추출된 상기 좌표 중 상기 후보 평면 상의 표면 좌표에 해당하는 좌표가 존재하는 경우 존재하는 상기 후보 평면 상의 표면 좌표에 해당하는 좌표 중 상기 내부 좌표와의 거리가 가장 짧은 표면 좌표를 상기 대상 좌표로 선택하는, 3차원 오브젝트의 색상 처리 시스템.
  7. 청구항 5에 있어서,
    상기 색상 처리부는, 추출된 상기 좌표 중 상기 후보 평면 상의 표면 좌표에 해당하는 좌표가 존재하지 않는 경우 상기 후보 평면 상의 외부 표면 각각이 이루는 모서리 또는 꼭지점에 위치하는 표면 좌표 중 상기 내부 좌표와의 거리가 가장 짧은 표면 좌표를 상기 대상 좌표로 선택하는, 3차원 오브젝트의 색상 처리 시스템.
  8. 청구항 3에 있어서,
    상기 색상 처리부는, 상기 대상 좌표로부터 상기 내부 좌표까지의 거리가 상기 옵셋 거리보다 작거나 같은 경우 상기 대상 좌표에 대응되는 이미지 좌표의 색상 정보를 상기 내부 좌표에 할당하는, 3차원 오브젝트의 색상 처리 시스템.
  9. 파일 입력부에서, 3차원 오브젝트의 외형 정보 및 상기 3차원 오브젝트의 외부 표면의 색상 정보를 포함하는 3차원 모델링 파일을 입력 받는 단계;
    좌표 추출부에서, 상기 3차원 오브젝트의 내부에 존재하며 상기 외부 표면으로부터 설정된 옵셋 거리 이내에 위치하는 내부 좌표를 추출하는 단계; 및
    색상 처리부에서, 상기 외형 정보 및 상기 외부 표면의 색상 정보를 이용하여 상기 내부 좌표에 색상 정보를 할당하는 단계를 포함하는, 3차원 오브젝트의 색상 처리 방법.
  10. 청구항 9에 있어서,
    상기 외형 정보는 상기 3차원 오브젝트를 구성하는 복수의 상기 외부 표면의 법선 벡터 및 상기 외부 표면 상에 존재하는 표면 좌표를 포함하며,
    상기 색상 정보는 상기 표면 좌표에 대응되는 이미지 좌표를 포함하는, 3차원 오브젝트의 색상 처리 방법.
  11. 청구항 10에 있어서,
    상기 내부 좌표에 색상 정보를 할당하는 단계는,
    복수의 상기 외부 표면이 연장됨으로써 형성되는 복수의 외부 평면 중 하나 이상의 후보 평면을 결정하는 단계;
    상기 후보 평면 상의 표면 좌표 중 하나를 대상 좌표로 선택하는 단계; 및
    상기 대상 좌표에 대응되는 이미지 좌표의 색상 정보를 상기 내부 좌표에 할당하는 단계를 포함하는, 3차원 오브젝트의 색상 처리 방법.
  12. 청구항 11에 있어서,
    상기 후보 평면을 결정하는 단계는, 복수의 상기 외부 평면 중 상기 내부 좌표로부터의 최단 거리가 설정된 값 이내에 해당하는 하나 이상의 외부 평면을 상기 후보 평면으로 결정하는, 3차원 오브젝트의 색상 처리 방법.
  13. 청구항 11에 있어서,
    상기 대상 좌표로 선택하는 단계는,
    상기 후보 평면 각각에 대해 상기 후보 평면 상의 좌표 중 상기 내부 좌표와의 거리가 가장 짧은 좌표를 각각 추출하는 단계; 및
    추출된 상기 좌표를 이용하여 상기 대상 좌표를 선택하는 단계를 포함하는, 3차원 오브젝트의 색상 처리 방법.
  14. 청구항 13에 있어서,
    추출된 상기 좌표를 이용하여 상기 대상 좌표를 선택하는 단계는, 추출된 상기 좌표 중 상기 후보 평면 상의 표면 좌표에 해당하는 좌표가 존재하는 경우 존재하는 상기 후보 평면 상의 표면 좌표에 해당하는 좌표 중 상기 내부 좌표와의 거리가 가장 짧은 표면 좌표를 상기 대상 좌표로 선택하는, 3차원 오브젝트의 색상 처리 방법.
  15. 청구항 13에 있어서,
    추출된 상기 좌표를 이용하여 상기 대상 좌표를 선택하는 단계는, 추출된 상기 좌표 중 상기 후보 평면 상의 표면 좌표에 해당하는 좌표가 존재하지 않는 경우 상기 후보 평면 상의 외부 표면 각각이 이루는 모서리 또는 꼭지점에 위치하는 표면 좌표 중 상기 내부 좌표와의 거리가 가장 짧은 표면 좌표를 상기 대상 좌표로 선택하는, 3차원 오브젝트의 색상 처리 방법.
  16. 청구항 11에 있어서,
    상기 대상 좌표에 대응되는 이미지 좌표의 색상 정보를 상기 내부 좌표에 할당하는 단계는, 상기 대상 좌표로부터 상기 내부 좌표까지의 거리가 상기 옵셋 거리보다 작거나 같은 경우 상기 대상 좌표에 대응되는 이미지 좌표의 색상 정보를 상기 내부 좌표에 할당하는, 3차원 오브젝트의 색상 처리 방법.
  17. 하드웨어와 결합되어
    파일 입력부에서, 3차원 오브젝트의 외형 정보 및 상기 3차원 오브젝트의 외부 표면의 색상 정보를 포함하는 3차원 모델링 파일을 입력 받는 단계;
    좌표 추출부에서, 상기 3차원 오브젝트의 내부에 존재하며 상기 외부 표면으로부터 설정된 옵셋 거리 이내에 위치하는 내부 좌표를 추출하는 단계; 및
    색상 처리부에서, 상기 외형 정보 및 상기 외부 표면의 색상 정보를 이용하여 상기 내부 좌표에 색상 정보를 할당하는 단계
    를 실행시키기 위하여 기록매체에 저장된 컴퓨터프로그램.
PCT/KR2015/005962 2015-05-20 2015-06-12 3차원 오브젝트의 색상 처리 시스템 및 방법 WO2016186236A1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US15/032,250 US9870647B2 (en) 2015-05-20 2015-06-12 System and method for processing color of three-dimensional object
CN201580002226.8A CN106457672A (zh) 2015-05-20 2015-06-12 三维对象的颜色处理系统及方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2015-0070228 2015-05-20
KR1020150070228A KR101836865B1 (ko) 2015-05-20 2015-05-20 3차원 오브젝트의 색상 처리 시스템 및 방법

Publications (1)

Publication Number Publication Date
WO2016186236A1 true WO2016186236A1 (ko) 2016-11-24

Family

ID=57320433

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2015/005962 WO2016186236A1 (ko) 2015-05-20 2015-06-12 3차원 오브젝트의 색상 처리 시스템 및 방법

Country Status (4)

Country Link
US (1) US9870647B2 (ko)
KR (1) KR101836865B1 (ko)
CN (1) CN106457672A (ko)
WO (1) WO2016186236A1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3345762A1 (en) * 2017-01-05 2018-07-11 Xyzprinting Inc. Method for compensating coloring range of colored 3d object
CN109334011A (zh) * 2018-11-02 2019-02-15 珠海赛纳打印科技股份有限公司 彩色3d打印方法、打印装置及终端设备
WO2019125451A1 (en) * 2017-12-20 2019-06-27 Hewlett-Packard Development Company, L.P. Three-dimensional printer color management

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109421257A (zh) * 2017-08-31 2019-03-05 三纬国际立体列印科技股份有限公司 彩色3d物件的着色区域内缩方法
TWI716633B (zh) * 2017-08-31 2021-01-21 三緯國際立體列印科技股份有限公司 彩色3d物件的著色區域內縮方法
JP7072378B2 (ja) * 2017-12-13 2022-05-20 キヤノン株式会社 画像生成装置およびその制御方法、画像生成システム、プログラム

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090012640A1 (en) * 2007-07-04 2009-01-08 Industrial Technology Research Institute 3D object fabrication methods and systems
US20110087350A1 (en) * 2009-10-08 2011-04-14 3D M.T.P. Ltd Methods and system for enabling printing three-dimensional object models
US20110222081A1 (en) * 2010-03-15 2011-09-15 Chen Yi Printing Three-Dimensional Objects Using Hybrid Format Data
KR20130060144A (ko) * 2011-11-29 2013-06-07 제록스 코포레이션 3 차원 오브젝트들을 형성하는 매체 기반 시스템
US20140184593A1 (en) * 2012-12-29 2014-07-03 FedLabs System and method of storing object information as predefined island artifacts in the cad model

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4761372B2 (ja) * 2006-03-23 2011-08-31 サミー株式会社 画像生成装置、遊技機、画像生成プログラム、及び記録媒体
US8600538B2 (en) * 2011-04-11 2013-12-03 Disney Enterprises, Inc. System and method for producing three-dimensional multi-layer objects from digital models
US20140324204A1 (en) * 2013-04-18 2014-10-30 Massachusetts Institute Of Technology Methods and apparati for implementing programmable pipeline for three-dimensional printing including multi-material applications
JP6010004B2 (ja) * 2013-09-02 2016-10-19 日本電信電話株式会社 画像処理装置、画像処理方法及び画像処理プログラム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090012640A1 (en) * 2007-07-04 2009-01-08 Industrial Technology Research Institute 3D object fabrication methods and systems
US20110087350A1 (en) * 2009-10-08 2011-04-14 3D M.T.P. Ltd Methods and system for enabling printing three-dimensional object models
US20110222081A1 (en) * 2010-03-15 2011-09-15 Chen Yi Printing Three-Dimensional Objects Using Hybrid Format Data
KR20130060144A (ko) * 2011-11-29 2013-06-07 제록스 코포레이션 3 차원 오브젝트들을 형성하는 매체 기반 시스템
US20140184593A1 (en) * 2012-12-29 2014-07-03 FedLabs System and method of storing object information as predefined island artifacts in the cad model

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3345762A1 (en) * 2017-01-05 2018-07-11 Xyzprinting Inc. Method for compensating coloring range of colored 3d object
US10417537B2 (en) 2017-01-05 2019-09-17 Xyzprinting, Inc. Method for compensating coloring range of colored 3D object
WO2019125451A1 (en) * 2017-12-20 2019-06-27 Hewlett-Packard Development Company, L.P. Three-dimensional printer color management
US11457125B2 (en) 2017-12-20 2022-09-27 Hewlett-Packard Development Company, L.P. Three-dimensional printer color management
CN109334011A (zh) * 2018-11-02 2019-02-15 珠海赛纳打印科技股份有限公司 彩色3d打印方法、打印装置及终端设备

Also Published As

Publication number Publication date
KR20160136574A (ko) 2016-11-30
US9870647B2 (en) 2018-01-16
US20170116787A1 (en) 2017-04-27
KR101836865B1 (ko) 2018-03-09
CN106457672A (zh) 2017-02-22

Similar Documents

Publication Publication Date Title
WO2016186236A1 (ko) 3차원 오브젝트의 색상 처리 시스템 및 방법
WO2015005577A1 (ko) 카메라 포즈 추정 장치 및 방법
WO2014051246A1 (en) Method and apparatus for inferring facial composite
WO2019164379A1 (en) Method and system for facial recognition
WO2020062493A1 (zh) 图像处理方法和装置
WO2011087289A2 (en) Method and system for rendering three dimensional views of a scene
WO2017155158A1 (ko) 피부결 블랍을 기초로한 피부결 평가 장치 및 그 방법
WO2014010820A1 (en) Method and apparatus for estimating image motion using disparity information of a multi-view image
WO2020231005A1 (ko) 영상 처리 장치 및 그 동작방법
WO2019117393A1 (ko) 깊이 정보 생성을 위한 학습 장치 및 방법과 깊이 정보 생성 장치 및 방법 그리고 이에 관한 기록 매체
WO2015099249A1 (ko) 의료 영상의 병변 유사도 판단 장치 및 방법
WO2015163720A1 (ko) 3차원 영상 생성 방법, 이를 수행하는 3차원 영상 생성 장치 및 이를 저장하는 기록매체
WO2023249402A1 (ko) 딥러닝 모델의 학습을 위한 의료 데이터의 처리 방법, 프로그램 및 장치
WO2017065403A1 (ko) 질감인지공간을 이용한 햅틱 속성 적용 장치 및 방법
WO2011078430A1 (ko) 다수의 특징점 기반 마커를 인식하기 위한 순차 검색 방법 및 이를 이용한 증강현실 구현 방법
WO2019231162A1 (ko) 이미지 분할 방법 및 장치
WO2023013959A1 (ko) 아밀로이드 베타 축적 예측 장치 및 방법
WO2016186326A1 (ko) 검색어 리스트 제공 장치 및 이를 이용한 방법
WO2019194482A1 (ko) 국부 이진 패턴 분류 및 선형 매핑을 이용한 초해상화 방법
WO2019164277A1 (ko) 수술영상을 이용한 출혈 평가 방법 및 장치
WO2022131720A1 (ko) 건축물 이미지를 생성하는 장치 및 방법
WO2015053557A1 (en) Apparatus and method of rendering frame by adjusting processing sequence of draw commands
WO2022004978A1 (ko) 건축 장식재 디자인 업무 시스템 및 방법
WO2014010775A1 (ko) 캐드 데이터 교환 장치 및 방법
WO2016006901A1 (ko) 이미지로부터 깊이 정보를 추출하는 방법 및 장치

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 15032250

Country of ref document: US

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

Ref document number: 15882909

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15882909

Country of ref document: EP

Kind code of ref document: A1