WO2023282619A1 - 3차원 모델 상에 텍스트를 추가하는 방법 및 3차원 모델 처리 장치 - Google Patents

3차원 모델 상에 텍스트를 추가하는 방법 및 3차원 모델 처리 장치 Download PDF

Info

Publication number
WO2023282619A1
WO2023282619A1 PCT/KR2022/009753 KR2022009753W WO2023282619A1 WO 2023282619 A1 WO2023282619 A1 WO 2023282619A1 KR 2022009753 W KR2022009753 W KR 2022009753W WO 2023282619 A1 WO2023282619 A1 WO 2023282619A1
Authority
WO
WIPO (PCT)
Prior art keywords
model
text data
processing apparatus
data
text
Prior art date
Application number
PCT/KR2022/009753
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
Priority claimed from KR1020210135928A external-priority patent/KR20230007909A/ko
Application filed by 주식회사 메디트 filed Critical 주식회사 메디트
Publication of WO2023282619A1 publication Critical patent/WO2023282619A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text

Definitions

  • the present disclosure relates to a method for adding text on a 3D model and a 3D model processing apparatus.
  • Dental CAD/CAM Densicle Computer Aided Design/Computer Aided Manufacturing
  • dental treatment particularly prosthetic treatment.
  • the most important thing in dental treatment using CAD/CAM is to acquire precise 3D data about the shape of an object such as a patient's teeth, gums, and jawbone.
  • 3D data obtained from an object.
  • CT computed tomography
  • MRI magnetic resonance imaging
  • optical scanning may be used to obtain 3D data of an object during dental CAD/CAM treatment.
  • the 3D scanning device may obtain 3D surface shape information by using light reflected from an object. For example, an impression of a tooth, a plaster model obtained for the impression, or a 3D model of the surface of a tooth may be acquired. can do.
  • the surface data may be recorded in the form of a polygon mesh, and may include location information of vertices of the surface of the object and connection relationship information between the respective vertices.
  • the surface data may be recorded in the form of a point cloud and include location information of vertices of the surface of the object.
  • the 3D text added on the 3D model may be separated from the 3D model during the 3D printing process.
  • One aspect of the present disclosure is a method of adding text on a 3D model representing an object, comprising: acquiring 3D text data corresponding to at least one character; displaying the 3D text data and the 3D model on a screen; determining whether the 3D text data and the 3D model can be combined based on whether the 3D text data to which a predetermined offset is applied intersect with the 3D model; and displaying the determination result on a screen.
  • the acquiring of the 3D text data may include receiving a user input related to the at least one character; acquiring contour data corresponding to the at least one character; obtaining 2D mesh data by connecting a plurality of first vertices included in the contour data; and a method of obtaining, as the 3D text data, 3D mesh data including the 2D mesh data as a first surface and a second surface spaced apart from the first surface by a predetermined depth.
  • a method may be provided, further comprising determining a location of the 3D text data based on a user input.
  • the step of determining the location of the 3D text data may include: first and second sides of the 3D text data are located outside the 3D model, and the 3D text data is located outside the 3D model.
  • a method may be provided, including determining a location of the 3D text data having a minimum distance to the surface of the model.
  • the step of determining the location of the 3D text data may include: first and second sides of the 3D text data are located inside the 3D model, and the 3D text data is located from the reference point.
  • a method may be provided, including determining a location of the 3D text data having a minimum distance to the surface of the model.
  • determining whether the 3D text data and the 3D model can be combined may include moving a second vertex included in a second side of the 3D text data by the predetermined offset. ; determining a line connecting a first vertex of the first side of the 3D text data and the moved second vertex; and determining whether the line and the surface of the 3D model intersect.
  • determining whether the 3D text data and the 3D model can be combined may include moving first vertices of the first side of the 3D text data by the predetermined offset.
  • the method further comprising determining that the 3D text data and the 3D model can be combined when the number of lines crossing the surface of the 3D model, among the lines connecting the 2 vertices, is greater than or equal to a reference number. can provide.
  • the step of displaying the determination result on the screen may include the 3D text data displayed on the screen based on whether the 3D text data and the 3D model can be combined. It is possible to provide a method comprising determining at least one of color, shape, or brightness of.
  • Another aspect of the present disclosure is an apparatus for processing a 3D model representing an object, comprising: at least one processor that obtains 3D text data corresponding to at least one character; and a display displaying the 3D text data and the 3D model, wherein the at least one processor determines whether the 3D text data to which a predetermined offset is applied intersects with the 3D model, and determines whether the 3D text data and the 3D model intersect. It is possible to provide a 3D model processing apparatus that determines whether text data and the 3D model can be combined and controls the display to display the determination result on a screen.
  • the at least one processor receives a user input related to the at least one character, obtains contour data corresponding to the at least one character, and obtains a plurality of data included in the contour data.
  • 2D mesh data is obtained by connecting the first vertices, and 3D mesh data including the 2D mesh data as a first surface and a second surface spaced apart from the first surface by a predetermined depth is obtained from the third surface. It is possible to provide a 3D model processing device that obtains as dimensional text data.
  • the at least one processor may provide a 3D model processing device that determines the position of the 3D text data based on a user input.
  • the at least one processor receives a user input for dragging the 3D text data displayed on the screen to a predetermined location, determines a reference point based on the predetermined location on the screen, It is possible to provide a 3D model processing apparatus that determines the position of the 3D text data based on the distance from the reference point to the surface of the 3D model.
  • the at least one processor is configured such that the first side and the second side of the 3D text data are located outside the 3D model, and the distance from the reference point to the surface of the 3D model It is possible to provide a 3D model processing device that determines the position of the 3D text data, where is the minimum.
  • the at least one processor determines that the first side and the second side of the 3D text data are located inside the 3D model, and the distance from the reference point to the surface of the 3D model. It is possible to provide a 3D model processing device that determines the position of the 3D text data, where is the minimum.
  • the at least one processor moves a second vertex included in the second side of the 3D text data by the predetermined offset, and moves the first vertex of the first side of the 3D text data. It is possible to provide a 3D model processing apparatus that determines a line connecting a vertex and the moved second vertex, and determines whether the line and the surface of the 3D model intersect.
  • the at least one processor may select the 3D text data among lines connecting first vertices of the first side of the 3D text data and second vertices moved by the predetermined offset.
  • a 3D model processing apparatus that determines that the 3D text data and the 3D model can be combined can be provided.
  • the at least one processor determines the color, shape, and color of the 3D text data displayed on the screen, based on whether the 3D text data and the 3D model can be combined.
  • a 3D model processing apparatus for determining at least one of brightness may be provided.
  • the at least one processor may combine the 3D text data to which the predetermined offset is applied on the 3D model, or the 3D text data to which the predetermined offset is applied from the 3D model. By deleting data corresponding to , it is possible to provide a 3D model processing apparatus that obtains a 3D model to which text is added.
  • a user can clearly recognize for each character whether a plurality of characters included in the text to be input are well combined with the 3D model.
  • FIG. 1 is a diagram for explaining a 3D model processing system according to an exemplary embodiment.
  • FIG. 2 shows a block diagram of a 3D model processing system according to an embodiment.
  • 3A describes a method in which a general 3D model processing apparatus adds text to a 3D model.
  • 3B describes a method in which a general 3D model processing device adds text to a 3D model.
  • FIG. 4 is a flowchart of a method of adding text to a 3D model by a 3D model processing apparatus according to an exemplary embodiment.
  • 5A illustrates an example of a process in which a 3D model processing apparatus acquires 3D text data according to an embodiment.
  • 5B illustrates an example of a process in which a 3D model processing apparatus acquires 3D text data according to an embodiment.
  • 5C illustrates an example of a process of acquiring 3D text data by a 3D model processing apparatus according to an embodiment.
  • 6A describes a method in which a 3D model processing apparatus determines whether offset-applied 3D text data and a 3D model intersect according to an exemplary embodiment.
  • 6B describes a method in which a 3D model processing apparatus determines whether offset-applied 3D text data and a 3D model intersect according to an exemplary embodiment.
  • FIG. 7A illustrates an example in which a 3D model processing apparatus adds text on a 3D model in an embossed manner according to an embodiment.
  • FIG. 7B illustrates an example in which a 3D model processing apparatus adds text to a 3D model in an intaglio manner according to an embodiment.
  • 8A illustrates an example of a screen displayed by a 3D model processing apparatus according to an embodiment.
  • 8B illustrates an example of a screen displayed by a 3D model processing apparatus according to an embodiment.
  • FIG. 9 illustrates an example of result data output by a 3D model processing apparatus according to an embodiment.
  • FIG. 10 is a block diagram of a 3D model processing apparatus according to an exemplary embodiment.
  • an 'object' is an object to be photographed, and may include a human, an animal, or a part thereof.
  • the object may include a body part (organ or organ, etc.), an artificial structure attachable on or insertable into the object, or a phantom.
  • the object may include teeth, gingiva, at least a portion of the oral cavity, and/or artificial structures (eg, orthodontic devices including brackets and wires, implants, artificial teeth, inlays, and onlays) that can be inserted into the oral cavity. dental restorations including, orthodontic aids inserted into the oral cavity, etc.), teeth or gingiva to which artificial structures are attached, and the like.
  • an 'image' may be a 2D image of an object or a 3D model or 3D image representing the object in three dimensions.
  • an image may include both a 2D frame and a 3D frame.
  • the image may include a 2D frame including 2D images acquired at different viewpoints of the object, or a 3D frame expressed in the form of a point cloud or polygon mesh.
  • 'data' may refer to information required to represent an object in 2D or 3D, eg, raw data obtained from at least one image sensor.
  • the raw data may be 2D images acquired to create a 3D model of the object.
  • the raw data may be 2D images of different viewpoints acquired by a plurality of image sensors when an object is scanned using a 3D scanner (eg, an intraoral scanner).
  • '3D data' may refer to a 3D model representing three-dimensional characteristics of an object including at least one of teeth, gingiva, and an artificial structure attached to the teeth or gingiva.
  • FIG. 1 is a diagram for explaining a 3D model processing system according to an exemplary embodiment.
  • a 3D model processing system 200 may include a 3D scanning device 100 and a 3D model processing device 300 .
  • the 3D model processing system 200 projects pattern light onto an object using the 3D scanning device 100 and scans the object to which the pattern light is irradiated, thereby causing distortion of the pattern.
  • a 3D model representing the shape of an object may be acquired using the principle of triangulation.
  • the method of acquiring the 3D model using the 3D scanning device 100 is not limited thereto, and the 3D model may be acquired in various ways depending on the implementation method.
  • the 3D scanning device 100 may transmit raw data obtained from an object to the 3D model processing device 300 .
  • the 3D model processing apparatus 300 may generate a 3D model representing the shape of the surface of the object in 3D, based on the received raw data.
  • the 3D model may be point cloud data or polygon mesh data.
  • the 3D scanning device 100 may generate a 3D frame by reconstructing raw data obtained from an object, and transmit the generated 3D frame to the 3D model processing device 300 .
  • the 3D scanning device 100 may include a medical device for obtaining a 3D model of the oral cavity.
  • the 3D scanning device 100 may be a device for generating a 3D model of the oral cavity including at least one tooth by being inserted into the oral cavity and scanning teeth in a non-contact manner.
  • the 3D scanning device 100 may have a shape capable of being drawn in and out of the oral cavity, and may scan the inside of the patient's oral cavity using at least one image sensor (eg, an optical camera).
  • the 3D scanning device 100 may be a table scanner.
  • the 3D scanning device 100 is a target object such as teeth, gingiva, or artificial structures that can be inserted into the oral cavity (eg, orthodontic devices including brackets and wires, implants, artificial teeth, orthodontic aid tools inserted into the oral cavity, etc.) ), surface information of the object may be obtained as raw data in order to image at least one surface of the target object.
  • the 3D model processing apparatus 300 obtains a 3D model by performing a 3D operation such as merge based on raw data, and displays an image obtained by rendering the 3D model on a display on a screen. there is.
  • the 3D model processing device 300 is connected to the 3D scanning device 100 through a wired or wireless communication network, and raw data obtained by the 3D scanning device 100 scanning an object or 3 A 3D frame may be received from the 3D scanning device 100 .
  • the 3D model processing device 300 may be any electronic device capable of generating, processing, displaying, and/or transmitting a 3D model or image of an object based on received raw data or 3D frames.
  • the 3D model processing device 300 may be a computing device such as a smart phone, a laptop computer, a desktop computer, a PDA, or a tablet PC, but is not limited thereto.
  • the 3D model processing device 300 generates at least one of information necessary for diagnosing an object and an object image based on the data received from the 3D scan device 100, and displays the generated information and/or image ( 320) can be displayed.
  • the 3D model processing apparatus 300 may analyze a 3D model or image of an object, process, display, and/or transmit the analysis result.
  • the 3D model processing device 300 may store and execute dedicated software linked to the 3D scanning device 100 .
  • Dedicated software may be referred to as a dedicated program or a dedicated application.
  • dedicated software stored in the 3D model processing device 300 is connected to the 3D scanning device 100 to scan an object. Data obtained through can be received in real time.
  • the 3D model processing device 300 may store and execute dedicated software corresponding to the i500 product.
  • Dedicated software may perform at least one operation for acquiring, processing, storing, and/or transmitting the 3D model.
  • Dedicated software may be stored in the processor or memory of the 3D model processing device 300 . Also, the dedicated software may provide a user interface for using data obtained from the 3D scanning device 100 .
  • a user interface screen provided by dedicated software may include a rendered image of a 3D model of an object created according to the disclosed embodiment.
  • a user interface screen provided by dedicated software may be any one of user interface screens shown in the following drawings.
  • FIG. 2 shows a block diagram of a 3D model processing system according to an embodiment.
  • the 3D model processing apparatus 300 may be connected to an external device or an external server through a wired or wireless communication network.
  • the 3D model processing device 300 includes a 3D scanning device 100, a data acquiring device 101 (eg, a computed tomography (CT) device, or a magnetic resonance image (Data on an object may be acquired and processed from at least one of a medical diagnosis device such as a Magnetic Resonance Imaging (MRI) device) or the server 102 .
  • CT computed tomography
  • MRI Magnetic Resonance Imaging
  • the 3D model processing apparatus 300 may acquire and process data previously stored in an internal memory.
  • the 3D model processed by the 3D model processing apparatus 300 may be used to manufacture a 3D object through 3D printing.
  • text indicating identification information of the 3D object may be added to the 3D object.
  • 3A and 3B describe a method in which a general 3D model processing apparatus adds text to a 3D model.
  • a general 3D model processing apparatus may add 3D text data 302 representing a character string to a 3D model 301 representing an object.
  • 3D text data 302 is added to the flat area of the 3D model 301, the part corresponding to the 3D model 301 and the part corresponding to the 3D text data 302 are well combined ( Combined 3D objects can be manufactured through 3D printing.
  • the 3D model 303 when the 3D text data 304 is added to the 3D model 303 in addition to the region with severe curvature or the region of the 3D model 303, the 3D model 303 At least a part of the part corresponding to the 3D text data 304 may be separated from the part corresponding to and printed.
  • the 3D model processing apparatus 300 determines whether or not the 3D text data can be properly combined with the 3D model and determines Results can be displayed on the screen.
  • FIG. 4 is a flowchart of a method of adding text to a 3D model by a 3D model processing apparatus according to an exemplary embodiment.
  • step S401 the 3D model processing apparatus 300 according to an embodiment may obtain 3D text data corresponding to at least one character.
  • the 3D model processing apparatus 300 may obtain 3D text data corresponding to at least one character from an internal memory or an external device.
  • the 3D model processing apparatus 300 may receive a user input for inputting at least one character, and obtain 3D text data representing the at least one character based on the user input.
  • the 3D model processing apparatus 300 may receive a user input corresponding to at least one character and obtain contour data corresponding to the at least one character.
  • the 3D model processing apparatus 300 may obtain 2D mesh data by connecting a plurality of first vertices included in the contour data.
  • the 3D model processing apparatus 300 may obtain 3D mesh data including 2D mesh data as a first surface and a second surface spaced apart from the first surface by a predetermined depth as 3D text data. there is.
  • the 3D model processing apparatus 300 may receive a user input corresponding to a first string including a plurality of characters from a user.
  • the 3D model processing apparatus 300 may obtain contour data corresponding to each character included in the first character string.
  • the 3D model processing apparatus 300 may obtain 2D mesh data by connecting a plurality of first vertices included in contour data corresponding to each character.
  • the 3D model processing apparatus 300 may obtain a 3D text data set including 3D text data corresponding to each character included in the first character string.
  • the 3D model processing apparatus 300 may display the 3D text data and the 3D model on the screen.
  • the 3D model processing apparatus 300 may render a 3D model and display it on a screen.
  • the 3D model processing apparatus 300 may additionally display 3D text data corresponding to at least one character input by the user on the screen on which the 3D model is displayed.
  • the 3D model processing apparatus 300 is a location where 3D text data is to be placed in a 3D space based on at least one of a distance from a reference point or a reference surface to a surface of a 3D model or a user input. can decide The 3D model processing apparatus 300 according to an embodiment may determine X-axis coordinate values and Y-axis coordinate values of the 3D text data. The 3D model processing apparatus 300 according to an embodiment may determine the Z-axis coordinate value of the 3D text data to be located close to the 3D model based on the determined X-axis coordinate value and Y-axis coordinate value. .
  • the 3D model processing apparatus 300 may receive a user input for selecting a predetermined location on the screen and determine a reference point based on the predetermined location on the screen.
  • the 3D model processing apparatus 300 may determine the position of the 3D text data based on the distance from the reference point to the surface of the 3D model.
  • the 3D model processing device 300 determines the X-axis coordinate value and the Y-axis coordinate value of the 3D text data based on a predetermined position on the screen, and the Z-axis coordinate value of the 3D text data in consideration of the 3D model. can determine
  • the X-axis coordinate value of the 3D text data may be a value indicating a position of the 3D text data determined along the horizontal axis of the screen within the 3D space displayed on the screen.
  • the Y-axis coordinate value of the 3D text data may be a value representing a position of the 3D text data determined along a vertical axis of the screen in a 3D space displayed on the screen.
  • the Z-axis coordinate value of the 3D text data may be a value indicating the depth of the 3D text data with respect to the screen in the 3D space displayed on the screen.
  • the 3D model processing apparatus 300 may identify a point closest to the reference point on the surface of the 3D model by irradiating a virtual line from the reference point to the 3D model.
  • the 3D model processing apparatus 300 may determine the Z-axis coordinate value of the 3D text data so that the 3D text data is attached to the identified point on the 3D model.
  • the 3D model processing apparatus 300 arranges 3D text data at a location corresponding to a first location on the screen and drags the 3D text data displayed at the first location on the screen to a second location.
  • User input can be received.
  • the 3D model processing apparatus 300 determines the X-axis coordinate value and the Y-axis coordinate value of the 3D text data based on the user input, and determines the Z-axis coordinate value of the 3D text data in consideration of the 3D model.
  • the 3D model processing apparatus 300 may determine a reference point based on the second location on the screen and determine a Z-axis coordinate value of the 3D text data based on a distance from the reference point to the surface of the 3D model. .
  • the 3D model processing apparatus 300 may irradiate a plurality of virtual lines to the 3D model in the 3D space being displayed on the screen.
  • the 3D model processing apparatus 300 may identify the closest point on the surface of the 3D model (ie, the most protruding point on the surface of the 3D model) by irradiating a plurality of virtual lines on the 3D model. there is.
  • the 3D model processing apparatus 300 may arrange the 3D text data set so that points of the 3D text data corresponding to the reference characters are attached to points identified on the 3D model.
  • the 3D model processing apparatus 300 may search for an area most protruded from the surface of the 3D model being displayed on the screen, and determine X-axis and Y-axis coordinate values corresponding to the searched area.
  • the 3D model processing apparatus 300 determines Z-axis coordinate values of the 3D text data based on vertical distances from vertices included in the second side of the 3D text data to the searched area of the 3D model.
  • the 3D model processing apparatus 300 includes the Z-axis of 3D text data based on whether text is input as embossment or intaglio on the 3D model. coordinates can be determined.
  • the 3D model processing apparatus 300 when text is input in embossed form on a 3D model, the 3D model processing apparatus 300 creates a 3D image so that the first and second sides of the 3D text data are positioned outside the 3D model. You can determine the location of text data.
  • the 3D model processing apparatus 300 may determine a location of the 3D text data where the sum of vertical distances from vertices included in the second side of the 3D text data to the surface of the 3D model is the minimum.
  • the 3D model processing apparatus 300 when text is input into the 3D model in negative, the 3D model processing apparatus 300 creates the 3D text data so that the first side and the second side of the 3D text data are located inside the 3D model. data location can be determined.
  • the 3D model processing apparatus 300 may determine a location of the 3D text data where the sum of vertical distances from vertices included in the second side of the 3D text data to the surface of the 3D model is the minimum.
  • the 3D model processing apparatus 300 may determine the angle of the 3D text data based on the normal vector of the 3D text data and the normal vector of the 3D model.
  • the 3D model processing apparatus 300 may determine whether the 3D text data and the 3D model can be combined.
  • the 3D model processing apparatus 300 determines whether the 3D text data and the 3D model can be combined based on whether the 3D text data to which a predetermined offset is applied and the 3D model intersect. can do.
  • the 3D text data to which the offset is applied may include 3D text data to which a depth equal to the offset is added.
  • the 3D model processing apparatus 300 may move the second vertex included in the second side of the 3D text data by a predetermined offset to obtain the 3D text data to which the offset is applied.
  • the 3D model processing apparatus 300 may determine a line connecting the first vertex of the first side of the 3D text data and the moved second vertex.
  • the 3D model processing apparatus 300 may determine whether the line intersects the surface of the 3D model.
  • the 3D model processing apparatus 300 determines the number of lines intersecting the surface of the 3D model, among lines connecting the first vertices of the first side of the 3D text data and the second vertices moved by a predetermined offset.
  • step S404 the 3D model processing apparatus 300 according to an embodiment may display the determination result on the screen.
  • the 3D model processing apparatus 300 may include at least one of color, shape, or brightness of 3D text data displayed on a screen based on whether the 3D text data and the 3D model can be combined. can decide one.
  • the 3D model processing apparatus 300 may display a case in which the 3D text data can be combined with the 3D model and a case in which the 3D text data cannot be combined with the 3D model differently.
  • the 3D model processing apparatus 300 may display the 3D text data in a first color (eg, blue) when the 3D text data can be combined with the 3D model. there is.
  • the 3D text data may be displayed in a second color (eg, orange).
  • the 3D model processing apparatus 300 according to an embodiment, according to a user input of dragging the 3D text data displayed on the screen from a first position that cannot be coupled to the 3D model to a second position that can be coupled to the 3D model , The color of the 3D text data may be changed from the second color to the first color.
  • the 3D model processing apparatus 300 determines that 3D text data corresponding to some characters among a 3D text data set corresponding to a plurality of characters is not combinable with a 3D model. can judge The 3D model processing apparatus 300 may display some 3D text data that is determined not to be combinable with the 3D model differently from other 3D text data. The 3D model processing apparatus 300 may display which 3D text data corresponding to which character is not combined with the 3D model among the 3D text data set corresponding to the string to be input by the user. Accordingly, the user can intuitively identify the problematic character among the characters included in the character string, modify the character string, or change the location of the 3D text data.
  • the 3D model processing apparatus 300 may obtain a 3D model with added text when the 3D text data and the 3D model can be combined.
  • the 3D model processing apparatus 300 combines the 3D text data to which a predetermined offset is applied on the 3D model, or deletes data corresponding to the 3D text data to which a predetermined offset is applied from the 3D model, so that the text is An added 3D model can be acquired.
  • 5A, 5B, and 5C illustrate an example of a process of obtaining 3D text data by a 3D model processing apparatus according to an embodiment.
  • the 3D model processing apparatus 300 may obtain a contour data set including contour data corresponding to each of various characters.
  • the 3D model processing device 300 may obtain a contour data set from an open application programming interface (API).
  • Contour data corresponding to a predetermined character may include at least one closed loop and be composed of a plurality of points.
  • the 3D model processing apparatus 300 may obtain contour data representing at least one character corresponding to a user input from a contour data set previously stored in an internal memory.
  • the 3D model processing apparatus 300 obtains contour data 510 representing the character 'a' when receiving a user input for inputting the character 'a'.
  • the contour data 510 may include an outer closed loop and an inner closed loop composed of a plurality of first vertices.
  • the 3D model processing apparatus 300 may generate 2D mesh data 520 by connecting first vertices included in the contour data.
  • the 3D model processing apparatus 300 may generate 3D text data based on the 2D mesh data 520 .
  • the 3D model processing apparatus 300 applies a predetermined depth value to the 2D mesh data composed of the X-axis coordinate value and the Y-axis coordinate value to obtain the X-axis coordinate value.
  • 3D text data 530 composed of Y-axis coordinate values and Z-axis coordinate values may be generated.
  • the 3D model processing apparatus 300 includes 2D mesh data obtained from the contour data as a first surface and converts 3D mesh data including a second surface spaced apart from the first surface by a predetermined depth value into a 3D model. It can be created as text data 530 .
  • Embodiments of the present disclosure are not limited to the example shown in FIG. 5B.
  • the 3D model processing apparatus 300 generates a random vertex between an outer closed loop and an inner closed loop of the contour data 510, and based on the random vertex, the 2D mesh data 520 ) can be created.
  • the 3D model processing apparatus 300 may generate 3D text data by applying a predetermined depth value to the 2D mesh data 520 .
  • the 3D model processing device 300 generates a line from an arbitrary vertex in the direction of the normal vector of the 2D mesh data 520 or in the opposite direction to the normal vector, and determines whether the generated line intersects the 3D model. Based on , it can be determined whether the 3D text data and the 3D model can be combined.
  • the vertices of the first surface 531 including the 2D mesh data generated from the contour data are referred to as first vertices (or front vertices), and a predetermined depth value is applied from the first vertices.
  • Vertices included in the second surface 532 may be referred to as second vertices (or back vertices).
  • the 3D model processing device 300 may obtain 3D text data corresponding to various characters.
  • the 3D model processing apparatus 300 may obtain a 3D text data set corresponding to the plurality of characters when a string including a plurality of characters is input by the user.
  • the 3D model processing apparatus 300 may determine a location where the 3D text data is to be placed in a 3D space including a 3D model.
  • the 3D model processing apparatus 300 based on a user input or based on a region detected as the most protruding among partial regions of a 3D model, X-axis coordinate values of 3D text data and Y-axis coordinate values can be determined. Also, the 3D model processing apparatus 300 may determine the Z-axis coordinate value of the 3D text data based on the position of the 3D model.
  • the 3D model processing apparatus 300 may position and align 3D text data on the 3D model through the following process.
  • the 3D model processing apparatus 300 may receive a user input inputting a string including a plurality of characters and obtain a 3D text data set corresponding to the string.
  • the 3D model processing apparatus 300 may select a reference character or a reference point determined to be located in the center of a plurality of characters from among a plurality of characters.
  • the 3D model processing apparatus 300 may acquire a 3D text data set corresponding to the character string “ABCDE” and select a character “C” located in the center of the character string “ABCDE” as a reference character.
  • the 3D model processing device 300 acquires a 3D text data set corresponding to the character string “ABCD”, and selects the character “B” or “C” located in the center of the character string “ABCD” as a reference character. can be selected as
  • the 3D model processing apparatus 300 may determine a 3D text data set corresponding to a character string as one piece of mesh data, and set a point determined to be located in the center of the determined mesh data as a reference point. For example, the 3D model processing device 300 obtains a 3D text data set corresponding to the character string "ABCD", and a point located in the center between the character "B” and the character “C” in the character string "ABCD". can be set as a reference point.
  • the 3D model processing apparatus 300 receives a user input for selecting a predetermined location on the screen (eg, a user's input for clicking on a predetermined location on the screen), and displays the predetermined location on the screen. Corresponding X-axis coordinate values and Y-axis coordinate values may be determined. The 3D model processing apparatus 300 identifies a point closest to the reference point on the surface of the 3D model by irradiating a virtual line to the 3D model based on the reference point determined by the X-axis coordinate value and the Y-axis coordinate value. can do.
  • the 3D model processing apparatus 300 attaches a point of 3D text data corresponding to a reference character to a point identified on the 3D model, or attaches a reference point of a 3D text data set to a point identified on the 3D model.
  • the 3D text data set can be positioned adjacent to the 3D model so that it is attached.
  • the 3D model processing apparatus 300 may irradiate a plurality of virtual lines in the Z-axis direction to the 3D model in the 3D space being displayed on the screen.
  • the 3D model processing apparatus 300 identifies a point closest to the screen on the surface of the 3D model (ie, the point most protruding on the surface of the 3D model) by irradiating a plurality of virtual lines on the 3D model. can do.
  • the 3D model processing apparatus 300 attaches a point of 3D text data corresponding to a reference character to a point identified on the 3D model, or attaches a reference point of a 3D text data set to a point identified on the 3D model.
  • the 3D text data set can be positioned adjacent to the 3D model so that it is attached.
  • a tooth model representing the inside of the user's oral cavity may include an oral region representing teeth and gingiva and a base region supporting the oral cavity region.
  • the 3D model processing apparatus 300 searches for a relatively protruded base area when a user inputs text, and responds to the input text. 3D text data set can be automatically aligned on the searched base area.
  • the 3D model processing apparatus 300 may segment the 3D model.
  • the 3D model processing apparatus 300 may separate the 3D model into a region corresponding to at least one tooth, a region corresponding to the gingiva, and/or a base region by using a template or artificial intelligence.
  • an area representing the oral cavity (for example, a tooth area and/or a gingival area) is an important area that should not be deformed due to input text. Therefore, it may be desirable to add the text input by the user to the base area instead of the area representing the oral cavity.
  • the 3D model processing apparatus 300 may set a locking function preventing text from being added within a certain distance based on each tooth identified by segmentation.
  • the 3D model processing apparatus 300 may automatically position and align the text input by the user so that the text is located in an area other than the area set on the 3D model.
  • the 3D model processing apparatus 300 may automatically position and align the text input by the user so that the text is located in an area other than the mouth area, that is, in the base area.
  • the vertices of the second side of the 3D text data must come into contact with the surface of the 3D model (ie, the mesh or vertex located on the surface of the 3D model). do.
  • the surface of the 3D model is not flat, even if some of the vertices of the second side of the 3D text data contact the 3D model, the remaining part of the second vertices may not contact the 3D model.
  • the 3D model processing apparatus 300 may apply an offset for combination with a 3D model to 3D text data.
  • the 3D model processing apparatus 300 may apply an offset to the 3D text data by setting virtual vertices moved by an offset from the vertices of the second side of the 3D text data.
  • the 3D model processing apparatus 300 moves the vertices of the second surface in the direction of the normal vector of the second surface of the 3D text data or in the opposite direction to the normal vector of the second surface, thereby creating a virtual image. Third vertices may be set.
  • the 3D model processing device 300 determines whether the 3D text data and the 3D model can be combined based on whether the 3D text data to which the offset is applied and the 3D model intersect, and displays the determination result on the screen. can
  • 6A describes a method in which a 3D model processing apparatus determines whether offset-applied 3D text data and a 3D model intersect according to an exemplary embodiment.
  • the 3D text data 611 and 631 are converted to the 3D model ( 605), the positions of the 3D text data 611 and 631 may be determined.
  • 3D text data 611 includes 2D mesh data generated from contour data corresponding to at least one character as a first face 611a, and a predetermined depth value 601 from the first face It may include a second surface (611b) spaced apart by .
  • the 3D model processing apparatus 300 moves the second vertices included in the second surface 611b of the 3D text data 611 by a predetermined offset to obtain the 3D text data to which the offset 602 is applied. can make it
  • the 3D model processing apparatus 300 may determine lines connecting the first vertices and the moved second vertices of the first side 611a of the 3D text data.
  • the 3D model processing apparatus 300 may determine whether the lines intersect with the surface of the 3D model.
  • the 3D model processing apparatus 300 when a mesh or vertex of the surface of the 3D model is located on a line with a first vertex as a starting point and a second vertex moved by an offset as an end point, the line and the 3D model It can be determined that the surfaces of
  • the 3D model processing apparatus 300 includes lines connecting the first vertices of the first side 611a of the 3D text data and the second vertices moved by the offset 602, and the surface of the 3D model. It may be determined whether the number of intersecting lines is greater than or equal to a reference value. The 3D model processing device 300 may determine whether the 3D text data 611 and the 3D model 605 can be combined based on the determination result.
  • the 3D text data 611 can be combined with the 3D model 605. You can decide not to.
  • the 3D text data 631 may include a first side 631a and a second side 631b.
  • the 3D model processing apparatus 300 may determine lines connecting first vertices of the first side 631a of the 3D text data and second vertices moved by a predetermined offset.
  • the 3D model processing apparatus 300 includes lines connecting first vertices of the first side 631a of the 3D text data and second vertices moved by the offset 602, and the surface of the 3D model. It may be determined whether the number of intersecting lines is greater than or equal to a reference value.
  • the 3D model processing device 300 determines that the 3D text data 631 can be combined with the 3D model 605 since all the lines intersect with the surface of the 3D model 605. can
  • 6B describes a method in which a 3D model processing apparatus determines whether offset-applied 3D text data and a 3D model intersect according to an exemplary embodiment.
  • 3D model processing apparatus 300 when text is input on a 3D model in negative, 3D text data 661 and 681 are converted to a 3D model ( 605), the positions of the 3D text data 661 and 681 may be determined.
  • 3D text data 661 includes 2D mesh data generated from contour data corresponding to at least one character as a first face 661a, and a predetermined depth value 601 from the first face It may include the second surface 661b spaced apart by .
  • the 3D model processing apparatus 300 moves the second vertices included in the second surface 661b of the 3D text data 661 by a predetermined offset to obtain the 3D text data to which the offset 602 is applied. can make it
  • the 3D model processing apparatus 300 may determine lines connecting the first vertices and the moved second vertices of the first side 661a of the 3D text data.
  • the 3D model processing apparatus 300 may determine whether the lines intersect with the surface of the 3D model.
  • the 3D model processing apparatus 300 when a mesh or vertex of the surface of the 3D model is located on a line with a first vertex as a starting point and a second vertex moved by an offset as an end point, the line and the 3D model It can be determined that the surfaces of
  • the 3D model processing apparatus 300 includes the surface and the 3D model among lines connecting the first vertices of the first side 661a of the 3D text data and the second vertices moved by the offset 602. It may be determined whether the number of intersecting lines is greater than or equal to a reference value. The 3D model processing device 300 may determine whether the 3D text data 661 and the 3D model 605 can be combined based on the determination result.
  • the 3D text data 661 can be combined with the 3D model 605. You can decide not to.
  • the 3D text data 681 may include a first side 681a and a second side 681b.
  • the 3D model processing apparatus 300 may determine lines connecting first vertices of the first side 681a of the 3D text data and second vertices moved by a predetermined offset.
  • the 3D model processing apparatus 300 includes the surface and the 3D model among lines connecting the first vertices of the first side 681a of the 3D text data and the second vertices moved by the offset 602. It may be determined whether the number of intersecting lines is greater than or equal to a reference value.
  • the 3D model processing apparatus 300 determines that the 3D text data 681 can be combined with the 3D model 605 since all the lines intersect with the surface of the 3D model 605. can
  • the 3D model processing apparatus 300 may determine whether combination with a 3D model is possible for each 3D text data corresponding to each character. Therefore, the 3D model processing apparatus 300 according to an embodiment determines which 3D text data corresponding to which character from among the 3D text data set corresponding to the character string that the user wants to input is not combined with the 3D model. can be displayed Accordingly, the user can intuitively identify problematic characters among characters included in the character string and correct the character string. Alternatively, the user can quickly and accurately find an area suitable for text input on the 3D model.
  • FIG. 7A illustrates an example in which a 3D model processing apparatus adds text on a 3D model in an embossed manner according to an embodiment.
  • a 3D text data set 711 is converted to a 3D model 710.
  • the location of the 3D text data set 711 corresponding to the character string may be determined.
  • the 3D model processing apparatus 300 may position-align the 3D text data set 711 on the 3D model 710 .
  • the 3D model processing apparatus 300 uses vertices (or front vertices) of the first side of the 3D text data corresponding to each character included in the 3D text data set 711 as starting points.
  • 3D mesh data including second vertices (or back vertices) moved by a predetermined depth value and offset as end points may be combined on the 3D model.
  • the 3D model processing apparatus 300 is based on positions where lines connecting the first vertices of the first side of the 3D text data and the second vertices moved by the offset intersect the surface of the 3D model 710. It is possible to determine back vertices of the 3D text data.
  • the 3D model processing apparatus 300 includes vertices of the first side of the 3D text data corresponding to each character included in the 3D text data set 711 as starting points, and 3D mesh data including newly determined back surface vertices based on intersection locations as endpoints may be obtained.
  • the 3D model processing apparatus 300 may add text to the 3D model by combining the obtained 3D mesh data with the 3D model.
  • FIG. 7B illustrates an example in which a 3D model processing apparatus adds text to a 3D model in an intaglio manner according to an embodiment.
  • a 3D text data set 721 is converted into a 3D model 720.
  • the position of the 3D text data set 721 corresponding to the character string may be determined.
  • the 3D model processing apparatus 300 may position-align the 3D text data set 721 within the 3D model 720 .
  • the 3D model processing apparatus 300 includes, as starting points, vertices of the first side of the 3D text data corresponding to each character included in the 3D text data set 721, and shifts by a predetermined depth value and offset. 3D mesh data including the second vertices as endpoints may be obtained.
  • the 3D model processing apparatus 300 based on positions where lines connecting the first vertices of the first side of the 3D text data and the second vertices moved by the offset intersect the surface of the 3D model 720 It is possible to determine back vertices of the 3D text data.
  • the 3D model processing apparatus 300 includes vertices of the first side of the 3D text data corresponding to each character included in the 3D text data set 721 as starting points, and 3D mesh data including newly determined back surface vertices based on intersection locations as endpoints may be obtained.
  • the 3D model processing apparatus 300 may add text to the 3D model by deleting the acquired 3D mesh data from the 3D model 720 .
  • FIG. 8A and 8B illustrate examples of screens displayed by the 3D model processing apparatus according to an exemplary embodiment.
  • the 3D model processing apparatus 300 may position-align the 3D text data set 811 on the 3D model 810 .
  • a 3D text data set 811 corresponding to a plurality of characters is well combined on a 3D model 810. It can be determined whether there is The 3D model processing device 300 determines whether the 3D text data corresponding to each of a plurality of characters included in the 3D text data set 811 is well combined on the 3D model 810. can do.
  • the 3D model processing device 300 applies an offset to the 3D text data representing each character, and based on whether the 3D text data to which the offset is applied intersects the 3D model 810, the 3D text data It may be determined whether the data is well combined on the 3D model 810.
  • the 3D model processing device 300 determines whether the 3D text data included in the 3D text data set 811 can be combined with the 3D model, the color of the 3D text data displayed on the screen, At least one of shape and brightness may be determined.
  • all 3D text data included in the 3D text data set 811 is converted to a 3D model 810. It is determined that it can be combined with, and the color of all 3D text data can be determined as the first color (eg, blue).
  • the 3D model processing apparatus 300 may move the 3D text data set 811 to another location based on a user input.
  • the 3D model processing apparatus 300 may move the 3D text data set 811 upward.
  • the upper ends of the 3D text data 813 and 815 corresponding to the letter “l” and the letter “d” do not contact the 3D model 810. may not be
  • the 3D model processing apparatus 300 may include some 3D text data 813 included in the 3D text data set 811. , 815) may be determined to be uncombinable with the 3D model 820.
  • the 3D model processing apparatus 300 determines that the 3D text data 813 and 815 corresponding to some characters among the 3D text data set 811 corresponding to a plurality of characters are 3D models even if an offset is applied. It can be determined that it does not intersect with (820). The 3D model processing device 300 sets the colors of the 3D text data 813 and 815 differently based on the determination that the 3D text data 813 and 815 cannot be combined with the 3D model 810. can be indicated.
  • the 3D model processing apparatus 300 may determine the color of some 3D text data 813 and 815 as a second color (eg, orange). For example, the 3D model processing apparatus 300 displays 3D text data that is determined to be well combined on the 3D model in blue, and 3D text data that is determined to be poorly combined on the 3D model. can be displayed in orange.
  • a second color eg, orange
  • FIG. 8B a case of changing only the color of 3D text data determined to be uncombinable is shown as an example, but various embodiments of the present disclosure are not limited to the examples shown in FIGS. 8A and 8B.
  • Information on whether 3D text data can be combined with a 3D model may be provided through various methods depending on implementation.
  • the 3D model processing device 300 determines that at least some 3D text data included in the 3D text data set cannot be combined with the 3D model, the 3D text data included in the 3D text data set You can change the color of all 3D text data.
  • the 3D model processing apparatus 300 may display at least some 3D text data determined to be uncombinable differently from the rest of the 3D text data. For example, the 3D model processing apparatus 300 may boldly display at least some 3D text data determined to be uncombinable.
  • the 3D model processing apparatus 300 may obtain a 3D model to which text is added through the above process.
  • FIG. 9 illustrates an example of a 3D model to which text output by a 3D model processing apparatus according to an embodiment is added.
  • the 3D model processing apparatus 300 may obtain a 3D model with added text when the 3D text data and the 3D model can be combined.
  • the 3D model processing apparatus 300 may acquire a 3D model to which text is added, as shown in FIG. 9 , by combining the 3D text data to which a predetermined offset is applied to the 3D model.
  • the 3D model processing apparatus 300 determines whether 3D text data corresponding to the corresponding character can be combined with the 3D model for each added character. can be displayed.
  • the 3D model processing apparatus 300 not only displays information indicating that the 3D text data corresponding to the character input by the user is not combinable with the 3D model, but also , it is possible to prevent the text input by the user from being added to the 3D model. Accordingly, the user may re-enter a character or change the location of the 3D text data in order to add the 3D text data to a location where the 3D text data can be combined with the 3D model.
  • the 3D model processing device 300 prevents text from being added in the case of text that cannot be combined with the 3D model, so that at least a part of the part corresponding to the 3D text data 321 from the part corresponding to the 3D model 320 It is possible to prevent the problem of being separated and 3D printed.
  • FIG. 10 is a block diagram of a 3D model processing apparatus according to an exemplary embodiment.
  • the 3D model processing apparatus 300 illustrated in FIG. 10 may perform a 3D model processing method according to various embodiments of the present disclosure, and descriptions of FIGS. 1 to 9 may be applied. Therefore, overlapping content with the above description will be omitted.
  • the 3D model processing device 300 is connected to an external device such as a 3D scanning device or an external server through a wired or wireless communication network, and obtains a 3D model of an object.
  • an external device such as a 3D scanning device or an external server through a wired or wireless communication network
  • the 3D model processing device 300 may be any electronic device capable of generating, processing, displaying, and/or transmitting a 3D image of an object based on the obtained 3D model.
  • the 3D model processing device 300 may be a fixed terminal or a mobile terminal.
  • the 3D model processing device 300 may be, for example, a computing device such as a smart phone, a laptop computer, a desktop computer, a PDA, or a tablet PC, but is not limited thereto.
  • a 3D model processing apparatus 300 may include a processor 310, a display 320, a communication interface 330, a user input unit 340, and a memory 350.
  • the processor 310 controls the 3D model processing device 300 to perform an intended operation by executing at least one instruction.
  • At least one instruction may be stored in an internal memory (not shown) included in the processor 310 or a separate memory 350 .
  • the processor 310 may control at least one component included in the 3D model processing apparatus 300 to perform an intended operation by executing at least one instruction. Therefore, even if the case where the processor 310 performs a predetermined operation is described as an example, the processor 310 configures at least one component included in the 3D model processing apparatus 300 to perform a predetermined operation. It can mean to control.
  • the processor 310 stores signals or data input from the outside of the 3D model processing device 300, or is used as a storage area corresponding to various tasks performed by the 3D model processing device 300.
  • RAM (not shown)
  • a control program for controlling the 3D model processing device 300 and/or a ROM (not shown) storing a plurality of instructions
  • at least one internal processor (not shown) that executes at least one instruction city) may be included.
  • the processor 310 may include a graphic processing unit (not shown) for graphic processing corresponding to video.
  • the processor 310 may be implemented as a system on chip (SoC) in which a core (not shown) and a GPU (not shown) are integrated.
  • SoC system on chip
  • the processor 310 may generate an image by rendering a 3D model of the oral cavity.
  • the 3D model may include surface shape information of an oral cavity including at least one of a plurality of teeth, gingiva, and an artificial structure.
  • the display 320 may display a predetermined screen according to the control of the processor 310 . Specifically, the display 320 may display a user interface screen including a 3D model. Alternatively, the display 320 may display a user interface screen including information related to diagnosis and treatment of an object.
  • the communication interface 330 may perform communication with at least one external electronic device (not shown) or server (not shown) through a wired or wireless communication network.
  • the user input unit 340 may receive a user input for controlling the 3D model processing device 300 .
  • the user input unit 340 includes a touch panel that detects a user's touch, a button that receives a user's push manipulation, a mouse or a keyboard for indicating or selecting a point on a user interface screen, and the like. It may include a user input device, but is not limited thereto.
  • the user input unit 340 may include a voice recognition device (not shown) for voice recognition.
  • a voice recognition device (not shown) may be a microphone, and the voice recognition device may receive a user's voice command or voice request. Accordingly, the processor 310 may control an operation corresponding to the voice command or voice request to be performed.
  • the memory 350 may store at least one instruction executed by the processor 310 . Also, the memory 350 may store at least one program executed by the processor 310 . The memory 350 may store data received from an external device or an external server (eg, raw data obtained by scanning an object, 2D image data, 3D model, etc.). The memory 350 may store an object image representing the object in 3D.
  • data received from an external device or an external server eg, raw data obtained by scanning an object, 2D image data, 3D model, etc.
  • the memory 350 may store an object image representing the object in 3D.
  • the processor 310 may control the overall operation of the 3D model processing device 300 by executing a program stored in the memory 350 .
  • FIG. 4 may be applied to a specific method of adding text on the 3D model by the processor 310, and redundant descriptions will be omitted.
  • the processor 310 may obtain 3D text data corresponding to at least one character from an internal memory or an external device.
  • the processor 310 may receive a user input of inputting at least one character, and obtain 3D text data representing the at least one character based on the user input.
  • the processor 310 may receive a user input corresponding to at least one character and obtain contour data corresponding to the at least one character.
  • the processor 310 may obtain 2D mesh data by connecting a plurality of first vertices included in the contour data.
  • the processor 310 may obtain, as 3D text data, 3D mesh data including 2D mesh data as a first surface and a second surface spaced apart from the first surface by a predetermined depth.
  • the processor 310 may receive a user input corresponding to a first string including a plurality of characters through the user input unit 340 .
  • the processor 310 may obtain contour data corresponding to each character included in the first string.
  • the processor 310 may obtain 2D mesh data by connecting a plurality of first vertices included in contour data corresponding to each character.
  • the processor 310 may obtain a 3D text data set including 3D text data corresponding to each character included in the first string.
  • the processor 310 may control the display 320 to display the 3D text data and the 3D model on the screen.
  • the processor 310 may render a 3D model and display it on the screen of the display 320 .
  • the processor 310 may control the display 320 to additionally display 3D text data corresponding to at least one character input by the user on the screen on which the 3D model is displayed.
  • the processor 310 may determine a position where the 3D text data is to be placed in the 3D space based on at least one of a user input or a distance from the 3D text data to the surface of the 3D model. there is.
  • the processor 310 may determine X-axis coordinate values and Y-axis coordinate values of the 3D text data.
  • the 3D model processing apparatus 300 may determine the Z-axis coordinate value of the 3D text data to be located close to the 3D model based on the determined X-axis coordinate value and Y-axis coordinate value. .
  • the processor 310 may determine the Z-axis coordinate value of the 3D text data based on whether the text is input in a positive or negative format on the 3D model.
  • the processor 310 positions the 3D text data so that the first and second sides of the 3D text data are located outside the 3D model. can decide The processor 310 may determine a location of the 3D text data where the sum of vertical distances from vertices included in the second side of the 3D text data to the surface of the 3D model is the minimum.
  • the processor 310 adjusts the location of the 3D text data so that the first and second sides of the 3D text data are located inside the 3D model. can decide The processor 310 may determine a location of the 3D text data where the sum of vertical distances from vertices included in the second side of the 3D text data to the surface of the 3D model is the minimum.
  • the processor 310 may determine an angle of the 3D text data based on a normal vector of the 3D text data and a normal vector of the 3D model.
  • the processor 310 may determine whether the 3D text data and the 3D model can be combined.
  • the processor 310 may determine whether the 3D text data and the 3D model can be combined based on whether the 3D text data to which a predetermined offset is applied intersect with the 3D model.
  • the 3D text data to which the offset is applied may include 3D text data to which a depth equal to the offset is added.
  • the processor 310 may move the second vertex included in the second side of the 3D text data by a predetermined offset to obtain the 3D text data to which the offset is applied.
  • the processor 310 may determine a line connecting the first vertex of the first side of the 3D text data and the moved second vertex.
  • the processor 310 may determine whether the line intersects the surface of the 3D model.
  • the processor 310 determines whether, among lines connecting the first vertices of the first side of the 3D text data and the second vertices moved by a predetermined offset, the number of lines crossing the surface of the 3D model is equal to or greater than the reference value. It is possible to determine whether the 3D text data and the 3D model can be combined based on the determination result.
  • the processor 310 when all lines connecting the first vertices of the first side of the 3D text data and the second vertices moved by a predetermined offset intersect the surface of the 3D model, the 3D text data It can be determined that the text data and the 3D model can be combined.
  • the processor 310 may control the display 320 to display the determination result on the screen.
  • the processor 310 may determine at least one of the color, shape, or brightness of the 3D text data displayed on the screen based on whether the 3D text data and the 3D model can be combined. there is.
  • Processor 310 among lines connecting first vertices of the first side of the 3D text data and second vertices moved by a predetermined offset, lines intersecting the surface of the 3D model are selected. Based on the number, at least one of color, shape, and brightness of the 3D text data may be determined.
  • the processor 310 may generate 3D text data when lines connecting first vertices of the first side of the 3D text data and second vertices moved by a predetermined offset all intersect the surface of the 3D model.
  • the color of text data can be determined as green.
  • the processor 310 sets the color of the 3D text data to light green when the lines connecting the first vertices and the second vertices moved by a predetermined offset do not all intersect the surface of the 3D model but intersect more than a reference value. can be determined by
  • the processor 310 determines the color of the 3D text data when at least one line connecting the first vertices and the second vertices moved by a predetermined offset intersects the surface of the 3D model but less than a reference value. It can be identified as orange.
  • the processor 310 may determine the color of the 3D text data as red when lines connecting the first vertices and the second vertices moved by a predetermined offset do not intersect the surface of the 3D model.
  • the processor 310 may obtain a 3D model to which text is added when the 3D text data and the 3D model can be combined. 3 The processor 310 combines the 3D text data to which a predetermined offset is applied on the 3D model, or deletes data corresponding to the 3D text data to which a predetermined offset is applied from the 3D model, so that the text is added to the 3D text data. A dimensional model can be obtained.
  • the above-described 3D model processing method may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer readable medium. Also, according to an embodiment of the present disclosure, a computer-readable storage medium having one or more programs including at least one instruction for executing a 3D model obtaining method may be provided.
  • the computer readable storage medium may include program instructions, data files, data structures, etc. alone or in combination.
  • examples of computer-readable storage media include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROMs and DVDs, floptical disks and Hardware devices configured to store and execute program instructions, such as magneto-optical media, and ROM, RAM, flash memory, and the like, may be included.
  • the device-readable storage medium may be provided in the form of a non-transitory storage medium.
  • 'non-transitory storage medium' may mean that the storage medium is a tangible device.
  • the 'non-temporary storage medium' may include a buffer in which data is temporarily stored.
  • a method for displaying an oral cavity image may be included in a computer program product and provided.
  • a computer program product may be distributed in the form of a machine-readable storage medium (eg compact disc read only memory (CD-ROM)). Alternatively, it may be distributed (eg, downloaded or uploaded) online, through an application store or directly between two user devices (eg, smartphones).
  • CD-ROM compact disc read only memory

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Processing Or Creating Images (AREA)

Abstract

본 개시의 일 측면은 대상체를 나타내는 3차원 모델 상에 텍스트를 추가하는 방법에 있어서, 적어도 하나의 문자에 대응하는 3차원 텍스트 데이터를 획득하는 단계; 상기 3차원 텍스트 데이터와 상기 3차원 모델을 화면 상에 표시하는 단계; 소정 오프셋이 적용된 상기 3차원 텍스트 데이터와 상기 3차원 모델의 교차 여부에 기초하여, 상기 3차원 텍스트 데이터와 상기 3차원 모델이 결합 가능한 지를 판단하는 단계; 및 상기 판단 결과를 화면 상에 표시하는 단계를 포함하는, 방법을 제공할 수 있다.

Description

3차원 모델 상에 텍스트를 추가하는 방법 및 3차원 모델 처리 장치
본 개시는 3차원 모델 상에 텍스트를 추가하는 방법 및 3차원 모델 처리 장치에 관한 것이다.
치과 치료, 특히 보철 등의 치료를 하는 데 있어 치과용CAD/CAM(Dental Computer Aided Design/Computer Aided Manufacturing) 기술이 널리 사용되고 있다. CAD/CAM을 이용한 치과 치료에서 가장 중요한 것은 환자의 치아, 잇몸, 턱뼈 등의 대상체의 형상에 대하여 정교한 3차원 데이터를 획득하는 것이다. 치과 치료를 수행함에 있어서, 대상체로부터 획득된 3차원 데이터를 이용하면, 컴퓨터에 의하여 정확한 계산이 수행될 수 있다는 장점이 있다.
예를 들어, 치과용 CAD/CAM 치료과정에서 대상체의 3차원 데이터를 획득하기 위해서는, CT(Computed Tomography), MRI(Magnetic Resonance Imaging), 및 광학 스캐닝 등의 방법이 이용될 수 있다.
치과 CAD/CAM 분야에서는 3차원 스캔 장치가 많이 사용되고 있다. 3차원 스캔 장치는 대상체로부터 반사되는 빛을 이용하여 3차원 표면 형상 정보를 획득할 수 있으며, 예를 들어 치아의 인상체, 인상체에 대해서 획득된 석고 모형 또는 치아의 표면의 3차원 모델을 획득할 수 있다. 표면 데이터는, 폴리곤메쉬 형태로 기록되고, 대상체의 표면의 정점들의 위치 정보와 각 정점들의 연결 관계 정보를 포함할 수 있다. 또는, 표면 데이터는, 포인트 클라우드 형태로 기록되고, 대상체의 표면의 정점들의 위치 정보를 포함할 수 있다.
최근에 3차원 프린팅을 통해, 디지털 3차원 모델로부터 3차원 물체(object)를 제작하는 기술이 널리 이용되고 있다. 3차원 프린팅을 통해 제작된 3차원 물체들을 대량으로 관리하기 위해서는, 3차원 물체들 각각에 대한 정보를 나타내는 텍스트가 3차원 물체 상에 추가되어야 한다.
3차원 모델의 표면이 평탄하지 않고 굴곡이 심한 경우 3차원 모델 상에 추가된 3차원 텍스트가, 3차원 프린팅 과정에서 3차원 모델로부터 떨어져 나가는 문제가 발생할 수 있다.
본 개시의 일 측면은 대상체를 나타내는 3차원 모델 상에 텍스트를 추가하는 방법에 있어서, 적어도 하나의 문자에 대응하는 3차원 텍스트 데이터를 획득하는 단계; 상기 3차원 텍스트 데이터와 상기 3차원 모델을 화면 상에 표시하는 단계; 소정 오프셋이 적용된 상기 3차원 텍스트 데이터와 상기 3차원 모델의 교차 여부에 기초하여, 상기 3차원 텍스트 데이터와 상기 3차원 모델이 결합 가능한 지를 판단하는 단계; 및 상기 판단 결과를 화면 상에 표시하는 단계를 포함하는, 방법을 제공할 수 있다.
또한 본 개시의 일 실시 예에서 상기 3차원 텍스트 데이터를 획득하는 단계는, 상기 적어도 하나의 문자에 관한 사용자 입력을 수신하는 단계; 상기 적어도 하나의 문자에 대응하는 윤곽선 데이터를 획득하는 단계; 상기 윤곽선 데이터에 포함되는 복수의 제1 정점들을 연결함으로써 2차원 메쉬 데이터를 획득하는 단계; 및 상기 2차원 메쉬 데이터를 제1 면으로 포함하고, 상기 제1 면으로부터 소정 깊이만큼 이격된 제2 면을 포함하는 3차원 메쉬 데이터를 상기 3차원 텍스트 데이터로서 획득하는, 방법을 제공할 수 있다.
또한 본 개시의 일 실시 예에서 사용자 입력에 기초하여, 상기 3차원 텍스트 데이터의 위치를 결정하는 단계를 더 포함하는, 방법을 제공할 수 있다.
또한 본 개시의 일 실시 예에서 상기 화면 상에 표시된 상기 3차원 텍스트 데이터를 소정 위치로 드래그하는 사용자 입력을 수신하는 단계; 상기 화면 상의 소정 위치에 기초하여 기준점을 결정하는 단계; 및 상기 기준점으로부터 상기 3차원 모델의 표면까지의 거리에 기초하여, 상기 3차원 텍스트 데이터의 위치를 결정하는 단계를 더 포함하는, 방법을 제공할 수 있다.
또한 본 개시의 일 실시 예에서 상기 3차원 텍스트 데이터의 위치를 결정하는 단계는, 상기 3차원 텍스트 데이터의 제1 면과 제2 면이 상기 3차원 모델의 외부에 위치하고, 상기 기준점으로부터 상기 3차원 모델의 표면까지의 거리가 최소인, 상기 3차원 텍스트 데이터의 위치를 결정하는 단계를 포함하는, 방법을 제공할 수 있다.
또한 본 개시의 일 실시 예에서 상기 3차원 텍스트 데이터의 위치를 결정하는 단계는, 상기 3차원 텍스트 데이터의 제1 면과 제2 면이 상기 3차원 모델의 내부에 위치하고, 상기 기준점으로부터 상기 3차원 모델의 표면까지의 거리가 최소인, 상기 3차원 텍스트 데이터의 위치를 결정하는 단계를 포함하는, 방법을 제공할 수 있다.
또한 본 개시의 일 실시 예에서 상기 3차원 텍스트 데이터와 상기 3차원 모델이 결합 가능한 지를 판단하는 단계는, 상기 3차원 텍스트 데이터의 제2 면에 포함되는 제2 정점을 상기 소정 오프셋만큼 이동시키는 단계; 상기 3차원 텍스트 데이터의 제1 면의 제1 정점과 상기 이동된 제2 정점을 연결하는 라인을 결정하는 단계; 및 상기 라인과 상기 3차원 모델의 표면이 교차하는 지 여부를 판단하는 단계를 포함하는, 방법을 제공할 수 있다.
또한 본 개시의 일 실시 예에서 상기 3차원 텍스트 데이터와 상기 3차원 모델이 결합 가능한 지를 판단하는 단계는, 상기 3차원 텍스트 데이터의 상기 제1 면의 제1 정점들과 상기 소정 오프셋만큼 이동된 제2 정점들을 연결하는 라인들 중에서, 상기 3차원 모델의 표면과 교차하는 라인들의 개수가 기준 개수 이상인 경우, 상기 3차원 텍스트 데이터와 상기 3차원 모델이 결합 가능하다고 판단하는 단계를 더 포함하는, 방법을 제공할 수 있다.
또한 본 개시의 일 실시 예에서 상기 판단 결과를 화면 상에 표시하는 단계는, 상기 3차원 텍스트 데이터와 상기 3차원 모델이 결합 가능한 지 여부에 기초하여, 상기 화면 상에 표시되는 상기 3차원 텍스트 데이터의 색, 모양, 또는 밝기 중 적어도 하나를 결정하는 단계를 포함하는, 방법을 제공할 수 있다.
또한 본 개시의 일 실시 예에서 상기 3차원 모델 상에 상기 소정 오프셋이 적용된 상기 3차원 텍스트 데이터를 결합하거나, 상기 3차원 모델로부터 상기 소정 오프셋이 적용된 상기 3차원 텍스트 데이터에 대응하는 데이터를 삭제함으로써, 텍스트가 추가된 3차원 모델을 획득하는 단계를 더 포함하는, 방법을 제공할 수 있다.
본 개시의 다른 측면은 대상체를 나타내는 3차원 모델을 처리하는 장치에 있어서, 적어도 하나의 문자에 대응하는 3차원 텍스트 데이터를 획득하는, 적어도 하나의 프로세서; 및 상기 3차원 텍스트 데이터와 상기 3차원 모델을 표시하는 디스플레이를 포함하고, 상기 적어도 하나의 프로세서는, 소정 오프셋이 적용된 상기 3차원 텍스트 데이터와 상기 3차원 모델의 교차 여부에 기초하여, 상기 3차원 텍스트 데이터와 상기 3차원 모델이 결합 가능한 지를 판단하고, 상기 판단 결과를 화면 상에 표시하도록 상기 디스플레이를 제어하는, 3차원 모델 처리 장치를 제공할 수 있다.
또한 본 개시의 일 실시 예에서 상기 적어도 하나의 프로세서는, 상기 적어도 하나의 문자에 관한 사용자 입력을 수신하고, 상기 적어도 하나의 문자에 대응하는 윤곽선 데이터를 획득하고, 상기 윤곽선 데이터에 포함되는 복수의 제1 정점들을 연결함으로써 2차원 메쉬 데이터를 획득하고, 상기 2차원 메쉬 데이터를 제1 면으로 포함하고, 상기 제1 면으로부터 소정 깊이만큼 이격된 제2 면을 포함하는 3차원 메쉬 데이터를 상기 3차원 텍스트 데이터로서 획득하는, 3차원 모델 처리 장치를 제공할 수 있다.
또한 본 개시의 일 실시 예에서 상기 적어도 하나의 프로세서는, 사용자 입력에 기초하여, 상기 3차원 텍스트 데이터의 위치를 결정하는, 3차원 모델 처리 장치를 제공할 수 있다.
또한 본 개시의 일 실시 예에서 상기 적어도 하나의 프로세서는, 상기 화면 상에 표시된 상기 3차원 텍스트 데이터를 소정 위치로 드래그하는 사용자 입력을 수신하고, 상기 화면 상의 소정 위치에 기초하여 기준점을 결정하고, 상기 기준점으로부터 상기 3차원 모델의 표면까지의 거리에 기초하여, 상기 3차원 텍스트 데이터의 위치를 결정하는, 3차원 모델 처리 장치를 제공할 수 있다.
또한 본 개시의 일 실시 예에서 상기 적어도 하나의 프로세서는, 상기 3차원 텍스트 데이터의 제1 면과 제2 면이 상기 3차원 모델의 외부에 위치하고, 상기 기준점으로부터 상기 3차원 모델의 표면까지의 거리가 최소인, 상기 3차원 텍스트 데이터의 위치를 결정하는, 3차원 모델 처리 장치를 제공할 수 있다.
또한 본 개시의 일 실시 예에서 상기 적어도 하나의 프로세서는, 상기 3차원 텍스트 데이터의 제1 면과 제2 면이 상기 3차원 모델의 내부에 위치하고, 상기 기준점으로부터 상기 3차원 모델의 표면까지의 거리가 최소인, 상기 3차원 텍스트 데이터의 위치를 결정하는, 3차원 모델 처리 장치를 제공할 수 있다.
또한 본 개시의 일 실시 예에서 상기 적어도 하나의 프로세서는, 상기 3차원 텍스트 데이터의 제2 면에 포함되는 제2 정점을 상기 소정 오프셋만큼 이동시키고, 상기 3차원 텍스트 데이터의 제1 면의 제1 정점과 상기 이동된 제2 정점을 연결하는 라인을 결정하고, 상기 라인과 상기 3차원 모델의 표면이 교차하는 지 여부를 판단하는, 3차원 모델 처리 장치를 제공할 수 있다.
또한 본 개시의 일 실시 예에서 상기 적어도 하나의 프로세서는, 상기 3차원 텍스트 데이터의 상기 제1 면의 제1 정점들과 상기 소정 오프셋만큼 이동된 제2 정점들을 연결하는 라인들 중에서, 상기 3차원 모델의 표면과 교차하는 라인들의 개수가 기준 개수 이상인 경우, 상기 3차원 텍스트 데이터와 상기 3차원 모델이 결합 가능하다고 판단하는, 3차원 모델 처리 장치를 제공할 수 있다.
또한 본 개시의 일 실시 예에서 상기 적어도 하나의 프로세서는, 상기 3차원 텍스트 데이터와 상기 3차원 모델이 결합 가능한 지 여부에 기초하여, 상기 화면 상에 표시되는 상기 3차원 텍스트 데이터의 색, 모양, 또는 밝기 중 적어도 하나를 결정하는, 3차원 모델 처리 장치를 제공할 수 있다.
또한 본 개시의 일 실시 예에서 상기 적어도 하나의 프로세서는, 상기 3차원 모델 상에 상기 소정 오프셋이 적용된 상기 3차원 텍스트 데이터를 결합하거나, 상기 3차원 모델로부터 상기 소정 오프셋이 적용된 상기 3차원 텍스트 데이터에 대응하는 데이터를 삭제함으로써, 텍스트가 추가된 3차원 모델을 획득하는, 3차원 모델 처리 장치를 제공할 수 있다.
개시된 실시 예들에 따르면, 3차원 프린팅 과정에서 3차원 모델로부터 텍스트가 떨어져 나가는 위험을 낮출 수 있다.
또한, 개시된 실시 예들에 따르면, 입력하고자 하는 텍스트에 포함되는 복수의 문자들이 3차원 모델과 잘 결합하는 지 여부를, 사용자가 각 문자 별로 명확하게 인지할 수 있다.
본 개시는, 다음의 자세한 설명과 그에 수반되는 도면들의 결합으로 쉽게 이해될 수 있으며, 참조 번호(reference numerals)들은 구조적 구성요소(structural elements)를 의미할 수 있다.
도 1은 일 실시 예에 따른 3차원 모델 처리 시스템을 설명하기 위한 도면이다.
도 2는 일 실시 예에 따른 3차원 모델 처리 시스템의 블록도를 도시한다.
도 3a는 일반적인 3차원 모델 처리 장치가 3차원 모델 상에 텍스트를 추가하는 방법을 설명한다.
도 3b는 일반적인 3차원 모델 처리 장치가 3차원 모델 상에 텍스트를 추가하는 방법을 설명한다.
도 4는 일 실시 예에 따른 3차원 모델 처리 장치가 3차원 모델 상에 텍스트를 추가하는 방법의 흐름도를 도시한다.
도 5a는 일 실시 예에 따른 3차원 모델 처리 장치가 3차원 텍스트 데이터를 획득하는 과정의 예를 도시한다.
도 5b는 일 실시 예에 따른 3차원 모델 처리 장치가 3차원 텍스트 데이터를 획득하는 과정의 예를 도시한다.
도 5c는 일 실시 예에 따른 3차원 모델 처리 장치가 3차원 텍스트 데이터를 획득하는 과정의 예를 도시한다.
도 6a는 일 실시 예에 따른 3차원 모델 처리 장치가 오프셋이 적용된 3차원 텍스트 데이터와 3차원 모델의 교차 여부를 판단하는 방법을 설명한다.
도 6b는 일 실시 예에 따른 3차원 모델 처리 장치가 오프셋이 적용된 3차원 텍스트 데이터와 3차원 모델의 교차 여부를 판단하는 방법을 설명한다.
도 7a는 일 실시 예에 따른 3차원 모델 처리 장치가 3차원 모델 상에 양각 방식으로 텍스트를 추가한 예를 도시한다.
도 7b는 일 실시 예에 따른 3차원 모델 처리 장치가 3차원 모델 내에 음각 방식으로 텍스트를 추가한 예를 도시한다.
도 8a는 일 실시 예에 따른 3차원 모델 처리 장치가 디스플레이 하는 화면의 예를 도시한다.
도 8b는 일 실시 예에 따른 3차원 모델 처리 장치가 디스플레이 하는 화면의 예를 도시한다.
도 9는 일 실시 예에 따른 3차원 모델 처리 장치가 출력하는 결과 데이터의 예를 도시한다.
도 10은 일 실시 예에 따른 3차원 모델 처리 장치의 블록도를 도시한다.
본 명세서는 본 발명의 권리범위를 명확히 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 실시할 수 있도록, 본 발명의 원리를 설명하고, 실시 예들을 개시한다. 개시된 실시 예들은 다양한 형태로 구현될 수 있다.
명세서 전체에 걸쳐 동일 참조 부호는 동일 구성요소를 지칭한다. 본 명세서가 실시 예들의 모든 요소들을 설명하는 것은 아니며, 본 발명이 속하는 기술분야에서 일반적인 내용 또는 실시 예들 간에 중복되는 내용은 생략한다. 명세서에서 사용되는 '부'(part, portion)라는 용어는 소프트웨어 또는 하드웨어로 구현될 수 있으며, 실시 예들에 따라 복수의 '부'가 하나의 요소(unit, element)로 구현되거나, 하나의 '부'가 복수의 요소들을 포함하는 것도 가능하다. 이하 첨부된 도면들을 참고하여 본 발명의 작용 원리 및 실시 예들에 대해 설명한다.
본 개시에서 '대상체(object)'는 촬영의 대상이 되는 것으로서, 사람, 동물, 또는 그 일부를 포함할 수 있다. 예를 들어, 대상체는 신체의 일부(장기 또는 기관 등), 대상체 상에 부착 가능하거나 대상체 내에 삽입 가능한 인공 구조물, 또는 팬텀(phantom) 등을 포함할 수 있다. 예를 들어, 대상체는 치아, 치은, 구강의 적어도 일부 영역, 및/또는 구강 내에 삽입 가능한 인공 구조물(예를 들어, 브라켓 및 와이어를 포함하는 교정 장치, 임플란트, 인공 치아, 인레이 및 온레이 등을 포함하는 치아 수복물, 구강 내 삽입되는 교정 보조 도구 등), 인공 구조물이 부착된 치아 또는 치은 등을 포함할 수 있다.
본 개시에서 '영상'은 대상체에 대한 2차원 영상 또는 대상체를 입체적으로 나타내는 3차원 모델 또는 3차원 영상이 될 수 있다. 본 개시에서 영상이란, 2차원 프레임 및 3차원 프레임을 모두 포함할 수 있다. 예를 들어, 영상은, 대상체에 대해서 서로 다른 시점에서 획득된 2차원 영상들을 포함하는 2차원 프레임, 또는 포인트 클라우드 형태 또는 폴리곤 메쉬 형태로 표현되는 3차원 프레임을 포함할 수 있다.
또한, 본 개시에서 '데이터'는 대상체를 2차원 또는 3차원적으로 표현하기 위해서 필요한 정보, 예를 들어, 적어도 하나의 영상 센서로부터 획득된 로우 데이터(raw data)를 의미할 수 있다. 구체적으로, 로우 데이터는 대상체에 대한 3차원 모델을 생성하기 위해서 획득되는 2차원 영상들일 수 있다. 로우 데이터는, 3차원 스캐너(예를 들어, 구강 스캐너(intraoral scanner))를 이용하여 대상체를 스캔할 때 복수의 영상 센서들에 의해 획득되는 서로 다른 시점의 2차원 영상들이 될 수 있다. 또한, 본 개시에서 '3차원 데이터'는 치아, 치은, 및 치아 또는 치은에 부착되는 인공 구조물 중 적어도 하나를 포함하는 대상체의 입체적인 특성을 나타내는 3차원 모델을 의미할 수 있다.
이하에서는 도면을 참조하여 실시 예들을 상세히 설명한다.
도 1은 일 실시 예에 따른 3차원 모델 처리 시스템을 설명하기 위한 도면이다.
도 1에 도시된 바와 같이, 본 개시의 일 실시 예에 따른 3차원 모델 처리 시스템(200)은, 3차원 스캔 장치(100) 및 3차원 모델 처리 장치(300)를 포함할 수 있다.
일 실시 예에 따른 3차원 모델 처리 시스템(200)은, 3차원 스캔 장치(100)를 이용하여 대상체에 패턴 광을 조사(project)하고 패턴 광이 조사된 대상체를 스캔함으로써, 패턴의 변형에 의한 삼각 계측의 원리를 이용하여 대상체의 형상을 나타내는 3차원 모델을 획득할 수 있다. 그러나, 3차원 스캔 장치(100)로 3차원 모델을 획득하는 방법은 이에 한정되지 않으며, 구현 방식에 따라 다양한 방법으로 3차원 모델을 획득할 수 있다.
일 실시 예에 따른 3차원 스캔 장치(100)는, 대상체로부터 획득된 로우 데이터를 3차원 모델 처리 장치(300)에게 전송할 수 있다. 3차원 모델 처리 장치(300)는, 전달받은 로우 데이터에 기초하여, 대상체의 표면의 형상을 3차원적으로 나타내는 3차원 모델을 생성할 수 있다. 3차원 모델은, 포인트 클라우드 데이터 또는 폴리곤 메쉬 데이터일 수 있다. 다른 일 실시 예에 따른 3차원 스캔 장치(100)는, 대상체로부터 획득된 로우 데이터를 재구성하여 3차원 프레임을 생성하고, 생성된 3차원 프레임을 3차원 모델 처리 장치(300)에 전송할 수 있다.
일 실시 예에 따른 3차원 스캔 장치(100)는, 구강 내의 3차원 모델을 획득하기 위한 의료 장치를 포함할 수 있다. 구체적으로, 3차원 스캔 장치(100)는 구강 내에 삽입되어 비 접촉식으로 치아를 스캐닝함으로써, 적어도 하나의 치아를 포함하는 구강에 대한 3차원 모델을 생성하기 위한 장치가 될 수 있다. 또한, 3차원 스캔 장치(100)는 구강 내에 인입 및 인출이 가능한 형태를 가질 수 있으며, 적어도 하나의 영상 센서(예를 들어, 광학 카메라 등)를 이용하여 환자의 구강 내부를 스캔할 수 있다. 또한, 3차원 스캔 장치(100)는 테이블 스캐너일 수 있다.
3차원 스캔 장치(100)는 대상체인 구강 내부의 치아, 치은 또는 구강 내에 삽입 가능한 인공 구조물(예를 들어, 브라켓 및 와이어를 포함하는 교정 장치, 임플란트, 인공 치아, 구강 내 삽입되는 교정 보조 도구 등) 중 적어도 하나의 표면을 이미징하기 위해서, 대상체에 대한 표면 정보를 로우 데이터로서 획득할 수 있다. 3차원 모델 처리 장치(300)는, 로우 데이터를 기초로 결합(merge) 등의 3차원 연산을 수행하여 3차원 모델을 획득하고, 3차원 모델을 렌더링한 영상을 화면 상에 디스플레이에 표시할 수 있다.
일 실시 예에 따른 3차원 모델 처리 장치(300)는 3차원 스캔 장치(100)와 유선 또는 무선 통신 네트워크를 통하여 연결되며, 3차원 스캔 장치(100)가 대상체를 스캔하여 획득한 로우 데이터 또는 3차원 프레임을 3차원 스캔 장치(100)로부터 수신할 수 있다.
3차원 모델 처리 장치(300)는, 수신된 로우 데이터 또는 3차원 프레임에 기초하여, 대상체에 대한 3차원 모델 또는 영상을 생성, 처리, 디스플레이 및/또는 전송할 수 있는 모든 전자 장치가 될 수 있다. 예를 들어, 3차원 모델 처리 장치(300)는 스마트 폰(smart phone), 랩탑 컴퓨터, 데스크탑 컴퓨터, PDA, 태블릿 PC 등의 컴퓨팅 장치가 될 수 있으며, 이에 한정되지 않는다.
3차원 모델 처리 장치(300)는 3차원 스캔 장치(100)에서 수신된 데이터에 기초하여, 대상체의 진단에 필요한 정보 및 대상체 영상 중 적어도 하나를 생성하고, 생성된 정보 및/또는 영상을 디스플레이(320)를 통하여 디스플레이 할 수 있다.
일 실시 예에 따른 3차원 모델 처리 장치(300)는 대상체에 대한 3차원 모델 또는 영상을 분석하고, 분석 결과를 처리, 디스플레이 및/또는 전송할 수 있다.
또한, 일 실시 예에 따른 3차원 모델 처리 장치(300)는 3차원 스캔 장치(100)에 연동되는 전용 소프트웨어를 저장 및 실행할 수 있다. 전용 소프트웨어는 전용 프로그램 또는 전용 어플리케이션으로 호칭될 수 있다. 3차원 모델 처리 장치(300)가 3차원 스캔 장치(100)와 상호 연동되어 동작하는 경우, 3차원 모델 처리 장치(300)에 저장되는 전용 소프트웨어는 3차원 스캔 장치(100)와 연결되어 대상체 스캔을 통하여 획득되는 데이터들을 실시간으로 수신할 수 있다. 예를 들어, 자사의 구강 스캐너인 i500 제품에 대응되는 i500 에서 구강 스캔을 통하여 획득된 데이터를 처리하기 위한 전용 소프트웨어가 존재한다. 3차원 모델 처리 장치(300)는 i500 제품에 대응되는 전용 소프트웨어를 저장 및 실행할 수 있다. 전용 소프트웨어는 3차원 모델을 획득, 처리, 저장, 및/또는 전송하기 위한 적어도 하나의 동작들을 수행할 수 있다.
전용 소프트웨어는 3차원 모델 처리 장치(300)의 프로세서 또는 메모리에 저장될 수 있다. 또한, 전용 소프트웨어는 3차원 스캔 장치(100)에서 획득된 데이터의 이용을 위한 사용자 인터페이스를 제공할 수 있다. 전용 소프트웨어에서 제공되는 사용자 인터페이스 화면은 개시된 실시 예에 따라서 생성되는 대상체에 대한 3차원 모델이 렌더링 된 영상을 포함할 수 있다. 예를 들어, 개시된 실시 예에서, 전용 소프트웨어에서 제공되는 사용자 인터페이스 화면은 이하의 도면들에서 도시 되는 사용자 인터페이스 화면들 중 어느 하나가 될 수 있다.
도 2는 일 실시 예에 따른 3차원 모델 처리 시스템의 블록도를 도시한다.
도 2에 도시된 바와 같이, 일 실시 예에 따른 3차원 모델 처리 장치(300)는, 외부 디바이스, 또는 외부 서버와 유선 또는 무선 통신 네트워크를 통하여 연결될 수 있다. 일 실시 예에 따른 3차원 모델 처리 장치(300)는, 3차원 스캔 장치(100), 데이터 획득 장치(101)(예를 들어, 컴퓨터 단층 촬영(Computed Tomography, CT) 장치, 또는 자기공명영상(Magnetic Resonance Imaging, MRI) 장치 등의 의료 진단 장치), 또는 서버(102) 중 적어도 하나로부터 대상체에 대한 데이터를 획득하고 처리할 수 있다. 또는, 일 실시 예에 따른 3차원 모델 처리 장치(300)는, 내부 메모리에 미리 저장되어 있던 데이터를 획득하고 처리할 수 있다.
일 실시 예에 따른 3차원 모델 처리 장치(300)에서 처리된 3차원 모델은, 3차원 프린팅을 통해 3차원 물체를 제작하기 위해 이용될 수 있다. 3차원 프린팅을 통해 제작된 3차원 물체를 용이하게 식별하기 위하여, 3차원 물체 상에 3차원 물체의 식별 정보를 나타내는 텍스트가 3차원 물체 상에 추가될 수 있다.
도 3a 및 도 3b는 일반적인 3차원 모델 처리 장치가 3차원 모델 상에 텍스트를 추가하는 방법을 설명한다.
도 3a에 도시된 바와 같이, 일반적인 3차원 모델 처리 장치는, 대상체를 나타내는 3차원 모델(301) 상에 문자열을 나타내는 3차원 텍스트 데이터(302)를 추가할 수 있다. 3차원 모델(301)의 표면이 평탄한 영역에 3차원 텍스트 데이터(302)가 추가되는 경우, 3차원 모델(301)에 대응되는 부분과 3차원 텍스트 데이터(302)에 대응되는 부분이 잘 결합(combine)된 3차원 물체가 3차원 프린팅을 통해 제작될 수 있다.
반면에, 도 3b에 도시된 바와 같이, 3차원 모델(303) 상에 굴곡이 심한 영역 또는 3차원 모델(303) 영역 외에 3차원 텍스트 데이터(304)가 추가되는 경우, 3차원 모델(303)에 대응되는 부분으로부터 3차원 텍스트 데이터(304)에 대응하는 부분의 적어도 일부가 분리되어 프린팅 될 수 있다.
따라서, 3차원 프린팅 과정에서 복수의 문자들을 포함하는 텍스트 전체가 3차원 물체 상에 잘 결합되어 있을 수 있도록 하기 위해서는, 3차원 물체 상에 텍스트 추가가 적합한 영역을 사용자가 용이하게 파악할 수 있도록 하는 것이 요구될 수 있다.
본 개시의 다양한 실시 예들에 따르면, 3차원 모델 처리 장치(300)는 3차원 모델 상에 텍스트를 추가함에 있어서, 3차원 텍스트 데이터가 3차원 모델과 적절하게 결합될 수 있는 지 여부를 판단하고 판단 결과를 화면 상에 표시할 수 있다.
다양한 실시 예들에 따라 3차원 모델 처리 장치(300)가 3차원 모델 상에 텍스트를 추가하는 구체적인 방법과 관련하여서는, 이하에서 도 4 내지 도 10을 참조하여 보다 상세히 설명한다.
도 4는 일 실시 예에 따른 3차원 모델 처리 장치가 3차원 모델 상에 텍스트를 추가하는 방법의 흐름도를 도시한다.
단계 S401에서 일 실시 예에 따른 3차원 모델 처리 장치(300)는, 적어도 하나의 문자에 대응하는 3차원 텍스트 데이터를 획득할 수 있다.
일 실시 예에 따른 3차원 모델 처리 장치(300)는, 내부 메모리 또는 외부 디바이스로부터 적어도 하나의 문자에 대응하는 3차원 텍스트 데이터를 획득할 수 있다. 3차원 모델 처리 장치(300)는, 적어도 하나의 문자를 입력하는 사용자 입력을 수신하고, 사용자 입력에 기초하여 적어도 하나의 문자를 나타내는 3차원 텍스트 데이터를 획득할 수 있다.
일 실시 예에 따른 3차원 모델 처리 장치(300)는, 적어도 하나의 문자에 대응하는 사용자 입력을 수신하고, 적어도 하나의 문자에 대응하는 윤곽선(contour) 데이터를 획득할 수 있다. 3차원 모델 처리 장치(300)는, 윤곽선 데이터에 포함되는 복수의 제1 정점들을 연결함으로써 2차원 메쉬 데이터를 획득할 수 있다. 3차원 모델 처리 장치(300)는, 2차원 메쉬 데이터를 제1 면으로 포함하고, 제1 면으로부터 소정 깊이만큼 이격된 제2 면을 포함하는 3차원 메쉬 데이터를 3차원 텍스트 데이터로서 획득할 수 있다.
일 실시 예에 따른 3차원 모델 처리 장치(300)는, 사용자로부터 복수의 문자들을 포함하는 제1 문자열에 대응하는 사용자 입력을 수신할 수 있다. 3차원 모델 처리 장치(300)는, 제1 문자열에 포함되는 각 문자에 대응하는 윤곽선 데이터를 획득할 수 있다. 3차원 모델 처리 장치(300)는, 각 문자에 대응하는 윤곽선 데이터에 포함되는 복수의 제1 정점들을 연결함으로써 2차원 메쉬 데이터를 획득할 수 있다. 3차원 모델 처리 장치(300)는, 제1 문자열에 포함되는 각 문자에 대응하는 3차원 텍스트 데이터를 포함하는, 3차원 텍스트 데이터 세트를 획득할 수 있다.
단계 S402에서 일 실시 예에 따른 3차원 모델 처리 장치(300)는, 3차원 텍스트 데이터와 3차원 모델을 화면 상에 표시할 수 있다.
일 실시 예에 따른 3차원 모델 처리 장치(300)는, 3차원 모델을 렌더링 하여 화면 상에 표시할 수 있다. 3차원 모델 처리 장치(300)는, 3차원 모델이 표시된 화면 상에, 사용자에 의해 입력된 적어도 하나의 문자에 대응하는 3차원 텍스트 데이터를 추가로 표시할 수 있다.
일 실시 예에 따른 3차원 모델 처리 장치(300)는, 기준점 또는 기준면으로부터 3차원 모델의 표면까지의 거리 또는 사용자 입력 중 적어도 하나에 기초하여, 3차원 공간 내에서 3차원 텍스트 데이터가 배치될 위치를 결정할 수 있다. 일 실시 예에 따른 3차원 모델 처리 장치(300)는, 3차원 텍스트 데이터의 X축 좌표값 및 Y축 좌표값을 결정할 수 있다. 일 실시 예에 따른 3차원 모델 처리 장치(300)는, 결정된 X축 좌표값 및 Y축 좌표값에 기초하여, 3차원 모델에 근접하여 위치하도록 3차원 텍스트 데이터의 Z축 좌표값을 결정할 수 있다.
일 예로서, 3차원 모델 처리 장치(300)는, 화면 상의 소정 위치를 선택하는 사용자 입력을 수신하고, 화면 상의 소정 위치에 기초하여 기준점을 결정할 수 있다. 3차원 모델 처리 장치(300)는, 기준점으로부터 3차원 모델의 표면까지의 거리에 기초하여, 3차원 텍스트 데이터의 위치를 결정할 수 있다. 3차원 모델 처리 장치(300)는, 화면 상의 소정 위치에 기초하여 3차원 텍스트 데이터의 X축 좌표값 및 Y축 좌표값을 결정하고, 3차원 모델을 고려하여 3차원 텍스트 데이터의 Z축 좌표값을 결정할 수 있다.
예를 들어, 3차원 텍스트 데이터의 X축 좌표값이란, 화면 상에 디스플레이되고 있는 3차원 공간 내에서, 화면의 가로축을 따라 결정되는 3차원 텍스트 데이터의 위치를 나타내는 값일 수 있다. 3차원 텍스트 데이터의 Y축 좌표값이란, 화면 상에 디스플레이되고 있는 3차원 공간 내에서, 화면의 세로축을 따라 결정되는 3차원 텍스트 데이터의 위치를 나타내는 값일 수 있다. 3차원 텍스트 데이터의 Z축 좌표값이란, 화면 상에 디스플레이되고 있는 3차원 공간 내에서, 화면을 기준으로 3차원 텍스트 데이터의 깊이를 나타내는 값일 수 있다.
일 실시 예에 따른 3차원 모델 처리 장치(300)는, 기준점으로부터 3차원 모델로 가상의 선을 조사함으로써, 3차원 모델의 표면 상에서 기준점으로부터 가장 가까운 포인트를 식별할 수 있다. 3차원 모델 처리 장치(300)는, 3차원 모델 상에서 식별된 포인트에 3차원 텍스트 데이터가 부착되도록, 3차원 텍스트 데이터의 Z축 좌표값을 결정할 수 있다.
다른 예로서, 3차원 모델 처리 장치(300)는, 화면 상의 제1 위치에 대응하는 위치에 3차원 텍스트 데이터를 배치하고, 화면 상의 제1 위치에 표시된 3차원 텍스트 데이터를 제2 위치로 드래그하는 사용자 입력을 수신할 수 있다. 3차원 모델 처리 장치(300)는, 사용자 입력에 기초하여 3차원 텍스트 데이터의 X축 좌표값 및 Y축 좌표값을 결정하고, 3차원 모델을 고려하여 3차원 텍스트 데이터의 Z축 좌표값을 결정할 수 있다. 3차원 모델 처리 장치(300)는, 화면 상의 제2 위치에 기초하여 기준점을 결정하고, 기준점으로부터 3차원 모델의 표면까지의 거리에 기초하여, 3차원 텍스트 데이터의 Z축 좌표값을 결정할 수 있다.
다른 예로서, 3차원 모델 처리 장치(300)는, 화면 상에 디스플레이 되고 있는 3차원 공간 내의 3차원 모델에 복수의 가상의 선들을 조사할 수 있다. 3차원 모델 처리 장치(300)는, 복수의 가상의 선들을 3차원 모델에 조사함으로써, 3차원 모델의 표면 상에서 가장 가까운 포인트(즉, 3차원 모델의 표면 상에서 가장 돌출된 포인트)를 식별할 수 있다. 3차원 모델 처리 장치(300)는, 3차원 모델 상에서 식별된 포인트에 기준 문자에 대응하는 3차원 텍스트 데이터의 포인트가 부착되도록, 3차원 텍스트 데이터 세트를 위치 정렬할 수 있다.
3차원 모델 처리 장치(300)는, 화면 상에 디스플레이 되고 있는 3차원 모델의 표면에서 가장 돌출된 영역을 검색하고, 검색된 영역에 대응하는 X축 좌표값 및 Y축 좌표값을 결정할 수 있다.
3차원 모델 처리 장치(300)는, 3차원 텍스트 데이터의 제2 면에 포함된 정점들로부터 3차원 모델의 검색된 영역까지의 연직 거리들에 기초하여, 3차원 텍스트 데이터의 Z축 좌표값을 결정할 수 있다.
일 실시 예에 따른 3차원 모델 처리 장치(300)는, 3차원 모델 상에 텍스트가 양각(embossment)으로 입력되는 지 또는 음각(intaglio)으로 입력되는 지 여부에 기초하여 3차원 텍스트 데이터의 Z축 좌표값을 결정할 수 있다.
일 예로서, 3차원 모델 상에 텍스트가 양각으로 입력되는 경우, 3차원 모델 처리 장치(300)는, 3차원 텍스트 데이터의 제1 면과 제2 면이 3차원 모델의 외부에 위치하도록 3차원 텍스트 데이터의 위치를 결정할 수 있다. 3차원 모델 처리 장치(300)는, 3차원 텍스트 데이터의 제2 면에 포함된 정점들로부터 3차원 모델의 표면까지의 연직 거리들의 합이 최소인, 3차원 텍스트 데이터의 위치를 결정할 수 있다.
다른 예로서, 3차원 모델 내에 텍스트가 음각으로 입력되는 경우, 3차원 모델 처리 장치(300)는, 3차원 텍스트 데이터의 제1 면과 제2 면이 3차원 모델의 내부에 위치하도록 3차원 텍스트 데이터의 위치를 결정할 수 있다. 3차원 모델 처리 장치(300)는, 3차원 텍스트 데이터의 제2 면에 포함된 정점들로부터 3차원 모델의 표면까지의 연직 거리들의 합이 최소인, 3차원 텍스트 데이터의 위치를 결정할 수 있다.
또한, 3차원 모델 처리 장치(300)는, 3차원 텍스트 데이터의 노멀 벡터와 3차원 모델의 노멀 벡터에 기초하여, 3차원 텍스트 데이터의 각도를 결정할 수 있다.
단계 S403에서 일 실시 예에 따른 3차원 모델 처리 장치(300)는, 3차원 텍스트 데이터와 3차원 모델이 결합 가능한 지를 판단할 수 있다.
일 실시 예에 따른 3차원 모델 처리 장치(300)는, 소정 오프셋이 적용된 3차원 텍스트 데이터와 3차원 모델의 교차(intersection) 여부에 기초하여, 3차원 텍스트 데이터와 3차원 모델이 결합 가능한 지를 판단할 수 있다. 오프셋이 적용된 3차원 텍스트 데이터는, 오프셋만큼 깊이가 추가된 3차원 텍스트 데이터를 포함할 수 있다.
일 실시 예에 따른 3차원 모델 처리 장치(300)는, 오프셋이 적용된 3차원 텍스트 데이터를 획득하기 위하여, 3차원 텍스트 데이터의 제2 면에 포함되는 제2 정점을 소정 오프셋만큼 이동시킬 수 있다. 3차원 모델 처리 장치(300)는, 3차원 텍스트 데이터의 제1 면의 제1 정점과 이동된 제2 정점을 연결하는 라인을 결정할 수 있다. 3차원 모델 처리 장치(300)는, 라인과 3차원 모델의 표면이 교차하는 지 여부를 판단할 수 있다. 3차원 모델 처리 장치(300)는, 3차원 텍스트 데이터의 제1 면의 제1 정점들과 소정 오프셋만큼 이동된 제2 정점들을 연결하는 라인들 중에서, 3차원 모델의 표면과 교차하는 라인들의 개수가 기준 값 이상인 지 여부를 판단하고, 판단 결과에 기초하여 3차원 텍스트 데이터와 3차원 모델이 결합 가능한 지를 판단할 수 있다. 예를 들어, 3차원 모델 처리 장치(300)는, 3차원 텍스트 데이터의 제1 면의 제1 정점들과 소정 오프셋만큼 이동된 제2 정점들을 연결하는 모든 라인들이 3차원 모델의 표면과 교차하는 경우, 3차원 텍스트 데이터와 3차원 모델이 결합 가능하다고 판단할 수 있다.
단계 S404에서 일 실시 예에 따른 3차원 모델 처리 장치(300)는, 판단 결과를 화면 상에 표시할 수 있다.
일 실시 예에 따른 3차원 모델 처리 장치(300)는, 3차원 텍스트 데이터와 3차원 모델이 결합 가능한 지 여부에 기초하여, 화면 상에 표시되는 3차원 텍스트 데이터의 색, 모양, 또는 밝기 중 적어도 하나를 결정할 수 있다.
일 실시 예에 따른 3차원 모델 처리 장치(300)는, 3차원 텍스트 데이터가 3차원 모델에 결합 가능한 경우와 결합 가능하지 않은 경우를 상이하게 표시할 수 있다. 예를 들어, 일 실시 예 에 따른 3차원 모델 처리 장치(300)는, 3차원 텍스트 데이터가 3차원 모델에 결합 가능한 경우 제1 색(예를 들어, 파란색)으로 3차원 텍스트 데이터를 표시할 수 있다. 3차원 텍스트 데이터가 3차원 모델에 결합 가능하지 않은 경우 제2 색(예를 들어, 주황색)으로 3차원 텍스트 데이터를 표시할 수 있다.
일 실시 예에 따른 3차원 모델 처리 장치(300)는, 화면 상에 표시된 3차원 텍스트 데이터를 3차원 모델에 결합 불가능한 제1 위치로부터 3차원 모델에 결합 가능한 제2 위치로 드래그하는 사용자 입력에 따라, 3차원 텍스트 데이터의 색상을 제2 색으로부터 제1 색으로 변경할 수 있다.
또한, 일 실시 예에 따른 3차원 모델 처리 장치(300)는, 복수의 문자들에 대응하는 3차원 텍스트 데이터 세트 중에서 일부 문자들에 대응하는 3차원 텍스트 데이터가, 3차원 모델과 결합 가능하지 않다고 판단할 수 있다. 3차원 모델 처리 장치(300)는, 3차원 모델과 결합 가능하지 않다고 판단되는 일부 3차원 텍스트 데이터를, 다른 3차원 텍스트 데이터와 상이하게 표시할 수 있다. 3차원 모델 처리 장치(300)는, 사용자가 입력하고자 하는 문자열에 대응하는 3차원 텍스트 데이터 세트 중에서 어떠한 문자에 대응하는 3차원 텍스트 데이터가 3차원 모델과 결합되지 않는지를 표시할 수 있다. 따라서, 사용자는, 문자열에 포함된 문자들 중에서 문제가 되는 문자를 직관적으로 확인하고, 문자열을 수정하거나 3차원 텍스트 데이터의 위치를 변경할 수 있다.
일 실시 예에 따른 3차원 모델 처리 장치(300)는, 3차원 텍스트 데이터와 3차원 모델이 결합 가능한 경우, 텍스트가 추가된 3차원 모델을 획득할 수 있다. 3차원 모델 처리 장치(300)는, 3차원 모델 상에 소정 오프셋이 적용된 상기 3차원 텍스트 데이터를 결합하거나, 3차원 모델로부터 소정 오프셋이 적용된 3차원 텍스트 데이터에 대응하는 데이터를 삭제함으로써, 텍스트가 추가된 3차원 모델을 획득할 수 있다.
도 5a, 도 5b 및 도 5c는 일 실시 예에 따른 3차원 모델 처리 장치가 3차원 텍스트 데이터를 획득하는 과정의 예를 도시한다.
일 실시 예에 따른 3차원 모델 처리 장치(300)는, 다양한 문자들 각각에 대응하는 윤곽선 데이터를 포함하는 윤곽선 데이터 세트를 획득할 수 있다. 3차원 모델 처리 장치(300)는, 오픈 API(Application Programming Interface)로부터 윤곽선 데이터 세트를 획득할 수 있다. 소정 문자에 대응하는 윤곽선 데이터는 적어도 하나의 폐루프를 포함하고, 복수의 포인트들로 구성될 수 있다.
일 실시 예에 따른 3차원 모델 처리 장치(300)는, 내부 메모리에 미리 저장되어 있던 윤곽선 데이터 세트로부터, 사용자 입력에 대응하는 적어도 하나의 문자를 나타내는 윤곽선 데이터를 획득할 수 있다.
도 5a에 도시된 바와 같이, 일 실시 예에 따른 3차원 모델 처리 장치(300)는, 문자 'a'를 입력하는 사용자 입력을 수신하면, 문자 'a'를 나타내는 윤곽선 데이터(510)를 획득할 수 있다. 윤곽선 데이터(510)는, 복수의 제1 정점들로 구성된 바깥쪽 폐루프와 안쪽 폐루프를 포함할 수 있다.
다음으로, 도 5b에 도시된 바와 같이, 일 실시 예에 따른 3차원 모델 처리 장치(300)는, 윤곽선 데이터 내에 포함되는 제1 정점들을 연결하여 2차원 메쉬 데이터(520)를 생성할 수 있다.
다음으로, 일 실시 예에 따른 3차원 모델 처리 장치(300)는, 2차원 메쉬 데이터(520)에 기초하여 3차원 텍스트 데이터를 생성할 수 있다.
도 5c에 도시된 바와 같이, 일 실시 예에 따른 3차원 모델 처리 장치(300)는, X축 좌표값 및 Y축 좌표값으로 구성된 2차원 메쉬 데이터에 소정 깊이 값을 적용하여, X축 좌표값, Y축 좌표값 및 Z축 좌표값으로 구성된 3차원 텍스트 데이터(530)를 생성할 수 있다. 3차원 모델 처리 장치(300)는, 윤곽선 데이터로부터 획득된 2차원 메쉬 데이터를 제1 면으로 포함하고, 제1 면으로부터 소정 깊이 값만큼 이격된 제2 면을 포함하는 3차원 메쉬 데이터를 3차원 텍스트 데이터(530)로서 생성할 수 있다.
본 개시의 실시예는 도 5b에 도시된 예에 제한되지 않는다. 일 실시 예에 따른 3차원 모델 처리 장치(300)는, 윤곽선 데이터(510)의 바깥쪽 폐루프와 안쪽 폐루프 사이에 임의의 정점을 생성하고, 임의의 정점을 기준으로 2차원 메쉬 데이터(520)을 생성할 수 있다. 3차원 모델 처리 장치(300)는, 2차원 메쉬 데이터(520)에 소정 깊이 값을 적용하여 3차원 텍스트 데이터를 생성할 수 있다. 3차원 모델 처리 장치(300)는, 2차원 메쉬 데이터(520)의 노멀 벡터의 방향 또는 노멀 벡터의 반대 방향으로 임의의 정점으로부터 라인을 생성하고, 생성된 라인과 3차원 모델이 교차하는 지 여부에 기초하여, 3차원 텍스트 데이터와 3차원 모델이 결합 가능한 지를 판단할 수 있다.
윤곽선 데이터로부터 생성된 2차원 메쉬 데이터를 포함하는 제1 면(531)의 정점들을 제1 정점들(또는, 전면(front) 정점들)이라고 지칭하고, 제1 정점들로부터 소정 깊이 값이 적용된 제2 면(532)에 포함되는 정점들을 제2 정점들(또는, 후면(back) 정점들)이라고 지칭할 수 있다.
도 5a 내지 5c에는 문자 'a'에 대한 3차원 텍스트 데이터를 생성하는 경우를 예로 들어 설명하였으나, 본 개시는 도시된 예에 제한되지 않는다. 3차원 모델 처리 장치(300)는, 다양한 문자에 대응하는 3차원 텍스트 데이터를 획득할 수 있다. 또한, 3차원 모델 처리 장치(300)는, 사용자에 의해 복수의 문자들을 포함하는 문자열이 입력되는 경우, 복수의 문자들에 대응하는 3차원 텍스트 데이터 세트를 획득할 수 있다.
일 실시 예에 따른 3차원 모델 처리 장치(300)는, 3차원 텍스트 데이터가 획득되면, 3차원 모델을 포함하는 3차원 공간 내에서 3차원 텍스트 데이터가 배치될 위치를 결정할 수 있다. 일 실시 예에 따른 3차원 모델 처리 장치(300)는, 사용자 입력에 기초하여, 또는, 3차원 모델의 일부 영역 중에서 가장 돌출된 것으로 검색된 영역에 기초하여, 3차원 텍스트 데이터의 X축 좌표값 및 Y축 좌표값을 결정할 수 있다. 그리고, 3차원 모델 처리 장치(300)는, 3차원 모델의 위치를 기준으로 3차원 텍스트 데이터의 Z축 좌표값을 결정할 수 있다.
이하, 3차원 텍스트 데이터의 Z축 좌표값을 결정하는 구체적인 방법을 설명한다.
일 실시 예에 따른 3차원 모델 처리 장치(300)는 다음의 과정을 따라 3차원 모델 상에 3차원 텍스트 데이터를 위치 정렬할 수 있다.
일 실시 예에 따른 3차원 모델 처리 장치(300)는, 복수의 문자들을 포함하는 문자열을 입력하는 사용자 입력을 수신하고, 문자열에 대응하는 3차원 텍스트 데이터 세트를 획득할 수 있다. 3차원 모델 처리 장치(300)는, 복수의 문자들 중에서 기준 문자, 또는 복수의 문자들의 중앙에 위치하는 것으로 판단되는 기준 점을 선택할 수 있다.
예를 들어, 3차원 모델 처리 장치(300)는, 문자열 “ABCDE”에 대응하는 3차원 텍스트 데이터 세트를 획득하고, 문자열 “ABCDE” 중에서 중앙에 위치한 문자 “C”를 기준 문자로서 선택할 수 있다. 예를 들어, 3차원 모델 처리 장치(300)는, 문자열 “ABCD”에 대응하는 3차원 텍스트 데이터 세트를 획득하고, 문자열 “ABCD” 중에서 중앙에 위치한 문자 “B” 또는 문자 “C”를 기준 문자로서 선택할 수 있다.
또는, 3차원 모델 처리 장치(300)는, 문자열에 대응하는 3차원 텍스트 데이터 세트를 하나의 메쉬 데이터로서 결정하고, 결정된 메쉬 데이터의 중앙에 위치하는 것으로 판단되는 점을 기준점으로서 설정할 수 있다. 예를 들어, 3차원 모델 처리 장치(300)는, 문자열 “ABCD”에 대응하는 3차원 텍스트 데이터 세트를 획득하고, 문자열 “ABCD” 중에서 문자 “B” 및 문자 “C” 사이의 중앙에 위치한 점을 기준점으로 설정할 수 있다.
일 실시 예에 따른 3차원 모델 처리 장치(300)는, 화면 상의 소정 위치를 선택하는 사용자 입력(예를 들어, 화면 상의 소정 위치를 클릭하는 사용자의 입력 등)을 수신하고, 화면 상의 소정 위치에 대응하는 X축 좌표값 및 Y축 좌표값을 결정할 수 있다. 3차원 모델 처리 장치(300)는, X축 좌표값 및 Y축 좌표값에 의해 결정된 기준점을 기준으로 가상의 선을 3차원 모델에 조사함으로써, 3차원 모델의 표면 상에서 기준점으로부터 가장 가까운 포인트를 식별할 수 있다. 3차원 모델 처리 장치(300)는, 3차원 모델 상에서 식별된 포인트에 기준 문자에 대응하는 3차원 텍스트 데이터의 포인트가 부착되도록, 또는, 3차원 모델 상에서 식별된 포인트에 3차원 텍스트 데이터 세트의 기준점이 부착되도록, 3차원 텍스트 데이터 세트를 3차원 모델에 인접하여 위치 정렬할 수 있다.
다른 일 실시 예에 따른 3차원 모델 처리 장치(300)는, 화면 상에 디스플레이 되고 있는 3차원 공간 내의 3차원 모델에 Z축 방향으로 복수의 가상의 선들을 조사할 수 있다. 3차원 모델 처리 장치(300)는, 복수의 가상의 선들을 3차원 모델에 조사함으로써, 3차원 모델의 표면 상에서 화면으로부터 가장 가까운 포인트(즉, 3차원 모델의 표면 상에서 가장 돌출된 포인트)를 식별할 수 있다. 3차원 모델 처리 장치(300)는, 3차원 모델 상에서 식별된 포인트에 기준 문자에 대응하는 3차원 텍스트 데이터의 포인트가 부착되도록, 또는, 3차원 모델 상에서 식별된 포인트에 3차원 텍스트 데이터 세트의 기준점이 부착되도록, 3차원 텍스트 데이터 세트를 3차원 모델에 인접하여 위치 정렬할 수 있다.
예를 들어, 사용자의 구강 내부를 나타내는 치아 모델은, 치아 및 치은을 나타내는 구강 영역과 구강 영역을 받치는 베이스 영역을 포함할 수 있다. 일반적으로 치아 모델의 경우, 구강 영역에 비해 베이스 영역이 돌출되게 되므로, 3차원 모델 처리 장치(300)는, 사용자가 텍스트를 입력하면, 상대적으로 돌출된 베이스 영역을 검색하고, 입력된 텍스트에 대응하는 3차원 텍스트 데이터 세트를 검색된 베이스 영역 상에 자동으로 위치 정렬 할 수 있다.
한편, 일 실시예에 따른 3차원 모델 처리 장치(300)는, 3차원 모델을 세그멘테이션 할 수 있다. 3차원 모델 처리 장치(300)는 템플릿을 사용하거나 인공지능 등을 사용하여, 적어도 하나의 치아에 대응하는 영역, 치은에 대응하는 영역, 및/또는 베이스 영역으로 3차원 모델을 분리할 수 있다. 3차원 모델에 있어서, 구강을 나타내는 영역(예를 들어, 치아 영역 및/또는 치은 영역)은 입력된 텍스트로 인해서 변형되면 안되는 중요한 영역이다. 따라서, 사용자에 의해 입력된 텍스트는, 구강을 나타내는 영역이 아닌 베이스 영역에 추가되는 것이 바람직할 수 있다.
따라서, 일 실시예에 따른 3차원 모델 처리 장치(300)는, 세그멘테이션에 의해 식별된 각 치아를 기준으로 일정 거리 내에는 텍스트가 추가되지 않도록 하는 락킹(Locking) 기능을 설정할 수 있다. 락킹 기능이 활성화되면, 3차원 모델 처리 장치(300)는, 사용자에 의해 입력된 텍스트가 3차원 모델 상에서 설정된 영역 이외의 영역에 위치할 수 있도록 텍스트를 자동 위치 정렬할 수 있다. 예를 들어, 3차원 모델 처리 장치(300)는, 사용자에 의해 입력된 텍스트가 구강 영역 이외의 영역, 즉, 베이스 영역에 위치할 수 있도록 텍스트를 자동 위치 정렬할 수 있다.
한편, 3차원 텍스트 데이터와 3차원 모델이 잘 결합되기 위해서는, 3차원 텍스트 데이터의 제2 면의 정점들이 3차원 모델의 표면(즉, 3차원 모델의 표면에 위치한 메쉬 또는 정점)과 맞닿아야 한다. 그러나, 3차원 모델의 표면이 평평하지 않은 경우, 3차원 텍스트 데이터의 제2 면의 정점들의 일부가 3차원 모델과 접촉하더라도, 제2 정점들의 나머지 일부는 3차원 모델과 접촉하지 않을 수 있다.
따라서, 일 실시 예에 따른 3차원 모델 처리 장치(300)는, 3차원 모델과의 결합을 위한 오프셋을 3차원 텍스트 데이터에 적용할 수 있다. 3차원 모델 처리 장치(300)는, 3차원 텍스트 데이터의 제2 면의 정점들로부터 오프셋만큼 이동된 가상의 정점들을 설정함으로써, 3차원 텍스트 데이터에 오프셋을 적용할 수 있다.
일 실시 예에 따른 3차원 모델 처리 장치(300)는, 3차원 텍스트 데이터의 제2 면의 노멀 벡터의 방향으로, 또는 제2 면의 노멀 벡터의 반대 방향으로 제2 면 정점들을 이동시킴으로써 가상의 제3 정점들을 설정할 수 있다. 3차원 모델 처리 장치(300)는, 오프셋이 적용된 3차원 텍스트 데이터와 3차원 모델의 교차 여부에 기초하여, 3차원 텍스트 데이터와 3차원 모델이 결합 가능한 지를 판단하고 판단 결과를 화면 상에 표시할 수 있다.
도 6a는 일 실시 예에 따른 3차원 모델 처리 장치가 오프셋이 적용된 3차원 텍스트 데이터와 3차원 모델의 교차 여부를 판단하는 방법을 설명한다.
도 6a에 도시된 바와 같이, 일 실시 예에 따른 3차원 모델 처리 장치(300)는, 3차원 모델 상에 텍스트가 양각으로 입력되는 경우, 3차원 텍스트 데이터(611, 631)가 3차원 모델(605)의 외부에 위치하도록 3차원 텍스트 데이터(611, 631)의 위치를 결정할 수 있다.
도 6a에서, 3차원 텍스트 데이터(611)는, 적어도 하나의 문자에 대응하는 윤곽선 데이터로부터 생성된 2차원 메쉬 데이터를 제1 면(611a)으로서 포함하고, 제1 면으로부터 소정 깊이 값(601)만큼 이격된 제2 면(611b)을 포함할 수 있다.
3차원 모델 처리 장치(300)는, 오프셋(602)이 적용된 3차원 텍스트 데이터를 획득하기 위하여, 3차원 텍스트 데이터(611)의 제2 면(611b)에 포함되는 제2 정점들을 소정 오프셋만큼 이동시킬 수 있다. 3차원 모델 처리 장치(300)는, 3차원 텍스트 데이터의 제1 면(611a)의 제1 정점들과 이동된 제2 정점들을 연결하는 라인들을 결정할 수 있다. 3차원 모델 처리 장치(300)는, 라인들과 3차원 모델의 표면이 교차하는 지 여부를 판단할 수 있다. 3차원 모델 처리 장치(300)는, 제1 정점을 시작점으로 하고, 오프셋만큼 이동된 제2 정점을 끝점으로 하는 라인 상에 3차원 모델의 표면의 메쉬 또는 정점이 위치하면, 라인과 3차원 모델의 표면이 교차한다고 판단할 수 있다.
3차원 모델 처리 장치(300)는, 3차원 텍스트 데이터의 제1 면(611a)의 제1 정점들과 오프셋(602)만큼 이동된 제2 정점들을 연결하는 라인들 중에서, 3차원 모델의 표면과 교차하는 라인들의 개수가 기준 값 이상인 지 여부를 판단 할 수 있다. 3차원 모델 처리 장치(300)는, 판단 결과에 기초하여 3차원 텍스트 데이터(611)와 3차원 모델(605)이 결합 가능한 지를 판단할 수 있다.
일 실시 예에 따른 3차원 모델 처리 장치(300)는, 1개 이상의 라인들이 3차원 모델(605)의 표면과 교차하지 않으므로, 3차원 텍스트 데이터(611)가 3차원 모델(605)과 결합 가능하지 않다고 판단할 수 있다.
반면에, 도 6a에서, 3차원 텍스트 데이터(631)는, 제1 면(631a) 및 제2 면(631b)을 포함할 수 있다. 3차원 모델 처리 장치(300)는, 3차원 텍스트 데이터의 제1 면(631a)의 제1 정점들과 소정 오프셋만큼 이동된 제2 정점들을 연결하는 라인들을 결정할 수 있다. 3차원 모델 처리 장치(300)는, 3차원 텍스트 데이터의 제1 면(631a)의 제1 정점들과 오프셋(602)만큼 이동된 제2 정점들을 연결하는 라인들 중에서, 3차원 모델의 표면과 교차하는 라인들의 개수가 기준 값 이상인 지 여부를 판단 할 수 있다.
일 실시 예에 따른 3차원 모델 처리 장치(300)는, 모든 라인들이 3차원 모델(605)의 표면과 교차하므로, 3차원 텍스트 데이터(631)가 3차원 모델(605)과 결합 가능하다고 판단할 수 있다.
도 6b는 일 실시 예에 따른 3차원 모델 처리 장치가 오프셋이 적용된 3차원 텍스트 데이터와 3차원 모델의 교차 여부를 판단하는 방법을 설명한다.
도 6b에 도시된 바와 같이, 일 실시 예에 따른 3차원 모델 처리 장치(300)는, 3차원 모델 상에 텍스트가 음각으로 입력되는 경우, 3차원 텍스트 데이터(661, 681)가 3차원 모델(605)의 내부에 위치하도록 3차원 텍스트 데이터(661, 681)의 위치를 결정할 수 있다.
도 6b에서, 3차원 텍스트 데이터(661)는, 적어도 하나의 문자에 대응하는 윤곽선 데이터로부터 생성된 2차원 메쉬 데이터를 제1 면(661a)으로서 포함하고, 제1 면으로부터 소정 깊이 값(601)만큼 이격된 제2 면(661b)을 포함할 수 있다.
3차원 모델 처리 장치(300)는, 오프셋(602)이 적용된 3차원 텍스트 데이터를 획득하기 위하여, 3차원 텍스트 데이터(661)의 제2 면(661b)에 포함되는 제2 정점들을 소정 오프셋만큼 이동시킬 수 있다. 3차원 모델 처리 장치(300)는, 3차원 텍스트 데이터의 제1 면(661a)의 제1 정점들과 이동된 제2 정점들을 연결하는 라인들을 결정할 수 있다. 3차원 모델 처리 장치(300)는, 라인들과 3차원 모델의 표면이 교차하는 지 여부를 판단할 수 있다. 3차원 모델 처리 장치(300)는, 제1 정점을 시작점으로 하고, 오프셋만큼 이동된 제2 정점을 끝점으로 하는 라인 상에 3차원 모델의 표면의 메쉬 또는 정점이 위치하면, 라인과 3차원 모델의 표면이 교차한다고 판단할 수 있다.
3차원 모델 처리 장치(300)는, 3차원 텍스트 데이터의 제1 면(661a)의 제1 정점들과 오프셋(602)만큼 이동된 제2 정점들을 연결하는 라인들 중에서, 3차원 모델의 표면과 교차하는 라인들의 개수가 기준 값 이상인 지 여부를 판단 할 수 있다. 3차원 모델 처리 장치(300)는, 판단 결과에 기초하여 3차원 텍스트 데이터(661)와 3차원 모델(605)이 결합 가능한 지를 판단할 수 있다.
일 실시 예에 따른 3차원 모델 처리 장치(300)는, 1개 이상의 라인들이 3차원 모델(605)의 표면과 교차하지 않으므로, 3차원 텍스트 데이터(661)가 3차원 모델(605)과 결합 가능하지 않다고 판단할 수 있다.
반면에, 도 6b에서, 3차원 텍스트 데이터(681)는, 제1 면(681a) 및 제2 면(681b)을 포함할 수 있다. 3차원 모델 처리 장치(300)는, 3차원 텍스트 데이터의 제1 면(681a)의 제1 정점들과 소정 오프셋만큼 이동된 제2 정점들을 연결하는 라인들을 결정할 수 있다. 3차원 모델 처리 장치(300)는, 3차원 텍스트 데이터의 제1 면(681a)의 제1 정점들과 오프셋(602)만큼 이동된 제2 정점들을 연결하는 라인들 중에서, 3차원 모델의 표면과 교차하는 라인들의 개수가 기준 값 이상인 지 여부를 판단 할 수 있다.
일 실시 예에 따른 3차원 모델 처리 장치(300)는, 모든 라인들이 3차원 모델(605)의 표면과 교차하므로, 3차원 텍스트 데이터(681)가 3차원 모델(605)과 결합 가능하다고 판단할 수 있다.
도 6a 및 도 6b에 도시된 바와 같이, 일 실시 예에 따른 3차원 모델 처리 장치(300)는, 각 문자에 대응하는 3차원 텍스트 데이터 별로 3차원 모델과의 결합 가능 여부를 판단할 수 있다. 따라서, 일 실시 예에 따른 3차원 모델 처리 장치(300)는, 사용자가 입력하고자 하는 문자열에 대응하는 3차원 텍스트 데이터 세트 중에서 어떠한 문자에 대응하는 3차원 텍스트 데이터가 3차원 모델과 결합되지 않는지를 표시할 수 있다. 따라서, 사용자는, 문자열에 포함된 문자들 중에서 문제가 되는 문자를 직관적으로 확인하고, 문자열을 수정할 수 있다. 또는 사용자는, 3차원 모델 상에서 문자열 입력이 적합한 영역을 빠르고 정확하게 찾을 수 있다.
도 7a는 일 실시 예에 따른 3차원 모델 처리 장치가 3차원 모델 상에 양각 방식으로 텍스트를 추가한 예를 도시한다.
도 7a에 도시된 바와 같이, 일 실시 예에 따른 3차원 모델 처리 장치(300)는, 3차원 모델 상에 텍스트가 양각으로 입력되는 경우, 3차원 텍스트 데이터 세트(711)가 3차원 모델(710)의 외부에 위치하도록 문자열에 대응하는 3차원 텍스트 데이터 세트(711)의 위치를 결정할 수 있다.
일 실시 예에 따른 3차원 모델 처리 장치(300)는, 3차원 모델(710) 상에 3차원 텍스트 데이터 세트(711)를 위치 정렬할 수 있다. 3차원 모델 처리 장치(300)는, 3 차원 텍스트 데이터 세트(711)에 포함되는 각 문자에 대응하는 3차원 텍스트 데이터의 제1 면의 정점들(또는, 전면(front) 정점들)을 시작점들로서 포함하고, 소정 깊이 값 및 오프셋만큼 이동된 제2 정점들(또는, 후면(back) 정점들)을 끝점들로서 포함하는 3차원 메쉬 데이터를 3차원 모델 상에 결합할 수 있다.
3차원 모델 처리 장치(300)는, 3차원 텍스트 데이터의 제1 면의 제1 정점들과 오프셋만큼 이동된 제2 정점들을 연결하는 라인들이 3차원 모델(710)의 표면과 교차하는 위치들을 기초로 3차원 텍스트 데이터의 후면(back) 정점들을 결정할 수 있다. 3차원 모델 처리 장치(300)는, 3 차원 텍스트 데이터 세트(711)에 포함되는 각 문자에 대응하는 3차원 텍스트 데이터의 제1 면의 정점들을 시작점들로서 포함하고, 3차원 모델(710)과의 교차 위치들을 기초로 새롭게 결정된 후면 정점들을 끝점들로서 포함하는 3차원 메쉬 데이터를 획득할 수 있다.
3차원 모델 처리 장치(300)는, 획득된 3차원 메쉬 데이터를 3차원 모델에 결합함으로써, 3차원 모델 상에 텍스트를 추가할 수 있다.
도 7b는 일 실시 예에 따른 3차원 모델 처리 장치가 3차원 모델 내에 음각 방식으로 텍스트를 추가한 예를 도시한다.
도 7b에 도시된 바와 같이, 일 실시 예에 따른 3차원 모델 처리 장치(300)는, 3차원 모델 상에 텍스트가 음각으로 입력되는 경우, 3차원 텍스트 데이터 세트(721)가 3차원 모델(720)의 내부에 위치하도록 문자열에 대응하는 3차원 텍스트 데이터 세트(721)의 위치를 결정할 수 있다.
일 실시 예에 따른 3차원 모델 처리 장치(300)는, 3차원 모델(720) 내에 3차원 텍스트 데이터 세트(721)를 위치 정렬할 수 있다. 3차원 모델 처리 장치(300)는, 3 차원 텍스트 데이터 세트(721)에 포함되는 각 문자에 대응하는 3차원 텍스트 데이터의 제1 면의 정점들을 시작점들로서 포함하고, 소정 깊이 값 및 오프셋만큼 이동된 제2 정점들을 끝점들로서 포함하는 3차원 메쉬 데이터를 획득할 수 있다.
3차원 모델 처리 장치(300)는, 3차원 텍스트 데이터의 제1 면의 제1 정점들과 오프셋만큼 이동된 제2 정점들을 연결하는 라인들이 3차원 모델(720)의 표면과 교차하는 위치들을 기초로 3차원 텍스트 데이터의 후면(back) 정점들을 결정할 수 있다. 3차원 모델 처리 장치(300)는, 3 차원 텍스트 데이터 세트(721)에 포함되는 각 문자에 대응하는 3차원 텍스트 데이터의 제1 면의 정점들을 시작점들로서 포함하고, 3차원 모델(720)과의 교차 위치들을 기초로 새롭게 결정된 후면 정점들을 끝점들로서 포함하는 3차원 메쉬 데이터를 획득할 수 있다.
3차원 모델 처리 장치(300)는, 획득된 3차원 메쉬 데이터를 3차원 모델(720)로부터 삭제함으로써, 3차원 모델 상에 텍스트를 추가할 수 있다.
도 8a 및 도 8b는 일 실시 예에 따른 3차원 모델 처리 장치가 디스플레이 하는 화면의 예를 도시한다.
일 실시 예에 따른 3차원 모델 처리 장치(300)는, 3차원 모델(810) 상에 3차원 텍스트 데이터 세트(811)를 위치 정렬할 수 있다.
도 8a에 도시된 바와 같이, 일 실시 예에 따른 3차원 모델 처리 장치(300)는, 복수의 문자들에 대응하는 3차원 텍스트 데이터 세트(811)가 3차원 모델(810) 상에 잘 결합되어 있는 지 여부를 판단할 수 있다. 3차원 모델 처리 장치(300)는, 3차원 텍스트 데이터 세트(811)에 포함되는 복수의 문자들 각각에 대응하는 3차원 텍스트 데이터가 3차원 모델(810) 상에 잘 결합되어 있는 지 여부를 판단할 수 있다.
3차원 모델 처리 장치(300)는, 각 문자를 나타내는 3차원 텍스트 데이터에 오프셋을 적용하고, 오프셋이 적용된 3차원 텍스트 데이터가 3차원 모델(810)과 교차하는 지 여부에 기초하여, 3차원 텍스트 데이터가 3차원 모델(810) 상에 잘 결합되어 있는 지 여부를 판단할 수 있다.
3차원 모델 처리 장치(300)는, 3차원 텍스트 데이터 세트(811)에 포함되는 3차원 텍스트 데이터와 3차원 모델이 결합 가능한 지 여부에 기초하여, 화면 상에 표시되는 3차원 텍스트 데이터의 색, 모양, 또는 밝기 중 적어도 하나를 결정할 수 있다.
예를 들어, 도 8a에 도시된 바와 같이, 일 실시 예에 따른 3차원 모델 처리 장치(300)는, 3차원 텍스트 데이터 세트(811)에 포함되는 모든 3차원 텍스트 데이터가 3차원 모델(810)과 결합 가능하다고 판단하고 모든 3차원 텍스트 데이터의 색을 제1 색(예를 들어, 파란색)으로 결정할 수 있다.
일 실시 예에 따른 3차원 모델 처리 장치(300)는, 사용자 입력에 기초하여, 3차원 텍스트 데이터 세트(811)를 다른 위치로 이동할 수 있다.
도 8b에 도시된 바와 같이, 일 실시 예에 따른 3차원 모델 처리 장치(300)는, 3차원 텍스트 데이터 세트(811)를 위쪽 방향으로 이동할 수 있다.
3차원 텍스트 데이터 세트(811)의 위치가 이동함에 따라, 문자 “l”과 문자 “d”에 대응하는 3차원 텍스트 데이터(813, 815)의 상단 끝 부분이 3차원 모델(810)과 접촉하지 않게 될 수 있다.
따라서, 3차원 텍스트 데이터 세트(811)의 위치가 이동함에 따라, 일 실시 예에 따른 3차원 모델 처리 장치(300)는, 3차원 텍스트 데이터 세트(811)에 포함되는 일부 3차원 텍스트 데이터(813, 815)가 3차원 모델(820)과 결합 가능하지 않다고 판단할 수 있다.
3차원 모델 처리 장치(300)는, 복수의 문자들에 대응하는 3차원 텍스트 데이터 세트(811) 중에서 일부 문자들에 대응하는 3차원 텍스트 데이터(813, 815)가, 오프셋을 적용하더라도 3차원 모델(820)과 교차하지 않는다고 판단할 수 있다. 3차원 모델 처리 장치(300)는, 3차원 텍스트 데이터(813, 815)가 3차원 모델(810)과 결합 가능하지 않는 다는 판단에 기초하여, 3차원 텍스트 데이터(813, 815)의 색상을 상이하게 표시할 수 있다.
일 실시 예에 따른 3차원 모델 처리 장치(300)는, 일부 3차원 텍스트 데이터(813, 815)의 색을 제2 색(예를 들어, 주황색)으로 결정할 수 있다. 예를 들어, 3차원 모델 처리 장치(300)는, 3차원 모델 상에 잘 결합되는 것으로 판단되는 3차원 텍스트 데이터는 파란색으로 표시하고, 3차원 모델 상에 잘 결합되지 않는다고 판단되는 3차원 텍스트 데이터는 주황색으로 표시할 수 있다.
도 8b에는 결합 가능하지 않다고 판단되는 3차원 텍스트 데이터의 색만을 변경하는 경우를 예로 들어 도시하였으나, 본 개시의 다양한 실시 예들은 도 8a 및 도 8b에 도시된 예에 제한되지 않는다. 구현에 따라서 다양한 방식을 통해, 3차원 텍스트 데이터가 3차원 모델에 결합 가능한 지 여부에 대한 정보가 제공될 수 있다.
예를 들어, 3차원 모델 처리 장치(300)는, 3차원 텍스트 데이터 세트에 포함되는 적어도 일부 3차원 텍스트 데이터가 3차원 모델과 결합이 가능하지 않다고 판단되는 경우, 3차원 텍스트 데이터 세트에 포함되는 모든 3차원 텍스트 데이터의 색을 변경할 수 있다. 그리고, 3차원 모델 처리 장치(300)는, 결합이 가능하지 않다고 판단되는 적어도 일부 3차원 텍스트 데이터를 나머지 3차원 텍스트 데이터와 상이하게 표시할 수 있다. 예를 들어, 3 차원 모델 처리 장치(300)는, 결합이 가능하지 않다고 판단되는 적어도 일부 3차원 텍스트 데이터를 굵게(bold) 표시할 수 있다.
일 실시 예에 따른 3차원 모델 처리 장치(300)는, 상술한 과정을 통해, 텍스트가 추가된 3차원 모델을 획득할 수 있다.
도 9는 일 실시 예에 따른 3차원 모델 처리 장치가 출력하는 텍스트가 추가된 3차원 모델의 예를 도시한다.
일 실시 예에 따른 3차원 모델 처리 장치(300)는, 3차원 텍스트 데이터와 3차원 모델이 결합 가능한 경우, 텍스트가 추가된 3차원 모델을 획득할 수 있다. 3차원 모델 처리 장치(300)는, 3차원 모델 상에 소정 오프셋이 적용된 상기 3차원 텍스트 데이터를 결합함으로써, 도 9에 도시된 바와 같이 텍스트가 추가된 3차원 모델을 획득할 수 있다.
일 실시 예에 따른 3차원 모델 처리 장치(300)는, 3차원 모델 상에 텍스트를 추가함에 있어서, 추가되는 문자 별로 해당 문자에 대응하는 3차원 텍스트 데이터가 3차원 모델과 결합 가능한 지 여부를 판단하여 표시할 수 있다.
더 나아가, 일 실시 예에 따른 3차원 모델 처리 장치(300)는 사용자가 입력한 문자에 대응하는 3차원 텍스트 데이터가 3차원 모델과 결합 가능하지 않은 경우, 결합 가능하지 않다는 정보를 표시할 뿐만 아니라, 사용자가 입력한 문자가 3차원 모델에 추가되지 않도록 할 수 있다. 따라서, 사용자는, 3차원 모델과 결합 가능한 위치에 3차원 텍스트 데이터를 추가하기 위해서, 문자를 다시 입력하거나 3차원 텍스트 데이터의 위치를 변경할 수 있다. 3차원 모델 처리 장치(300)는, 3차원 모델과 결합이 불가능한 텍스트의 경우 추가되지 않도록 하여, 3차원 모델(320)에 대응되는 부분으로부터 3차원 텍스트 데이터(321)에 대응하는 부분의 적어도 일부가 분리되어 3차원 프린팅 되는 문제를 방지할 수 있다.
도 10은 일 실시 예에 따른 3차원 모델 처리 장치의 블록도를 도시한다.
도 10에 도시된 3차원 모델 처리 장치(300)는, 본 개시의 다양한 실시 예들에 따른 3차원 모델 처리 방법을 수행할 수 있으며, 도 1 내지 도 9에 대한 설명이 적용될 수 있다. 따라서, 상술한 바와 중복되는 내용은 생략한다.
일 실시 예에 따른 3차원 모델 처리 장치(300)는 3차원 스캔 장치 등의 외부 장치 또는 외부 서버와 유선 또는 무선 통신 네트워크를 통하여 연결되며, 대상체에 대한 3차원 모델을 획득할 수 있다.
3차원 모델 처리 장치(300)는, 획득된 3차원 모델에 기초하여, 대상체에 대한 3차원 영상을 생성, 처리, 디스플레이 및/또는 전송할 수 있는 모든 전자 장치가 될 수 있다. 본 개시의 다양한 실시 예들에 따른 3차원 모델 처리 장치(300)는 고정형 단말이거나 이동형 단말일 수 있다. 3차원 모델 처리 장치(300)는, 예를 들어, 스마트 폰(smart phone), 랩탑 컴퓨터, 데스크탑 컴퓨터, PDA, 태블릿 PC 등의 컴퓨팅 장치가 될 수 있으며, 이에 한정되지 않는다.
도 10을 참조하면, 3차원 모델 처리 장치(300)는 프로세서(310), 디스플레이(320), 통신 인터페이스(330), 사용자 입력부(340), 및 메모리(350)를 포함할 수 있다.
일 실시 예에 따른 프로세서(310)는 적어도 하나의 인스트럭션을 수행하여, 의도하는 동작을 수행하도록 3차원 모델 처리 장치(300)를 제어한다. 적어도 하나의 인스트럭션은 프로세서(310) 내에 포함되는 내부 메모리(미도시) 또는 별도의 메모리(350) 내에 저장되어 있을 수 있다.
일 실시 예에 따른 프로세서(310)는 적어도 하나의 인스트럭션을 수행하여, 의도하는 동작을 수행하도록 3차원 모델 처리 장치(300) 내부에 포함되는 적어도 하나의 구성들을 제어할 수 있다. 따라서, 프로세서(310)가 소정 동작을 수행하는 경우를 예로 들어 설명하더라도, 3차원 모델 처리 장치(300)에 포함하는 적어도 하나의 구성들이 소정 동작을 수행하도록 프로세서(310)가 적어도 하나의 구성들을 제어하는 것을 의미할 수 있다.
일 실시 예에 따른 프로세서(310)는 3차원 모델 처리 장치(300)의 외부에서부터 입력되는 신호 또는 데이터를 저장하거나, 3차원 모델 처리 장치(300)에서 수행되는 다양한 작업에 대응되는 저장 영역으로 사용되는 RAM(미도시), 3차원 모델 처리 장치(300)의 제어를 위한 제어 프로그램 및/또는 복수개의 인스트럭션이 저장된 ROM(미도시) 및 적어도 하나의 인스트럭션을 실행하는 적어도 하나의 내부의 프로세서(미도시)를 포함할 수 있다.
또한, 프로세서(310)는 비디오에 대응되는 그래픽 처리를 위한 그래픽 프로세서(Graphic Processing Unit, 미도시)를 포함할 수 있다. 또한, 프로세서(310)는 코어(core, 미도시)와 GPU(미도시)를 통합한 SoC(System On Chip)로 구현될 수 있다.
개시된 실시 예에서, 프로세서(310)는 구강에 대한 3차원 모델을 렌더링함으로써 영상을 생성할 수 있다. 예를 들어, 3차원 모델은, 복수의 치아들, 치은, 및 인공 구조물 중 적어도 하나를 포함하는 구강의 표면 형상 정보를 포함할 수 있다.
디스플레이(320)는 프로세서(310)에 제어에 따라서 소정 화면을 디스플레이 할 수 있다. 구체적으로, 디스플레이(320)는 3차원 모델을 포함하는 사용자 인터페이스 화면을 디스플레이 할 수 있다. 또는, 디스플레이(320)는 대상체에 대한 진단 및 치료와 관련되는 정보를 포함하는 사용자 인터페이스 화면을 디스플레이 할 수 있다.
통신 인터페이스(330)는 적어도 하나의 외부 전자 장치(미도시)또는 서버(미도시)와 유선 또는 무선 통신 네트워크를 통하여 통신을 수행할 수 있다.
사용자 입력부(340)는 3차원 모델 처리 장치(300)를 제어하기 위한 사용자 입력을 수신할 수 있다. 사용자 입력부(340)는 사용자의 터치를 감지하는 터치 패널, 사용자의 푸시 조작을 수신하는 버튼, 사용자 인터페이스 화면 상의 일 지점을 지칭 또는 선택하기 위한 마우스(mouse) 또는 키보드(key board) 등을 포함하는 사용자 입력 디바이스를 포함할 수 있으나 이에 제한되지 않는다.
또한, 사용자 입력부(340)는 음성 인식을 위한 음성 인식 장치(미도시)를 포함할 수 있다. 예를 들어, 음성 인식 장치(미도시)는 마이크가 될 수 있으며, 음성 인식 장치는 사용자의 음성 명령 또는 음성 요청을 수신할 수 있다. 그에 따라서, 프로세서(310)는 음성 명령 또는 음성 요청에 대응되는 동작이 수행되도록 제어할 수 있다.
메모리(350)는 프로세서(310)가 실행하는 적어도 하나의 인스트럭션을 저장할 수 있다. 또한, 메모리(350)는 프로세서(310)가 실행하는 적어도 하나의 프로그램을 저장하고 있을 수 있다. 메모리(350)는 외부 장치 또는 외부 서버로부터 수신되는 데이터(예를 들어, 대상체 스캔을 통하여 획득된 로우 데이터, 2차원 영상 데이터, 3차원 모델 등)를 저장할 수 있다. 메모리(350)는 대상체를 3차원적으로 나타내는 대상체 영상을 저장할 수 있다.
본 개시의 일 실시 예에 따른 프로세서(310)는, 메모리(350)에 저장된 프로그램을 실행함으로써 3차원 모델 처리 장치(300)의 전체적인 동작을 제어할 수 있다.
프로세서(310)가 3차원 모델 상에 텍스트를 추가하는 구체적인 방법에 대해서는 도 4에 대한 설명이 적용될 수 있고 중복되는 설명은 생략한다.
일 실시 예에 따른 프로세서(310)는, 내부 메모리 또는 외부 디바이스로부터 적어도 하나의 문자에 대응하는 3차원 텍스트 데이터를 획득할 수 있다. 프로세서(310)는, 적어도 하나의 문자를 입력하는 사용자 입력을 수신하고, 사용자 입력에 기초하여 적어도 하나의 문자를 나타내는 3차원 텍스트 데이터를 획득할 수 있다.
일 실시 예에 따른 프로세서(310)는, 적어도 하나의 문자에 대응하는 사용자 입력을 수신하고, 적어도 하나의 문자에 대응하는 윤곽선(contour) 데이터를 획득할 수 있다. 프로세서(310)는, 윤곽선 데이터에 포함되는 복수의 제1 정점들을 연결함으로써 2차원 메쉬 데이터를 획득할 수 있다. 프로세서(310)는, 2차원 메쉬 데이터를 제1 면으로 포함하고, 제1 면으로부터 소정 깊이만큼 이격된 제2 면을 포함하는 3차원 메쉬 데이터를 3차원 텍스트 데이터로서 획득할 수 있다.
일 실시 예에 따른 프로세서(310)는, 사용자 입력부(340)을 통해, 복수의 문자들을 포함하는 제1 문자열에 대응하는 사용자 입력을 수신할 수 있다. 프로세서(310)는, 제1 문자열에 포함되는 각 문자에 대응하는 윤곽선 데이터를 획득할 수 있다. 프로세서(310)는, 각 문자에 대응하는 윤곽선 데이터에 포함되는 복수의 제1 정점들을 연결함으로써 2차원 메쉬 데이터를 획득할 수 있다. 프로세서(310)는, 제1 문자열에 포함되는 각 문자에 대응하는 3차원 텍스트 데이터를 포함하는, 3차원 텍스트 데이터 세트를 획득할 수 있다.
일 실시 예에 따른 프로세서(310)는, 3차원 텍스트 데이터와 3차원 모델을 화면 상에 표시하도록 디스플레이(320)를 제어할 수 있다.
일 실시 예에 따른 프로세서(310)는, 3차원 모델을 렌더링 하여 디스플레이(320)의 화면 상에 표시할 수 있다. 프로세서(310)는, 3차원 모델이 표시된 화면 상에, 사용자에 의해 입력된 적어도 하나의 문자에 대응하는 3차원 텍스트 데이터를 추가로 표시하도록 디스플레이(320)를 제어할 수 있다.
일 실시 예에 따른 프로세서(310)는, 사용자 입력 또는 3차원 텍스트 데이터로부터 3차원 모델의 표면까지의 거리 중 적어도 하나에 기초하여, 3차원 공간 내에서 3차원 텍스트 데이터가 배치될 위치를 결정할 수 있다. 일 실시 예에 따른 프로세서(310)는, 3차원 텍스트 데이터의 X축 좌표값 및 Y축 좌표값을 결정할 수 있다. 일 실시 예에 따른 3차원 모델 처리 장치(300)는, 결정된 X축 좌표값 및 Y축 좌표값에 기초하여, 3차원 모델에 근접하여 위치하도록 3차원 텍스트 데이터의 Z축 좌표값을 결정할 수 있다.
일 실시 예에 따른 프로세서(310)는, 3차원 모델 상에 텍스트가 양각으로 입력되는 지 또는 음각으로 입력되는 지 여부에 기초하여 3차원 텍스트 데이터의 Z축 좌표값을 결정할 수 있다.
일 예로서, 3차원 모델 상에 텍스트가 양각으로 입력되는 경우, 프로세서(310)는, 3차원 텍스트 데이터의 제1 면과 제2 면이 3차원 모델의 외부에 위치하도록 3차원 텍스트 데이터의 위치를 결정할 수 있다. 프로세서(310)는, 3차원 텍스트 데이터의 제2 면에 포함된 정점들로부터 3차원 모델의 표면까지의 연직 거리들의 합이 최소인, 3차원 텍스트 데이터의 위치를 결정할 수 있다.
다른 예로서, 3차원 모델 내에 텍스트가 음각으로 입력되는 경우, 프로세서(310)는, 3차원 텍스트 데이터의 제1 면과 제2 면이 3차원 모델의 내부에 위치하도록 3차원 텍스트 데이터의 위치를 결정할 수 있다. 프로세서(310)는, 3차원 텍스트 데이터의 제2 면에 포함된 정점들로부터 3차원 모델의 표면까지의 연직 거리들의 합이 최소인, 3차원 텍스트 데이터의 위치를 결정할 수 있다.
또한, 프로세서(310)는, 3차원 텍스트 데이터의 노멀(normal) 벡터와 3차원 모델의 노멀 벡터에 기초하여, 3차원 텍스트 데이터의 각도를 결정할 수 있다.
일 실시 예에 따른 프로세서(310)는, 3차원 텍스트 데이터와 3차원 모델이 결합 가능한 지를 판단할 수 있다.
일 실시 예에 따른 프로세서(310)는, 소정 오프셋이 적용된 3차원 텍스트 데이터와 3차원 모델의 교차 여부에 기초하여, 3차원 텍스트 데이터와 3차원 모델이 결합 가능한 지를 판단할 수 있다. 오프셋이 적용된 3차원 텍스트 데이터는, 오프셋만큼 깊이가 추가된 3차원 텍스트 데이터를 포함할 수 있다.
일 실시 예에 따른 프로세서(310)는, 오프셋이 적용된 3차원 텍스트 데이터를 획득하기 위하여, 3차원 텍스트 데이터의 제2 면에 포함되는 제2 정점을 소정 오프셋만큼 이동시킬 수 있다. 프로세서(310)는, 3차원 텍스트 데이터의 제1 면의 제1 정점과 이동된 제2 정점을 연결하는 라인을 결정할 수 있다. 프로세서(310)는, 라인과 3차원 모델의 표면이 교차하는 지 여부를 판단할 수 있다. 프로세서(310)는, 3차원 텍스트 데이터의 제1 면의 제1 정점들과 소정 오프셋만큼 이동된 제2 정점들을 연결하는 라인들 중에서, 3차원 모델의 표면과 교차하는 라인들의 개수가 기준 값 이상인 지 여부를 판단하고, 판단 결과에 기초하여 3차원 텍스트 데이터와 3차원 모델이 결합 가능한 지를 판단할 수 있다. 예를 들어, 프로세서(310)는, 3차원 텍스트 데이터의 제1 면의 제1 정점들과 소정 오프셋만큼 이동된 제2 정점들을 연결하는 모든 라인들이 3차원 모델의 표면과 교차하는 경우, 3차원 텍스트 데이터와 3차원 모델이 결합 가능하다고 판단할 수 있다.
일 실시 예에 따른 프로세서(310)는, 판단 결과를 화면 상에 표시하도록 디스플레이(320)를 제어할 수 있다.
일 실시 예에 따른 프로세서(310)는, 3차원 텍스트 데이터와 3차원 모델이 결합 가능한 지 여부에 기초하여, 화면 상에 표시되는 3차원 텍스트 데이터의 색, 모양, 또는 밝기 중 적어도 하나를 결정할 수 있다.
일 실시예에 따른 프로세서(310)는, 3차원 텍스트 데이터의 제1 면의 제1 정점들과 소정 오프셋만큼 이동된 제2 정점들을 연결하는 라인들 중에서, 3차원 모델의 표면과 교차하는 라인들의 개수에 기초하여, 3차원 텍스트 데이터의 색, 모양, 또는 밝기 중 적어도 하나를 결정할 수 있다.
예를 들어, 프로세서(310)는, 3차원 텍스트 데이터의 제1 면의 제1 정점들과 소정 오프셋만큼 이동된 제2 정점들을 연결하는 라인들이 3차원 모델의 표면과 모두 교차하는 경우, 3차원 텍스트 데이터의 색상을 녹색으로 결정할 수 있다. 프로세서(310)는, 제1 정점들과 소정 오프셋만큼 이동된 제2 정점들을 연결하는 라인들이 3차원 모델의 표면과 모두 교차하지는 않지만 기준 값 이상 교차하는 경우, 3차원 텍스트 데이터의 색상을 연한 녹색으로 결정할 수 있다. 프로세서(310)는, 제1 정점들과 소정 오프셋만큼 이동된 제2 정점들을 연결하는 라인들이 3차원 모델의 표면과 적어도 하나는 교차하지만 기준 값 미만으로 교차하는 경우, 3차원 텍스트 데이터의 색상을 주황색으로 결정할 수 있다. 프로세서(310)는, 제1 정점들과 소정 오프셋만큼 이동된 제2 정점들을 연결하는 라인들이 3차원 모델의 표면과 하나도 교차하지 않는 경우, 3차원 텍스트 데이터의 색상을 빨간색으로 결정할 수 있다.
일 실시 예에 따른 프로세서(310)는, 3차원 텍스트 데이터와 3차원 모델이 결합 가능한 경우, 텍스트가 추가된 3차원 모델을 획득할 수 있다. 3 프로세서(310)는, 3차원 모델 상에 소정 오프셋이 적용된 상기 3차원 텍스트 데이터를 결합하거나, 3차원 모델로부터 소정 오프셋이 적용된 3차원 텍스트 데이터에 대응하는 데이터를 삭제함으로써, 텍스트가 추가된 3차원 모델을 획득할 수 있다.
상술한 본 개시의 다양한 실시 예들에 따른 3차원 모델 처리 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 또한, 본 개시의 실시 예에 따르면, 3차원 모델 획득 방법을 실행하는 적어도 하나의 인스트럭션을 포함하는 하나 이상의 프로그램이 기록된 컴퓨터로 읽을 수 있는 저장 매체가 제공될 수 있다.
상기 컴퓨터 판독 가능 저장 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 여기서, 컴퓨터 판독 가능 저장 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 구성된 하드웨어 장치가 포함될 수 있다.
여기서, 기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, '비일시적 저장매체'는저장 매체가 실재(tangible)하는 장치임을 의미할 수 있다. 또한, '비일시적 저장매체'는 데이터가 임시적으로 저장되는 버퍼를 포함할 수 있다.
일 실시 예에 따르면, 본 문서에 개시된 다양한 실시 예들에 따른 구강 영상의 디스플레이 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로 배포될 수 있다. 또는, 어플리케이션 스토어를 통해 또는 두개의 사용자 장치들(예: 스마트폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다.
이상에서 실시 예들에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속한다.

Claims (20)

  1. 대상체를 나타내는 3차원 모델 상에 텍스트를 추가하는 방법에 있어서,
    적어도 하나의 문자에 대응하는 3차원 텍스트 데이터를 획득하는 단계;
    상기 3차원 텍스트 데이터와 상기 3차원 모델을 화면 상에 표시하는 단계;
    소정 오프셋이 적용된 상기 3차원 텍스트 데이터와 상기 3차원 모델의 교차 여부에 기초하여, 상기 3차원 텍스트 데이터와 상기 3차원 모델이 결합 가능한 지를 판단하는 단계; 및
    상기 판단 결과를 화면 상에 표시하는 단계를 포함하는, 방법.
  2. 제1 항에 있어서,
    상기 3차원 텍스트 데이터를 획득하는 단계는,
    상기 적어도 하나의 문자에 관한 사용자 입력을 수신하는 단계;
    상기 적어도 하나의 문자에 대응하는 윤곽선 데이터를 획득하는 단계;
    상기 윤곽선 데이터에 포함되는 복수의 제1 정점들을 연결함으로써 2차원 메쉬 데이터를 획득하는 단계; 및
    상기 2차원 메쉬 데이터를 제1 면으로 포함하고, 상기 제1 면으로부터 소정 깊이만큼 이격된 제2 면을 포함하는 3차원 메쉬 데이터를 상기 3차원 텍스트 데이터로서 획득하는, 방법.
  3. 제1 항에 있어서,
    사용자 입력에 기초하여, 상기 3차원 텍스트 데이터의 위치를 결정하는 단계
    를 더 포함하는, 방법.
  4. 제1 항에 있어서,
    상기 화면 상에 표시된 상기 3차원 텍스트 데이터를 소정 위치로 드래그하는 사용자 입력을 수신하는 단계;
    상기 화면 상의 소정 위치에 기초하여 기준점을 결정하는 단계; 및
    상기 기준점으로부터 상기 3차원 모델의 표면까지의 거리에 기초하여, 상기 3차원 텍스트 데이터의 위치를 결정하는 단계를 더 포함하는, 방법.
  5. 제4 항에 있어서,
    상기 3차원 텍스트 데이터의 위치를 결정하는 단계는,
    상기 3차원 텍스트 데이터의 제1 면과 제2 면이 상기 3차원 모델의 외부에 위치하고, 상기 기준점으로부터 상기 3차원 모델의 표면까지의 거리가 최소인, 상기 3차원 텍스트 데이터의 위치를 결정하는 단계를 포함하는, 방법.
  6. 제4 항에 있어서,
    상기 3차원 텍스트 데이터의 위치를 결정하는 단계는,
    상기 3차원 텍스트 데이터의 제1 면과 제2 면이 상기 3차원 모델의 내부에 위치하고, 상기 기준점으로부터 상기 3차원 모델의 표면까지의 거리가 최소인, 상기 3차원 텍스트 데이터의 위치를 결정하는 단계를 포함하는, 방법.
  7. 제1 항에 있어서,
    상기 3차원 텍스트 데이터와 상기 3차원 모델이 결합 가능한 지를 판단하는 단계는,
    상기 3차원 텍스트 데이터의 제2 면에 포함되는 제2 정점을 상기 소정 오프셋만큼 이동시키는 단계;
    상기 3차원 텍스트 데이터의 제1 면의 제1 정점과 상기 이동된 제2 정점을 연결하는 라인을 결정하는 단계; 및
    상기 라인과 상기 3차원 모델의 표면이 교차하는 지 여부를 판단하는 단계를 포함하는, 방법.
  8. 제7 항에 있어서,
    상기 3차원 텍스트 데이터와 상기 3차원 모델이 결합 가능한 지를 판단하는 단계는,
    상기 3차원 텍스트 데이터의 상기 제1 면의 제1 정점들과 상기 소정 오프셋만큼 이동된 제2 정점들을 연결하는 라인들 중에서, 상기 3차원 모델의 표면과 교차하는 라인들의 개수가 기준 개수 이상인 경우, 상기 3차원 텍스트 데이터와 상기 3차원 모델이 결합 가능하다고 판단하는 단계를 더 포함하는, 방법.
  9. 제1 항에 있어서,
    상기 판단 결과를 화면 상에 표시하는 단계는,
    상기 3차원 텍스트 데이터와 상기 3차원 모델이 결합 가능한 지 여부에 기초하여, 상기 화면 상에 표시되는 상기 3차원 텍스트 데이터의 색, 모양, 또는 밝기 중 적어도 하나를 결정하는 단계를 포함하는, 방법.
  10. 제1 항에 있어서,
    상기 3차원 모델 상에 상기 소정 오프셋이 적용된 상기 3차원 텍스트 데이터를 결합하거나, 상기 3차원 모델로부터 상기 소정 오프셋이 적용된 상기 3차원 텍스트 데이터에 대응하는 데이터를 삭제함으로써, 텍스트가 추가된 3차원 모델을 획득하는 단계를 더 포함하는, 방법.
  11. 대상체를 나타내는 3차원 모델을 처리하는 장치에 있어서,
    적어도 하나의 문자에 대응하는 3차원 텍스트 데이터를 획득하는, 적어도 하나의 프로세서; 및
    상기 3차원 텍스트 데이터와 상기 3차원 모델을 표시하는 디스플레이를 포함하고,
    상기 적어도 하나의 프로세서는,
    소정 오프셋이 적용된 상기 3차원 텍스트 데이터와 상기 3차원 모델의 교차 여부에 기초하여, 상기 3차원 텍스트 데이터와 상기 3차원 모델이 결합 가능한 지를 판단하고,
    상기 판단 결과를 화면 상에 표시하도록 상기 디스플레이를 제어하는, 3차원 모델 처리 장치.
  12. 제11 항에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 적어도 하나의 문자에 관한 사용자 입력을 수신하고,
    상기 적어도 하나의 문자에 대응하는 윤곽선 데이터를 획득하고,
    상기 윤곽선 데이터에 포함되는 복수의 제1 정점들을 연결함으로써 2차원 메쉬 데이터를 획득하고,
    상기 2차원 메쉬 데이터를 제1 면으로 포함하고, 상기 제1 면으로부터 소정 깊이만큼 이격된 제2 면을 포함하는 3차원 메쉬 데이터를 상기 3차원 텍스트 데이터로서 획득하는, 3차원 모델 처리 장치.
  13. 제11 항에 있어서,
    상기 적어도 하나의 프로세서는,
    사용자 입력에 기초하여, 상기 3차원 텍스트 데이터의 위치를 결정하는, 3차원 모델 처리 장치.
  14. 제11 항에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 화면 상에 표시된 상기 3차원 텍스트 데이터를 소정 위치로 드래그하는 사용자 입력을 수신하고,
    상기 화면 상의 소정 위치에 기초하여 기준점을 결정하고,
    상기 기준점으로부터 상기 3차원 모델의 표면까지의 거리에 기초하여, 상기 3차원 텍스트 데이터의 위치를 결정하는, 3차원 모델 처리 장치.
  15. 제14 항에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 3차원 텍스트 데이터의 제1 면과 제2 면이 상기 3차원 모델의 외부에 위치하고, 상기 기준점으로부터 상기 3차원 모델의 표면까지의 거리가 최소인, 상기 3차원 텍스트 데이터의 위치를 결정하는, 3차원 모델 처리 장치.
  16. 제14 항에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 3차원 텍스트 데이터의 제1 면과 제2 면이 상기 3차원 모델의 내부에 위치하고, 상기 기준점으로부터 상기 3차원 모델의 표면까지의 거리가 최소인, 상기 3차원 텍스트 데이터의 위치를 결정하는, 3차원 모델 처리 장치.
  17. 제11 항에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 3차원 텍스트 데이터의 제2 면에 포함되는 제2 정점들을 상기 소정 오프셋만큼 이동시키고,
    상기 3차원 텍스트 데이터의 제1 면의 제1 정점들과 상기 이동된 제2 정점들을 연결하는 라인들 중에서, 상기 3차원 모델의 표면과 교차하는 라인들의 개수가 기준 개수 이상인 경우, 상기 3차원 텍스트 데이터와 상기 3차원 모델이 결합 가능하다고 판단하는, 3차원 모델 처리 장치.
  18. 제11 항에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 3차원 텍스트 데이터와 상기 3차원 모델이 결합 가능한 지 여부에 기초하여, 상기 화면 상에 표시되는 상기 3차원 텍스트 데이터의 색, 모양, 또는 밝기 중 적어도 하나를 결정하는, 3차원 모델 처리 장치.
  19. 제11 항에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 3차원 모델 상에 상기 소정 오프셋이 적용된 상기 3차원 텍스트 데이터를 결합하거나, 상기 3차원 모델로부터 상기 소정 오프셋이 적용된 상기 3차원 텍스트 데이터에 대응하는 데이터를 삭제함으로써, 텍스트가 추가된 3차원 모델을 획득하는, 3차원 모델 처리 장치.
  20. 3차원 모델 상에 텍스트를 추가하는 방법을 컴퓨터에 의해 수행하기 위한 적어도 하나의 인스트럭션을 포함하는 프로그램이 기록된 컴퓨터 판독 가능 기록 매체에 있어서, 상기 방법은,
    적어도 하나의 문자에 대응하는 3차원 텍스트 데이터를 획득하는 단계;
    상기 3차원 텍스트 데이터와 상기 3차원 모델을 화면 상에 표시하는 단계;
    소정 오프셋이 적용된 상기 3차원 텍스트 데이터와 상기 3차원 모델의 교차 여부에 기초하여, 상기 3차원 텍스트 데이터와 상기 3차원 모델이 결합 가능한 지를 판단하는 단계; 및
    상기 판단 결과를 화면 상에 표시하는 단계를 포함하는, 컴퓨터 판독 가능 기록 매체.
PCT/KR2022/009753 2021-07-06 2022-07-06 3차원 모델 상에 텍스트를 추가하는 방법 및 3차원 모델 처리 장치 WO2023282619A1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR20210088573 2021-07-06
KR10-2021-0088573 2021-07-06
KR10-2021-0135928 2021-10-13
KR1020210135928A KR20230007909A (ko) 2021-07-06 2021-10-13 3차원 모델 상에 텍스트를 추가하는 방법 및 3차원 모델 처리 장치

Publications (1)

Publication Number Publication Date
WO2023282619A1 true WO2023282619A1 (ko) 2023-01-12

Family

ID=84800794

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2022/009753 WO2023282619A1 (ko) 2021-07-06 2022-07-06 3차원 모델 상에 텍스트를 추가하는 방법 및 3차원 모델 처리 장치

Country Status (1)

Country Link
WO (1) WO2023282619A1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120123087A (ko) * 2010-01-13 2012-11-07 톰슨 라이센싱 3d 텍스트를 3d 콘텐츠와 결합하기 위한 시스템 및 방법
KR20130023005A (ko) * 2011-08-23 2013-03-07 삼성전자주식회사 3차원 폰트 엔진을 위한 장치 및 방법
KR20200116947A (ko) * 2018-03-01 2020-10-13 소니 주식회사 화상 처리 디바이스, 인코딩 디바이스, 디코딩 디바이스, 화상 처리 방법, 프로그램, 인코딩 방법, 및 디코딩 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120123087A (ko) * 2010-01-13 2012-11-07 톰슨 라이센싱 3d 텍스트를 3d 콘텐츠와 결합하기 위한 시스템 및 방법
KR20130023005A (ko) * 2011-08-23 2013-03-07 삼성전자주식회사 3차원 폰트 엔진을 위한 장치 및 방법
KR20200116947A (ko) * 2018-03-01 2020-10-13 소니 주식회사 화상 처리 디바이스, 인코딩 디바이스, 디코딩 디바이스, 화상 처리 방법, 프로그램, 인코딩 방법, 및 디코딩 방법

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
AZTECHNOLOGY: "Blender Basics Tutorial: A Video of Adding Text on a Cube (Rotation Logo)", YOUTUBE, XP093022618, Retrieved from the Internet <URL:https://www.youtube.com/watch?v=5tezXyV0Dc8> [retrieved on 20230209] *
BARON GRUTTER DDS: "3DBuilder - Adding Text or Logo to an Object", YOUTUBE, XP093022620, Retrieved from the Internet <URL:https://www.youtube.com/watch?v=8dBiETNLXvU> [retrieved on 20230209] *

Similar Documents

Publication Publication Date Title
WO2021242050A1 (ko) 구강 이미지의 처리 방법, 그에 따른 동작을 수행하는 구강 진단 장치, 및 그 방법을 수행하는 프로그램이 저장된 컴퓨터 판독 가능 저장 매체
WO2019164374A1 (ko) 전자 장치 및 아바타 기반의 커스텀 객체 운용 방법
WO2022085966A1 (ko) 구강 이미지 처리 장치 및 구강 이미지 처리 방법
WO2022092627A1 (ko) 3차원 모델로부터 대상체 영역을 결정하는 방법 및 3차원 모델 처리 장치
WO2022164175A1 (ko) 삼차원 구강 모델을 처리하는 방법 및 장치
WO2023282619A1 (ko) 3차원 모델 상에 텍스트를 추가하는 방법 및 3차원 모델 처리 장치
WO2021145713A1 (ko) 가상 모델 생성 장치 및 방법
WO2022065756A1 (ko) 구강 이미지 처리 장치, 및 구강 이미지 처리 방법
WO2023059167A1 (ko) 구강 이미지 처리 장치 및 구강 이미지 처리 방법
WO2021242053A1 (ko) 3차원 데이터 획득 방법, 장치 및 그 방법을 수행하는 프로그램이 저장된 컴퓨터 판독 가능 저장 매체
WO2023027500A1 (ko) 이미지 처리 장치, 및 이미지 처리 방법
WO2023038455A1 (ko) 구강 이미지를 처리하는 방법 및 데이터 처리 장치
WO2022014965A1 (ko) 구강 이미지 처리 장치 및 구강 이미지 처리 방법
WO2016148351A1 (ko) 의료 영상 재구성 장치 및 그 방법
WO2023059166A1 (ko) 구강 이미지를 처리하는 방법 및 데이터 처리 장치
WO2022203354A1 (ko) 삼차원 구강 모델 처리 장치 및 삼차원 구강 모델 처리 방법
WO2022225332A1 (ko) 구강 이미지 처리 장치 및 구강 이미지 처리 방법
WO2022098087A1 (ko) 데이터 처리 장치 및 데이터 처리 방법
WO2022035221A1 (ko) 구강 이미지 처리 장치 및 구강 이미지 처리 방법
WO2023003192A1 (ko) 이미지 처리 장치, 및 이미지 처리 방법
WO2022203236A1 (ko) 데이터 처리 장치 및 데이터 처리 방법
WO2018182066A1 (ko) 이미지에 동적 효과를 적용하는 방법 및 장치
WO2023063805A1 (ko) 구강 이미지 처리 장치, 및 구강 이미지 처리 방법
WO2023063767A1 (ko) 구강 이미지 처리 장치, 및 구강 이미지 처리 방법
WO2022265270A1 (ko) 이미지 처리 장치, 및 이미지 처리 방법

Legal Events

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

Ref document number: 22837971

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE