WO2023229348A1 - 텍스쳐 이미지 시뮬레이션 방법 및 그 장치 - Google Patents

텍스쳐 이미지 시뮬레이션 방법 및 그 장치 Download PDF

Info

Publication number
WO2023229348A1
WO2023229348A1 PCT/KR2023/007019 KR2023007019W WO2023229348A1 WO 2023229348 A1 WO2023229348 A1 WO 2023229348A1 KR 2023007019 W KR2023007019 W KR 2023007019W WO 2023229348 A1 WO2023229348 A1 WO 2023229348A1
Authority
WO
WIPO (PCT)
Prior art keywords
canvas
texture
shift
user input
size
Prior art date
Application number
PCT/KR2023/007019
Other languages
English (en)
French (fr)
Inventor
함형기
한효섭
Original Assignee
(주)클로버추얼패션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주)클로버추얼패션 filed Critical (주)클로버추얼패션
Priority to CN202380013141.4A priority Critical patent/CN117795556A/zh
Priority claimed from KR1020230066416A external-priority patent/KR20230163311A/ko
Publication of WO2023229348A1 publication Critical patent/WO2023229348A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/12Geometric CAD characterised by design entry means specially adapted for CAD, e.g. graphical user interfaces [GUI] specially adapted for CAD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/40Filling a planar surface by adding surface attributes, e.g. colour or texture
    • 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 following embodiments relate to a texture image simulation method and device.
  • Regular patterns or patterns may be applied to clothing.
  • these patterns or patterns can be expressed as textures, and the textures can be stored as basic unit data called tiles. Accordingly, in order to advance clothing simulation, technology for freely editing and creating repeating patterns included in texture tiles is required.
  • a simulation method for editing the texture of clothing includes the steps of displaying a two-dimensional canvas corresponding to a basic area of the texture, displaying a two-dimensional texture image on the canvas, and displaying the texture image on the canvas.
  • receiving a first user input for repeatedly displaying determining a spacing parameter between texture images based on the first user input, the size of the canvas, and the size of the texture image, and the determined spacing. It may include displaying the texture images on the canvas based on parameters.
  • a step of applying and displaying the canvas-based texture to the 3D clothing may be further included.
  • a step of reflecting and displaying the canvas-based texture on the 3D clothing in real time may be further included.
  • the first user input includes at least one of a first repetition number of repeating the texture image in the canvas in a predetermined first direction and a second repetition number of repeating the texture image in the bus in a predetermined second direction. can do.
  • the step of determining the spacing parameter includes, when the first repetition number is input, the size of the canvas in the first direction, the size of the texture image in the first direction, and the first direction based on the first repetition number. determining an interval parameter and when the second repetition number is input, the second direction based on the size of the canvas in the second direction, the size of the texture image in the second direction, and the second repetition number. It may include at least one step of determining an interval parameter.
  • Determining the spacing parameter may include calculating a distance to evenly distribute a plurality of texture images according to the first user input within the canvas.
  • determining whether the interval parameter is determined to be a negative number determining whether the interval parameter is determined to be a negative number; and, based on the determination that the interval parameter is determined to be a negative number, adding the texture image to both ends of the plurality of texture images according to the first user input, respectively. It can be included.
  • the method may further include receiving an input for changing the size of the texture image displayed on the canvas and updating the interval parameter based on the changed size.
  • the method may further include receiving an input for rotating the texture image displayed on the canvas, updating the size of the rotated texture image, and updating the interval parameter based on the changed size.
  • the step of determining a shift parameter may be further included.
  • Displaying the texture images on the canvas may include displaying the texture images on the canvas based on the determined spacing parameter and the determined shift parameter.
  • the second user input includes a first shift index that adjusts the degree to shift the repeating pattern in the canvas in a predetermined first direction and a second shift index that adjusts the degree to shift the repeating pattern in the canvas in a predetermined second direction. It may contain at least one of the indices.
  • the step of determining the shift parameter includes, when the first shift index is input, the number of repetitions in the second direction included in the first user input, the size of the first direction of the texture image, and the number of repetitions in the first direction. determining a shift parameter in the first direction based on an interval parameter and the first shift index, and when the second shift index is input, the number of repetitions in the first direction included in the first user input, The method may include determining a shift parameter in the second direction based on a size of the texture image in the second direction, an interval parameter in the second direction, and the second shift index.
  • the first shift index is set smaller than the number of repetitions in the second direction included in the first user input
  • the second shift index is set smaller than the number of repetitions in the first direction included in the first user input. It can be.
  • a step of rotating and displaying may be further included.
  • a simulation device displays a memory for storing a computer program for executing a simulation method for editing the texture of a costume, a display, and a two-dimensional canvas corresponding to the basic area of the texture, and a two-dimensional canvas on the canvas.
  • it may include at least one processor that determines a spacing parameter between texture images and controls the display to display the texture images on the canvas based on the determined spacing parameter.
  • the first user input may include at least one of a first repetition number of the texture image in the canvas in a predetermined first direction and a second repetition number of the texture image in the canvas in a predetermined second direction.
  • the at least one processor When the first repetition number is input, the at least one processor performs the operation in the first direction based on the size of the canvas in the first direction, the size of the texture image in the first direction, and the first repetition number.
  • the size of the canvas in the second direction is based on the size of the texture image in the second direction and the second repetition number.
  • the spacing parameters can be determined.
  • the at least one processor receives a second user input for shifting a pattern in which the texture images are repeated, and based on the first user input, the second user input, and the size of the texture image, A shift parameter of a pattern may be determined, and the display may be controlled to display the texture images on the canvas based on the determined spacing parameter and the determined shift parameter.
  • the second user input includes a first shift index that adjusts the degree to shift the repeating pattern in the canvas in a predetermined first direction and a second shift index that adjusts the degree to shift the repeating pattern in the canvas in a predetermined second direction. It can contain at least one of the indices.
  • the at least one processor When the first shift index is input, the at least one processor operates based on the number of repetitions in the second direction included in the first user input, the size of the first direction of the texture image, and the first shift index. Determine a shift parameter in the first direction, and when the second shift index is input, the number of repetitions in the first direction included in the first user input, the size of the second direction of the texture image, and the The shift parameter in the second direction may be determined based on the second shift index.
  • 1 is an operation flowchart for explaining a simulation method according to an embodiment.
  • FIG. 2 is a diagram illustrating a method of generating a repetitive texture image according to an embodiment.
  • 3 to 5 schematically show a simulation example of repeatedly generating a texture image according to an embodiment.
  • Figures 6 and 7 are diagrams to explain a method of simulation by applying rotation according to an embodiment.
  • Figures 8 to 10 schematically show a simulation example of repeatedly generating a texture image when the interval parameter is a negative number, according to an embodiment.
  • Figures 11 to 15 schematically show a simulation example of repeatedly generating a texture image by applying a shift according to an embodiment.
  • Figure 16 is a schematic example to explain a texture image transform function according to an embodiment.
  • Figure 17 is a block diagram for explaining an electronic device according to an embodiment.
  • first or second may be used to describe various components, but these terms should be understood only for the purpose of distinguishing one component from another component.
  • a first component may be named a second component, and similarly, the second component may also be named a first component.
  • 1 is an operation flowchart for explaining a simulation method according to an embodiment.
  • FIG. 1 may be performed in the order and manner shown, but the order of some operations may be changed or some operations may be omitted without departing from the spirit and scope of the illustrated embodiment. Multiple operations shown in Figure 1 may be performed in parallel or simultaneously.
  • a simulation device (e.g., electronic device 1700 of FIG. 17) according to an embodiment may display a two-dimensional canvas corresponding to the basic area of the texture.
  • Simulation devices can be implemented in various types of products such as personal computers, laptop computers, tablet computers, smart phones, wearable devices, cloud computers, and SaaS.
  • the canvas may be an area that represents tiles, which are the basic areas of texture in clothing simulation.
  • the simulation device may display a two-dimensional texture image on the canvas.
  • a texture image is visual data that is the basis of a repeating pattern and may include, for example, logos, patterns, shapes, graphics, etc.
  • the simulation device may receive a first user input for repeatedly displaying a texture image on the canvas.
  • the first user input may include at least one of a first repetition number of repeating the texture image in the canvas in a predetermined first direction and a second repetition number of repeating the texture image in the canvas in a predetermined second direction.
  • the first direction may correspond to the x-axis direction of the canvas
  • the second direction may correspond to the y-axis direction of the canvas.
  • the simulation device may determine the spacing parameter between texture images based on the first user input, the size of the canvas, and the size of the texture image.
  • the simulation device may calculate a distance to evenly distribute a plurality of texture images according to the first user input within the canvas.
  • the simulation device may determine the size of the canvas in the first direction, the size of the texture image in the first direction, and the spacing parameter in the first direction based on the first repetition number.
  • the simulation device may determine the size of the canvas in the second direction, the size of the texture image in the second direction, and the spacing parameter in the second direction based on the second repetition number.
  • the simulation device may determine whether the interval parameter is determined to be a negative number.
  • the simulation device may add texture images to both ends of the plurality of texture images according to the first user input, depending on the determination that the interval parameter is determined to be a negative number.
  • the simulation device can add at least one texture image to both ends of a plurality of texture images when the spacing parameter is determined to be a negative number, and the number of texture images added is determined by the size of the texture image and the spacing parameter. It may vary depending on the ratio.
  • the simulation device may receive a second user input to shift a pattern in which texture images are repeated. For example, as texture images are repeated in the x-axis and y-axis directions within the canvas, a repeating pattern forming rows and columns may be formed. At this time, the simulation device may shift the starting point of the pattern between adjacent rows or between adjacent columns.
  • the simulation device may determine the shift parameter of the pattern based on the first user input, the second user input, and the size and spacing parameters of the texture image.
  • the simulation device divides the basic distance of the repetition pattern defined by the size and spacing parameters of the texture image by the number of repetitions according to the first user input, and divides the next row by the division distance indicated by the second user input among several division distances. Alternatively, you can shift the pattern starting point of the column.
  • the second user input is at least one of a first shift index that adjusts the degree to shift the repeating pattern in the canvas in a predetermined first direction and a second shift index that adjusts the degree to shift the repeating pattern in the canvas in a predetermined second direction. It can contain one.
  • the first shift index may be set to be smaller than the number of repetitions in the second direction included in the first user input.
  • the second shift index may be set to be smaller than the number of repetitions in the first direction included in the first user input.
  • the simulation device calculates the number of repetitions in the second direction included in the first user input, the size of the texture image in the first direction, the spacing parameter in the first direction, and the first shift index. Based on this, a shift parameter in the first direction may be determined.
  • the simulation device when the second shift index is input, the simulation device performs the calculation based on the number of repetitions in the first direction included in the first user input, the size of the second direction of the texture image, the interval parameter in the second direction, and the second shift index.
  • the shift parameter in the second direction can be determined.
  • the simulation device may receive an input that changes the size of the texture image displayed on the canvas.
  • the simulation device may update the spacing parameter based on the changed size.
  • the simulation device may receive an input for rotating the texture image displayed on the canvas.
  • the simulation device can change the size of the rotated texture image.
  • the simulation device may update the spacing parameter based on the changed size.
  • the simulation device may display texture images on the canvas based on the determined spacing parameter.
  • the simulation device may display texture images on the canvas based on the determined spacing parameter and/or the determined shift parameter.
  • a simulation device can display a canvas-based texture by applying it to 3D clothing.
  • the simulation device may display a texture editing interface through a canvas in one area of the display, and display a simulation interface of a three-dimensional clothing with a tile corresponding to the canvas applied as a texture in another area of the display. Additionally, when texture editing is performed through the canvas of one area by a user's selection input, the simulation device can display the result of texture editing in real time on the 3D clothing displayed in another area.
  • the simulation device may display an interfacing object that moves, scales, and/or rotates the repeating pattern included in the canvas as a whole.
  • the simulation device may display a repeating pattern included in the canvas by moving, scaling, and/or rotating the entire pattern in response to user input through the interfacing object.
  • the simulation device may update the repeating pattern by updating the spacing parameter and/or shift parameter.
  • the simulation device may regard the predetermined repeating pattern as one image and edit (move, scale, and/or rotate) the whole, instead of editing individual texture images.
  • FIG. 2 is a diagram illustrating a method of generating a repetitive texture image according to an embodiment.
  • FIG. 1 can be equally applied to FIG. 2, and overlapping content can be omitted.
  • One or more blocks and combinations of blocks in FIG. 2 may be implemented by a special-purpose hardware-based computer that performs a specific function, or a combination of special-purpose hardware and computer instructions.
  • the processor 1710 (shown in FIG. 17) stores a canvas 210, a texture image 220 (hereinafter referred to as image 220), and a number of repetitions in the three-dimensional virtual space 200.
  • the applied image 240 can be simulated. Additionally, the processor 1710 may derive the interval parameter 230 based on the first user input.
  • the processor 1710 may set the first direction as the x-axis direction and the second direction as the y-axis direction.
  • the first user input may include a first repetition number (Step(x)) and a second repetition number (Step(y)) input.
  • Step(x) may be the number of images 220 repeated in one row (x-axis)
  • Step(y) may be the number of images 220 repeated in one column (y-axis).
  • Step(x): 5 may be a command to create an image so that the image 230 is repeated 5 times in the x-axis direction (i.e., the image is repeated 5 times in one row).
  • Step(y): 5 may be a command that creates an image so that the image 230 is repeated 5 times in the y-axis direction (that is, the image is repeated 5 times in one column).
  • the processor 1710 may determine the spacing parameter in the first direction (x-axis direction) as shown in Equation 1 below.
  • the processor 1710 may determine the spacing parameter in the second direction (y-axis direction) as shown in Equation 2 below.
  • the processor 1710 may receive an input to repeat the image 220 in the first direction (x-axis direction) according to the first user input.
  • the processor 1710 receives the first user input of Step(x): 5
  • the spacing parameter 230 in the first direction may be determined based on the first user input, the size of the canvas, and the size of the texture image.
  • the processor 1710 may generate an image 240 to which the number of repetitions is applied.
  • the image 240 to which the number of repetitions is applied was created by applying the interval parameter to the right side of the image, but it is not limited to the illustrated embodiment and can also be created by applying it to the left side.
  • the embodiment shown in FIG. 2 is an image to which only Step(x) is applied, and an image to which the number of repetitions is applied can be created by applying the interval parameter above and/or below the image to which Step(y) is applied.
  • 3 to 5 schematically show a simulation example of repeatedly generating a texture image according to an embodiment.
  • One or more blocks and combinations of blocks in FIGS. 3 to 5 may be implemented by a special-purpose hardware-based computer that performs a specific function, or a combination of special-purpose hardware and computer instructions.
  • FIGS. 1 and 2 may also be applied to FIGS. 3 to 5, and overlapping content may be omitted. Items described with the same reference numerals as those in FIGS. 1 and 2 only have the same meaning as the same components and are not limited to the described embodiments.
  • the processor 1710 may display a texture editor 310 in the three-dimensional virtual space 300.
  • the texture editor 310 may include a canvas 210, an image 220, and a tile function 320.
  • the texture editor 310 may further include at least one of a transform function 330, a color function 340, and a layer function 350.
  • the texture editor 310 may provide an extended canvas 211 that exemplarily displays a portion exceeding the size of the canvas 210 set by the user.
  • a tile refers to the basic area of a texture and may be a rectangular area for displaying a two-dimensional canvas.
  • the processor 1710 can simulate the 3D clothing 311 by applying a texture modified according to the texture editor 310 in the 3D virtual space 300.
  • the processor 1710 receives the user's selection input for the toggle button 321 of the tile function 320 and uses the step function 322 and shift function 323 in the texture editor. It can be displayed in .
  • the Step function 322 and the Shift function 323 are not necessarily displayed according to the input of the toggle button 321, and may be displayed at all times.
  • Step function 322 includes Step(x), which receives a first repetition number input for the x-axis, and Step(y), which receives a second repetition number input for the y-axis. It can be displayed.
  • the processor 1710 may determine the first interval parameter and the second interval parameter according to the received first and second repetition numbers. Once the first spacing parameter and the second spacing parameter are determined, the processor 1710 may display the image 240 to which the repetition number is applied on the canvas 210, as shown in FIG. 5 . Additionally, the processor 1710 may display an example of a case where the image 240 to which the number of repetitions is applied is expanded on the expanded canvas 211.
  • the shift function 323 can be explained in detail with FIGS. 11 to 15 described later.
  • the transform function 330 can be described in detail with reference to FIG. 16 described later.
  • the color function 340 may include a function for adjusting the color of the image 220 and a function for adjusting the opacity of the image 220.
  • the color of the image 220 may include a function to adjust the color by adjusting RGB values.
  • Opacity may include the ability to adjust from 0 to 100.
  • the layer function 350 may provide a function to select a list of images 220 to be included in the canvas 210.
  • the processor 1710 may receive a user's input for the pointer 221 included in the bounding box of the image 220 to expand or reduce the size of the image 220. If the size of the image 220 changes, the processor 1710 may update the interval parameter according to the changed size of the image 220. The processor 1710 may update and display the image 240 to which the repetition number displayed on the canvas 210 is applied based on the updated interval parameter.
  • the processor 1710 may generate the image 240 by forming a repeating pattern based on the position of the image 220.
  • the position of the image 220 on the canvas may be changed according to the user's input, and in this case, a repeating pattern may be formed in the x-axis and y-axis directions based on the changed position.
  • a phenomenon may occur where part of the image 220 that is repeated at the border of the canvas is cut off.
  • the processor 1710 places a part of the image 220 cut off at one border of the canvas on the other border, thereby extending the canvas and the border. You can ensure that the continuity of repeating patterns is maintained between canvases.
  • Figures 6 and 7 are block diagrams to explain a method of simulation by applying rotation according to an embodiment.
  • FIGS. 6 and 7 may be implemented by a special-purpose hardware-based computer that performs a specific function, or a combination of special-purpose hardware and computer instructions.
  • the processor 1710 inputs the user's selection for the rotation pointer 622 included in the bounding box of the image 620 (e.g., the image 220 of FIGS. 2 to 5). can receive.
  • the processor 1710 may display the rotated image 620-1 on the canvas 210 according to the rotation of the image 620 by the user's selection input.
  • the processor 1710 may display the image 640 to which the existing repetition number was applied before rotation as an image 640-1 to which the repetition number was applied after rotation.
  • the processor 1710 may update the image size of the rotated image 620-1 to a newly defined image size.
  • the image width and image height of the image 620 are defined as the horizontal length of the image and the vertical length of the image.
  • the processor 1710 may define the image width of the rotated image 620-1 as the difference between the maximum value and the minimum value when the rotated image 620-1 is placed on the x-y axis coordinates.
  • the processor 1710 may define the image height of the rotated image 620-1 as the difference between the maximum value and the minimum value when the rotated image 620-1 is placed on the x-y axis coordinates.
  • the processor 1710 based on the image width and image height of the newly defined rotated image 620-1.
  • the interval parameter 630 can be updated.
  • the processor 1710 may simulate the image 640-1 to which the number of repetitions after rotation is applied to the canvas 610 based on the updated interval parameter 630-1.
  • Figures 8 to 10 schematically show a simulation example of repeatedly generating a texture image when the interval parameter is a negative number, according to an embodiment.
  • FIGS. 1 to 5 may be equally applied to the description referring to FIGS. 8 to 10 , and overlapping content may be omitted.
  • FIGS. 8 to 10 may be implemented by a special-purpose hardware-based computer that performs a specific function, or a combination of special-purpose hardware and computer instructions.
  • the processor 1710 may simulate the image 240-2 to which the number of repetitions is applied when the interval parameter 230-2 is determined to be a negative number. If the spacing parameter 230-2 is determined to be a negative number, the image 220 included in the tile may be interrupted at the border of the canvas 210. At this time, the processor 1710 may add one image 220 to both ends of the image 240-2. The processor 1710 may add the image 220 to generate an image 240-2 to which the repetition number is applied.
  • the processor 1710 can determine the number of images 220 to be added to each end through Equation 3 below.
  • Natural number operation refers to a rounding down operation that takes only the natural number part of the calculated value. For example, if the calculated value before the (natural number) operation is 2.5, when the (natural number) operation is performed, the number of images to be added becomes 2.
  • the size of the image can be either the width of the image or the height of the image.
  • the image size may mean the image width.
  • the image size may mean the image height.
  • the processor 1710 may determine the spacing parameter in the first direction to be -1 according to Equation 1 described above. Additionally, since the number of images to be added calculated according to Equation 3 is 1, the processor 1710 can add one image 220 to both ends. When the spacing parameter in the first direction is determined to be a negative number, the processor 1710 may simulate the image 240-2 to which the number of repetitions is applied, including the overlapping portion between the images 220.
  • the image 220 included in the tile may be cut off at the border of the canvas 210 .
  • the processor 1710 may add one image 220 to both ends of the image 240-2.
  • the processor 1710 may add the image 220 to generate an image 240-2 to which the repetition number is applied.
  • the (natural number) operation unlike Equation 3 above, means a decimal rounding operation that takes only the natural number part of the calculated value. For example, if the calculated value before the (natural number) operation is 2.5, when the (natural number) operation is performed when the interval is a positive number, the number of images to be added may be 3.
  • a simulation as shown in FIG. 9 may be performed when the interval parameter 230-2 is a positive or negative number.
  • the processor 1710 may adjust the number of images to prevent the image 220 included in the tile from being cut off at the boundary of the canvas 210. This is adjusted by increasing the number of images 220 when the interval parameter 230-2 is a positive or negative number.
  • the processor 1710 increases the number of images 220 in both directions of a random image 220.
  • a simulation can be performed. Accordingly, the processor 1710 can provide the user with an uninterrupted experience of the image 220 included in the tile within the canvas 210.
  • the processor 1710 may simulate an image 940 - 2 to which a first repetition number in the first direction (x-axis direction) is applied to the canvas 210 .
  • the processor 1710 creates an image 1040-2 to which a first repetition number in the first direction (x-axis direction) and a second repetition number in the second direction (y-axis direction) are applied to the canvas 210. ) can be simulated.
  • Figures 11 to 15 schematically show a simulation example of repeatedly generating a texture image by applying a shift according to an embodiment.
  • FIGS. 1 to 5 Descriptions referring to FIGS. 1 to 5 may be equally applied to FIGS. 11 to 15, and overlapping content may be omitted.
  • the processor 1710 receives a first user input (Step function 322), repeats four repetitions (Step(x): 4) in the first direction and a second user input for the image 220.
  • the image 240-3 with the number of repetitions applied to the canvas 210 can be simulated by performing four repetitions (Step(y): 4) in each direction.
  • Image 220 in the texture may be repeated in a first direction or may be repeated in a second direction.
  • repeated unit images may be repeated in rows or columns.
  • Shift may refer to the operation of moving a row or column at a certain interval in a certain direction.
  • a first direction shift may mean an operation of moving the position of another row in the first direction by a certain distance based on a specific row.
  • second direction shift may mean an operation of moving the position of another column in the second direction by a certain distance based on a specific column.
  • shifting may mean placing the starting points of texture images in different rows or columns differently to create a visual effect where the texture images appear staggered.
  • the processor 1710 may receive a second user input to shift the pattern in which the images 220 are repeated.
  • the processor 1710 may determine the shift parameter of the pattern based on the first user input, the second user input, and the size and spacing parameters of the image.
  • the shift parameter of the pattern may include a shift parameter in the first direction (x-axis direction) and a shift parameter in the second direction (y-axis direction).
  • the second user input is at least one of a first shift index that adjusts the degree to shift the repeating pattern in the canvas in a predetermined first direction and a second shift index that adjusts the degree to shift the repeating pattern in the canvas in a predetermined second direction. It can contain one.
  • the processor 1710 may limit the first shift index in the second user input to be less than or equal to the number of repetitions in the second direction, and limit the second shift index to be less than or equal to the number of repetitions in the first direction.
  • the first shift index can be expressed as Shift(x).
  • the second shift index can be expressed as Shift(y).
  • the processor 1710 can determine the shift parameter through Equations 4 and 5 below.
  • X-Shift Pixel Value ((Image Width + Spacing Parameter)/Number of Y-Steps)*X-Shift Value
  • Y-Shift Pixel Value ((Image Height + Interval Parameter)/Number of X-Steps)*Y-Shift Value
  • X-shift is a shift in the first direction (x-axis direction)
  • Y-shift is a shift in the second direction (y-axis direction)
  • X-Step number is the first repetition number
  • Y -Step number is the second repetition number
  • X-shift pixel value is the first shift parameter
  • Y-shift pixel value is the second shift parameter
  • X-shift value is the first shift index
  • Y-shift value is the second shift index.
  • the processor 1710 may determine the interval parameter to be 2. After the image to which the repetition count is applied is generated, it is assumed that the processor 1710 receives an input with a first shift index of 1 (Shift(x): 1) according to the second user input. Applying Equation 4, the processor 1710 may determine the first shift parameter (X-shift pixel value) to be 1.5. Once the first shift parameter is determined, the processor 1710 may simulate the image 240-4 to which the shift has been applied according to the first shift standard 1201 based on the first shift parameter.
  • the second row is moved in parallel in the x-axis direction by 1.5
  • the third row is moved in parallel in the x-axis direction by 3
  • the This is an image in which row 4 has been shifted in parallel by 4.5.
  • the processor 1710 may determine the interval parameter to be 2. After the image to which the repetition number is applied is generated, it is assumed that the processor 1710 receives an input with a first shift index of 2 (Shift(x): 2) according to the second user input. Applying Equation 4, the processor 1710 may determine the first shift parameter (X-shift pixel value) to be 3. Once the first shift parameter is determined, the processor 1710 may simulate the image 240-5 to which the shift has been applied according to the first shift standard 1301 based on the first shift parameter.
  • a first shift index of 2 Shift(x): 2
  • the processor 1710 may determine the first shift parameter (X-shift pixel value) to be 3. Once the first shift parameter is determined, the processor 1710 may simulate the image 240-5 to which the shift has been applied according to the first shift standard 1301 based on the first shift parameter.
  • the processor 1710 may perform a second direction shift (y-axis direction shift) by applying the above-described examples to the y-axis direction.
  • the processor 1710 repeats the image at both ends of the corresponding direction (first direction or second direction). You can prevent the image from being interrupted by adding the number of times (the first repetition number or the second repetition number).
  • the processor 1710 maintains the second user input if the second user input is smaller than the first user input, and the second user input If the input is greater than the first user input, the second user input can be set to be smaller than the first user input.
  • a policy for automatically decreasing the shift index as the corresponding number of repetitions decreases can be set in various ways. For example, when the shift index in the first direction is 4 and the number of repetitions in the second direction changes from 5 to 3, the shift index in the first direction must be less than or equal to the number of repetitions in the second direction, so the processor 1710 The shift index in the first direction may be set to 3. Alternatively, in the same situation, the processor 1710 may set the shift index in the first direction to 2, which is less than the maximum allowable value of 3.
  • the simulation device shifts the image 240 to which the number of repetitions is applied to the canvas 210 and the three-dimensional virtual space 300 in response to the user's selection input for the shift function 323. Results can be simulated.
  • FIGS. 16A and 16B are schematic examples to explain a texture image transform function according to an embodiment.
  • FIGS. 1 to 5 Descriptions referring to FIGS. 1 to 5 may also be applied to FIGS. 16A and 16B, and overlapping content may be omitted.
  • the simulation device may simulate a 3D virtual clothing 1610 including a repetitive pattern included in a canvas in a 3D virtual space 1600.
  • the simulation device may globally move, scale, and/or rotate the repeating pattern included in the canvas through an interfacing object (e.g., gizmo) 1620.
  • the interfacing object 1620 may include a center point pointer for moving the repeating patterns, eight triangle-shaped objects for scaling the repeating patterns, and a circle-shaped object for rotation.
  • the eight triangle-shaped objects are located diagonally of the interfacing object 1620 that scales the width and height at the same rate, and the four triangle-shaped objects are located up, down, left, and right of the interfacing object 1620 that scales only in the width or height direction. It can contain four triangular shaped objects.
  • the shapes of the above-described objects and pointers are not limited to the described embodiments, and the size and shape may be changed to other appropriate shapes.
  • the interfacing object 1620 may also be rotated by the same rotation angle.
  • the simulation device may receive a user selection input for a specific costume in a 3D costume simulation.
  • the simulation device may indicate that the corresponding clothing (or pattern) has been selected by visualizing the boundary line of the selected clothing (or pattern).
  • the simulation device may display an interfacing object 1620 for modifying the selected clothing (or pattern) on the screen.
  • the interfacing object 1620 may be expressed in various forms depending on the modification function.
  • the interfacing object 1620 includes a top, bottom, left and right sizing interfacing object 1620-1, a top and bottom sizing interfacing object 1620-2, and a left and right sizing interfacing object 1620-3, as shown in FIG. 16B. and a rotation interfacing object 1620-4.
  • the up, down, left, and right sizing interfacing object 1620-1 may be an interfacing object in which the northeast direction arrow, northwest direction arrow, southeast direction arrow, and southwest direction arrow in the interfacing object 1620 are visualized in different colors.
  • the user can enlarge or reduce the top, bottom, left, and right size of the texture by using the top, bottom, left, and right size adjustment interfacing object 1620-1.
  • unit images included in the texture can be enlarged or reduced while maintaining the width and height ratio.
  • the vertical sizing interfacing object 1620-2 may be an interfacing object in which the north direction arrow and the south direction arrow in the interfacing object 1620 are visualized in different colors.
  • the user can enlarge or reduce the vertical size of the texture using the vertical size adjustment interfacing object 1620-2. For example, the width of unit images included in a texture may be maintained while only the height may be increased or decreased.
  • the left and right resizing interfacing object 1620-3 may be an interfacing object in which the west direction arrow and the east direction arrow in the interfacing object 1620 are visualized in different colors.
  • the user can enlarge or reduce the left and right size of the texture using the left and right size adjustment interfacing object 1620-3. For example, only the width of the unit images included in the texture may be increased or decreased while the height is maintained.
  • the rotation interfacing object 1620-4 may be an interfacing object in which the circular interfacing object in the interfacing object 1620 is visualized in different colors.
  • the user can rotate the texture using the rotation interfacing object 1620-4.
  • the simulation device may rotate unit images included in the texture based on user input.
  • Figure 17 is a block diagram for explaining an electronic device according to an embodiment.
  • an electronic device 1700 includes a memory 1720, a processor 1710, a display 1750, and a communication interface 1730.
  • the memory 1720, processor 1710, and communication interface 1730 may be connected to each other through a communication bus 1740.
  • the memory 1720 can store various information generated during the processing of the processor 1710 described above. In addition, the memory 1720 can store various data and programs. Memory 1720 may include volatile memory or non-volatile memory. The memory 1720 may be equipped with a high-capacity storage medium such as a hard disk to store various data.
  • Display 1750 displays at least a portion of the three-dimensional virtual costume provided by processor 1710. Additionally, the display 1750 can display various embodiments of a two-dimensional texture image and a two-dimensional canvas under the control of the processor 1710.
  • the processor 1710 may be a device implemented in hardware that has a circuit with a physical structure for executing desired operations.
  • the intended operations may include code or instructions included in the program.
  • classification devices implemented in hardware include microprocessors, central processing units (CPUs), graphics processing units (GPUs), processor cores, and multi-core processors. It may include a multi-core processor, multiprocessor, ASIC (Application-Specific Integrated Circuit), FPGA (Field Programmable Gate Array), NPU (Neural Processing Unit), etc.
  • the processor 1710 can execute programs. Program code executed by the processor 1710 may be stored in the memory 1720.
  • the embodiments described above may be implemented as processing devices based on hardware components, software components, and/or a combination of hardware components and software components.
  • the devices, methods, and components described in the embodiments include a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA), and a PLU.
  • ALU arithmetic logic unit
  • FPGA field programmable gate array
  • PLU arithmetic logic unit
  • the processing device may execute an operating system (OS) and one or more software applications running on the operating system.
  • OS operating system
  • a processing device may access, store, manipulate, process, and generate data in response to the execution of software.
  • a single processing device may be described as being used; however, those skilled in the art will understand that a processing device includes multiple processing elements and/or multiple types of processing elements. It can be seen that it may include.
  • Software may include a computer program, code, instructions, or a combination of one or more of these, which may configure a processing unit to operate as desired, or may be processed independently or collectively. You can command the device.
  • Software and/or data may be used on any type of machine, component, physical device, virtual equipment, computer storage medium or device to be interpreted by or to provide instructions or data to a processing device. , or may be permanently or temporarily embodied in a transmitted signal wave.
  • Software may be distributed over networked computer systems and stored or executed in a distributed manner.
  • Software and data may be stored on one or more computer-readable recording media.
  • the method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded on a computer-readable medium.
  • the computer-readable medium may include program instructions, data files, data structures, etc., singly or in combination.
  • Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic media such as floptical disks.
  • Examples of program instructions include machine language code, such as that produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter, etc.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Geometry (AREA)
  • Human Computer Interaction (AREA)
  • Architecture (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Processing Or Creating Images (AREA)

Abstract

의상의 텍스쳐를 편집하는 시뮬레이션 방법은 텍스쳐의 기본 영역에 해당하는 2차원의 캔버스를 표시하고, 캔버스에 2차원의 텍스쳐 이미지를 표시하고, 캔버스에 텍스쳐 이미지를 반복하여 표시하기 위한 제1 사용자 입력을 수신하고, 제1 사용자 입력, 캔버스의 사이즈 및 텍스쳐 이미지의 사이즈에 기초하여, 텍스쳐 이미지들 사이의 간격 파라미터를 결정하고, 결정된 간격 파라미터에 기초하여 캔버스에 텍스쳐 이미지들을 표시하는 방법을 포함할 수 있다.

Description

텍스쳐 이미지 시뮬레이션 방법 및 그 장치
아래 실시예들은 텍스쳐 이미지 시뮬레이션 방법 및 그 장치에 관한 것이다.
의상에는 규칙적인 패턴 또는 무늬가 적용될 수 있다. 의상 시뮬레이션에서 이러한 패턴 또는 무늬는 텍스쳐로 표현될 수 있고, 텍스쳐는 타일(tile)이라고 하는 기본 단위의 데이터로 저장될 수 있다. 이에, 의상 시뮬레이션을 고도화하기 위하여, 텍스쳐 타일에 포함되는 반복 패턴을 자유롭게 편집 및 생성하는 기술이 요구된다.
일 실시예에 따른 의상의 텍스쳐를 편집하는 시뮬레이션 방법은 상기 텍스쳐의 기본 영역에 해당하는 2차원의 캔버스를 표시하는 단계, 상기 캔버스에 2차원의 텍스쳐 이미지를 표시하는 단계, 상기 캔버스에 상기 텍스쳐 이미지를 반복하여 표시하기 위한 제1 사용자 입력을 수신하는 단계, 상기 제1 사용자 입력, 상기 캔버스의 사이즈 및 상기 텍스쳐 이미지의 사이즈에 기초하여, 텍스쳐 이미지들 사이의 간격 파라미터를 결정하는 단계 및 상기 결정된 간격 파라미터에 기초하여 상기 캔버스에 상기 텍스쳐 이미지들을 표시하는 단계를 포함할 수 있다.
상기 캔버스 기반의 텍스쳐를 3차원 의상에 적용하여 표시하는 단계를 더 포함할 수 있다.
상기 캔버스 기반의 텍스쳐를 3차원 의상에 실시간으로 반영시켜 표시하는 단계를 더 포함할 수 있다.
상기 제1 사용자 입력은 미리 정해진 제1 방향으로 상기 캔버스 내 상기 텍스쳐 이미지를 반복하는 제1 반복 횟수 및 미리 정해진 제2 방향으로 상기 버스 내 상기 텍스쳐 이미지를 반복하는 제2 반복 횟수 중 적어도 하나를 포함할 수 있다.
상기 간격 파라미터를 결정하는 단계는 상기 제1 반복 횟수가 입력되는 경우, 상기 캔버스의 상기 제1 방향의 사이즈, 상기 텍스쳐 이미지의 상기 제1 방향의 사이즈 및 상기 제1 반복 횟수에 기초한 상기 제1 방향의 간격 파라미터를 결정하는 단계 및 상기 제2 반복 횟수가 입력되는 경우, 상기 캔버스의 상기 제2 방향의 사이즈, 상기 텍스쳐 이미지의 상기 제2 방향의 사이즈 및 상기 제2 반복 횟수에 기초한 상기 제2 방향의 간격 파라미터를 결정하는 단계중 적어도 하나를 포함할 수 있다.
상기 간격 파라미터를 결정하는 단계는 상기 제1 사용자 입력에 따른 복수의 텍스쳐 이미지들을 상기 캔버스 내 균등하게 분포시키는 거리를 계산하는 단계를 포함할 수 있다.
상기 간격 파라미터가 음수로 결정되었는지 여부를 판단하는 단계 및 상기 간격 파라미터가 음수로 결정되었다는 판단에 따라, 상기 제1 사용자 입력에 따른 복수의 텍스쳐 이미지들의 양 끝에 상기 텍스쳐 이미지를 각각 추가하는 단계를 더 포함할 수 있다.
상기 캔버스에 표시된 텍스쳐 이미지의 사이즈를 변경하는 입력을 수신하는 단계 및 상기 변경된 사이즈에 기초하여 상기 간격 파라미터를 갱신하는 단계를 더 포함할 수 있다.
상기 캔버스에 표시된 텍스쳐 이미지를 회전하는 입력을 수신하는 단계, 상기 회전된 텍스쳐 이미지의 사이즈를 갱신하는 단계 및 상기 변경된 사이즈에 기초하여 상기 간격 파라미터를 갱신하는 단계를 더 포함할 수 있다.
상기 텍스쳐 이미지들이 반복되는 패턴을 시프트(shift)하기 위한 제2 사용자 입력을 수신하는 단계 및 상기 제1 사용자 입력, 상기 제2 사용자 입력, 상기 텍스쳐 이미지의 사이즈 및 상기 간격 파라미터에 기초하여, 상기 패턴의 시프트 파라미터를 결정하는 단계를 더 포함할 수 있다.
상기 캔버스에 상기 텍스쳐 이미지들을 표시하는 단계는 상기 결정된 간격 파라미터 및 상기 결정된 시프트 파라미터에 기초하여 상기 캔버스에 상기 텍스쳐 이미지들을 표시하는 단계를 포함할 수 있다.
상기 제2 사용자 입력은 미리 정해진 제1 방향으로 상기 캔버스 내 반복 패턴을 시프트하는 정도를 조절하는 제1 시프트 인덱스 및 미리 정해진 제2 방향으로 상기 캔버스 내 반복 패턴을 시프트하는 정도를 조절하는 제2 시프트 인덱스 중 적어도 하나를 포함할 수 있다.
상기 시프트 파라미터를 결정하는 단계는 상기 제1 시프트 인덱스가 입력되는 경우, 상기 제1 사용자 입력에 포함된 상기 제2 방향의 반복 횟수, 상기 텍스쳐 이미지의 상기 제1 방향의 사이즈, 상기 제1 방향의 간격 파라미터 및 상기 제1 시프트 인덱스에 기초하여 상기 제1 방향의 시프트 파라미터를 결정하는 단계 및 상기 제2 시프트 인덱스가 입력되는 경우, 상기 제1 사용자 입력에 포함된 상기 제1 방향의 반복 횟수, 상기 텍스쳐 이미지의 상기 제2 방향의 사이즈, 상기 제2 방향의 간격 파라미터 및 상기 제2 시프트 인덱스에 기초하여 상기 제2 방향의 시프트 파라미터를 결정하는 단계중 어느 하나를 포함할 수 있다.
상기 제1 시프트 인덱스는 상기 제1 사용자 입력에 포함된 상기 제2 방향의 반복 횟수보다 작게 설정되고, 상기 제2 시프트 인덱스는 상기 제1 사용자 입력에 포함된 상기 제1 방향의 반복 횟수보다 작게 설정될 수 있다.
상기 캔버스에 포함된 반복 패턴을 전체적으로 이동, 스케일 및/또는 회전시키는 인터페이싱 객체를 표시하는 단계 및 상기 인터페이싱 객체를 통한 사용자 입력에 반응하여, 상기 캔버스에 포함된 반복 패턴을 전체적으로 이동, 스케일 및/또는 회전시켜 표시하는 단계를 더 포함할 수 있다.
일 실시예에 따른 시뮬레이션 장치는 의상의 텍스쳐를 편집하는 시뮬레이션 방법을 실행시키기 위한 컴퓨터 프로그램을 저장하는 메모리, 디스플레이 및 상기 텍스쳐의 기본 영역에 해당하는 2차원의 캔버스를 표시하고, 상기 캔버스에 2차원의 텍스쳐 이미지를 표시하도록 상기 디스플레이를 제어하고, 상기 캔버스에 상기 텍스쳐 이미지를 반복하여 표시하기 위한 제1 사용자 입력을 수신하고, 상기 제1 사용자 입력, 상기 캔버스의 사이즈 및 상기 텍스쳐 이미지의 사이즈에 기초하여, 텍스쳐 이미지들 사이의 간격 파라미터를 결정하며, 상기 결정된 간격 파라미터에 기초하여 상기 캔버스에 상기 텍스쳐 이미지들을 표시하도록 상기 디스플레이를 제어하는, 적어도 하나의 프로세서를 포함할 수 있다.
상기 제1 사용자 입력은 미리 정해진 제1 방향으로 상기 캔버스 내 상기 텍스쳐 이미지의 제1 반복 횟수 및 미리 정해진 제2 방향으로 상기 캔버스 내 상기 텍스쳐 이미지의 제2 반복 횟수 중 적어도 하나를 포함할 수 있다.
상기 적어도 하나의 프로세서는 상기 제1 반복 횟수가 입력되는 경우, 상기 캔버스의 상기 제1 방향의 사이즈, 상기 텍스쳐 이미지의 상기 제1 방향의 사이즈 및 상기 제1 반복 횟수에 기초하여 상기 제1 방향의 간격 파라미터를 결정하고, 상기 제2 반복 횟수가 입력되는 경우, 상기 캔버스의 상기 제2 방향의 사이즈, 상기 텍스쳐 이미지의 상기 제2 방향의 사이즈 및 상기 제2 반복 횟수에 기초하여 상기 제2 방향의 간격 파라미터를 결정할 수 있다.
상기 적어도 하나의 프로세서는 상기 텍스쳐 이미지들이 반복되는 패턴을 시프트(shift)하기 위한 제2 사용자 입력을 수신하고, 상기 제1 사용자 입력, 상기 제2 사용자 입력 및 상기 텍스쳐 이미지의 사이즈에 기초하여, 상기 패턴의 시프트 파라미터를 결정하며, 상기 결정된 간격 파라미터 및 상기 결정된 시프트 파라미터에 기초하여 상기 캔버스에 상기 텍스쳐 이미지들을 표시하도록 상기 디스플레이를 제어할 수 있다.
상기 제2 사용자 입력은 미리 정해진 제1 방향으로 상기 캔버스 내 반복 패턴을 시프트하는 정도를 조절하는 제1 시프트 인덱스 및 미리 정해진 제2 방향으로 상기 캔버스 내 반복 패턴을 시프트하는 정도를 조절하는 제2 시프트 인덱스중 적어도 하나를 포함할 수 있다.
상기 적어도 하나의 프로세서는 상기 제1 시프트 인덱스가 입력되는 경우, 상기 제1 사용자 입력에 포함된 상기 제2 방향의 반복 횟수, 상기 텍스쳐 이미지의 상기 제1 방향의 사이즈 및 상기 제1 시프트 인덱스에 기초하여 상기 제1 방향의 시프트 파라미터를 결정하고, 상기 제2 시프트 인덱스가 입력되는 경우, 상기 제1 사용자 입력에 포함된 상기 제1 방향의 반복 횟수, 상기 텍스쳐 이미지의 상기 제2 방향의 사이즈 및 상기 제2 시프트 인덱스에 기초하여 상기 제2 방향의 시프트 파라미터를 결정할 수 있다.
도 1은 일 실시예에 따른 시뮬레이션 방법을 설명하기 위한 동작 흐름도이다.
도 2는 일 실시예에 따른 반복되는 텍스쳐 이미지를 생성하는 방법을 설명하기 위한 도면이다.
도 3 내지 도 5는 일 실시예에 따른 텍스쳐 이미지를 반복하여 생성하는 시뮬레이션 예시를 개략적으로 도시한 것이다.
도 6 및 도 7은 일 실시예에 따른 회전(Rotation)을 적용하여 시뮬레이션 하는 방법을 설명하기 위한 도면이다.
도 8 내지 도 10은 일 실시예에 따른 간격 파라미터가 음수일 경우 텍스쳐 이미지를 반복하여 생성하는 시뮬레이션 예시를 개략적으로 도시한 것이다.
도 11 내지 도 15는 일 실시예에 따른 시프트를 적용하여 텍스쳐 이미지를 반복하여 생성하는 시뮬레이션 예시를 개략적으로 도시한 것이다.
도 16은 일 실시예에 따른 텍스쳐 이미지 트랜스폼 기능을 설명하기 위한 개략적인 예시이다.
도 17은 일 실시예에 따른 전자 장치를 설명하기 위한 블록도이다.
본 명세서에서 개시되어 있는 특정한 구조적 또는 기능적 설명들은 단지 기술적 개념에 따른 실시예들을 설명하기 위한 목적으로 예시된 것으로서, 실시예들은 다양한 다른 형태로 실시될 수 있으며 본 명세서에 설명된 실시예들에 한정되지 않는다.
제1 또는 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 이런 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 이해되어야 한다. 예를 들어 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 표현들, 예를 들어 "~간에"와 "바로~간에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 해당 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
도 1은 일 실시예에 따른 시뮬레이션 방법을 설명하기 위한 동작 흐름도이다.
도 1의 동작은 도시된 순서 및 방식으로 수행될 수 있지만, 도시된 실시예의 사상 및 범위를 벗어나지 않으면서 일부 동작의 순서가 변경되거나 일부 동작이 생략될 수 있다. 도 1에 도시된 다수의 동작은 병렬로 또는 동시에 수행될 수 있다.
단계(110)에서, 일 실시예에 따른 시뮬레이션 장치(예: 도 17의 전자 장치(1700))는 텍스쳐의 기본 영역에 해당하는 2차원의 캔버스를 표시할 수 있다. 시뮬레이션 장치는 퍼스널 컴퓨터, 랩톱 컴퓨터, 태블릿 컴퓨터, 스마트 폰, 웨어러블 장치, 크라우드 컴퓨터, SaaS 등 다양한 형태의 제품으로 구현될 수 있다. 캔버스는 의상 시뮬레이션에서 텍스쳐의 기본 영역인 타일(tile)을 표현하는 영역일 수 있다.
단계(120)에서, 일 실시예에 따른 시뮬레이션 장치는 캔버스에 2차원의 텍스쳐 이미지를 표시할 수 있다. 텍스쳐 이미지는 반복 패턴의 기본이 되는 시각 데이터로, 예를 들어 로고, 문양, 도형, 그래픽 등을 포함할 수 있다.
단계(130)에서, 일 실시예에 따른 시뮬레이션 장치는 캔버스에 텍스쳐 이미지를 반복하여 표시하기 위한 제1 사용자 입력을 수신할 수 있다.
제1 사용자 입력은 미리 정해진 제1 방향으로 캔버스 내 텍스쳐 이미지를 반복하는 제1 반복 횟수 및 미리 정해진 제2 방향으로 캔버스 내 텍스쳐 이미지를 반복하는 제2 반복 횟수 중 적어도 하나를 포함할 수 있다. 여기서, 제1 방향은 캔버스의 x축 방향에 대응하고, 제2 방향은 캔버스의 y축 방향에 대응할 수 있다.
단계(140)에서, 일 실시예에 따른 시뮬레이션 장치는 제1 사용자 입력, 캔버스의 사이즈 및 텍스쳐 이미지의 사이즈에 기초하여, 텍스쳐 이미지들 사이의 간격 파라미터를 결정할 수 있다.
시뮬레이션 장치는 제1 사용자 입력에 따른 복수의 텍스쳐 이미지들을 캔버스 내 균등하게 분포시키키는 거리를 계산할 수 있다.
일 예로, 시뮬레이션 장치는 제1 반복 횟수가 입력되는 경우, 캔버스의 제1 방향 사이즈, 텍스쳐 이미지의 제1 방향의 사이즈 및 제1 반복 횟수에 기초한 제1 방향의 간격 파라미터를 결정할 수 있다.
또한, 시뮬레이션 장치는 제2 반복 횟수가 입력되는 경우, 캔버스의 제2 방향의 사이즈, 텍스쳐 이미지의 제2 방향의 사이즈 및 제2 반복 횟수에 기초한 제2 방향의 간격 파라미터를 결정할 수 있다.
일 실시예에 따르면, 시뮬레이션 장치는 간격 파라미터가 음수로 결정되었는지 여부를 판단할 수 있다. 시뮬레이션 장치는 간격 파라미터가 음수로 결정되었다는 판단에 따라, 제1 사용자 입력에 따른 복수의 텍스쳐 이미지들의 양 끝에 텍스쳐 이미지를 각각 추가할 수 있다.
의상의 텍스쳐를 적용하는 시뮬레이션을 위하여, 캔버스에 의하여 표현되는 타일을 기준으로 상, 하, 좌, 우 및 대각선 방향으로 동일한 타일이 배치될 수 있다. 이 때, 모든 방향으로 인접한 타일들 사이에서 반복 패턴이 연속적으로 표현되어야 한다. 이러한 조건을 만족하기 위하여, 시뮬레이션 장치는 간격 파라미터가 음수로 결정되는 경우 복수의 텍스쳐 이미지들의 양 끝에 적어도 하나의 텍스쳐 이미지를 추가할 수 있으며, 추가되는 텍스쳐 이미지의 수는 텍스쳐 이미지의 사이즈와 간격 파라미터의 비율에 따라 달라질 수 있다.
일 실시예에 따르면, 시뮬레이션 장치는 텍스쳐 이미지들이 반복되는 패턴을 시프트(shift)하기 위한 제2 사용자 입력을 수신할 수 있다. 예를 들어, 캔버스 내 x축 방향과 y축 방향으로 텍스쳐 이미지가 반복되면서, 행과 열을 이루는 반복 패턴이 형성될 수 있다. 이 때, 시뮬레이션 장치는 인접한 행과 행 사이에서 패턴의 시작점을 시프트하거나, 인접한 열과 열 사이에서 패턴의 시작점을 시프트할 수 있다.
시뮬레이션 장치는 제1 사용자 입력, 제2 사용자 입력, 텍스쳐 이미지의 사이즈 및 간격 파라미터에 기초하여, 패턴의 시프트 파라미터를 결정할 수 있다. 시뮬레이션 장치는 텍스쳐 이미지의 사이즈 및 간격 파라미터에 의하여 정의되는 반복 패턴의 기본 거리를 제1 사용자 입력에 따른 반복 횟수로 분할하고, 여러 분할 거리들 중에서 제2 사용자 입력에 의하여 지시되는 분할 거리만큼 다음 행 또는 열의 패턴 시작점을 시프트할 수 있다.
제2 사용자 입력은 미리 정해진 제1 방향으로 캔버스 내 반복 패턴을 시프트하는 정도를 조절하는 제1 시프트 인덱스 및 미리 정해진 제2 방향으로 캔버스 내 반복 패턴을 시프트하는 정도를 조절하는 제2 시프트 인덱스 중 적어도 하나를 포함할 수 있다. 제1 시프트 인덱스는 제1 사용자 입력에 포함된 제2 방향의 반복 횟수보다 작게 설정될 수 있다. 제2 시프트 인덱스는 제1 사용자 입력에 포함된 제1 방향의 반복 횟수보다 작게 설정될 수 있다.
일 예로, 시뮬레이션 장치는 제1 시프트 인덱스가 입력되는 경우, 제1 사용자 입력에 포함된 제2 방향의 반복 횟수, 텍스쳐 이미지의 제1 방향의 사이즈, 제1 방향의 간격 파라미터 및 제1 시프트 인덱스에 기초하여 제1 방향의 시프트 파라미터를 결정할 수 있다.
또는, 시뮬레이션 장치는 제2 시프트 인덱스가 입력되는 경우, 제1 사용자 입력에 포함된 제1 방향의 반복 횟수, 텍스쳐 이미지의 제2 방향의 사이즈, 제2 방향의 간격 파라미터 및 제2 시프트 인덱스에 기초하여 제2 방향의 시프트 파라미터를 결정할 수 있다.
시프트 파라미터를 결정하는 보다 구체적인 방법은 도 11 내지 도 15를 통하여 후술한다.
일 실시예에 따르면, 시뮬레이션 장치는 캔버스에 표시된 텍스쳐 이미지의 사이즈를 변경하는 입력을 수신할 수 있다. 시뮬레이션 장치는 변경된 사이즈에 기초하여 간격 파라미터를 갱신할 수 있다.
또는, 시뮬레이션 장치는 캔버스에 표시된 텍스쳐 이미지를 회전하는 입력을 수신할 수 있다. 시뮬레이션 장치는 회전된 텍스쳐 이미지의 사이즈를 변경할 수 있다. 시뮬레이션 장치는 변경된 사이즈에 기초하여 간격 파라미터를 갱신할 수 있다.
단계(150)에서, 일 실시예에 따른 시뮬레이션 장치는 결정된 간격 파라미터에 기초하여 캔버스에 텍스쳐 이미지들을 표시할 수 있다. 시뮬레이션 장치는 결정된 간격 파라미터 및/또는 결정된 시프트 파라미터에 기초하여 캔버스에 텍스쳐 이미지들을 표시할 수 있다.
일 실시예에 따른 시뮬레이션 장치는 캔버스 기반의 텍스쳐를 3차원 의상에 적용하여 표시할 수 있다. 아래에서 상세히 예시하겠지만, 시뮬레이션 장치는 디스플레이의 일 영역에 캔버스를 통한 텍스쳐 편집 인터페이스를 표시하고, 디스플레이의 타 영역에 캔버스에 해당하는 타일이 텍스쳐로 적용된 3차원 의상의 시뮬레이션 인터페이스를 표시할 수 있다. 또한, 시뮬레이션 장치는 사용자에 선택 입력에 의해 일 영역의 캔버스를 통한 텍스쳐 편집이 수행될 경우, 타 영역에 표시된 3차원 의상에 텍스쳐 편집이 수행된 결과물을 실시간으로 표시할 수 있다.
일 실시예에 따른 시뮬레이션 장치는 캔버스에 포함된 반복 패턴을 전체적으로 이동, 스케일 및/또는 회전시키는 인터페이싱 객체를 표시할 수 있다. 시뮬레이션 장치는 인터페이싱 객체를 통한 사용자 입력에 반응하여, 캔버스에 포함된 반복 패턴을 전체적으로 이동, 스케일 및/또는 회전시켜 표시할 수 있다.
전술한 실시예들에서 개별 텍스쳐 이미지를 편집(이동, 스케일 및/또는 회전)하면, 시뮬레이션 장치는 간격 파라미터 및/또는 시프트 파라미터를 갱신하여 반복 패턴을 갱신할 수 있다. 한편, 인터페이싱 객체를 통한 편집 입력이 수신되면, 시뮬레이션 장치는 개별 텍스쳐 이미지를 편집하는 대신, 기 결정된 반복 패턴을 하나의 이미지로 간주하고 전체적으로 편집(이동, 스케일 및/또는 회전)할 수 있다.
도 2는 일 실시예에 따른 반복되는 텍스쳐 이미지를 생성하는 방법을 설명하기 위한 도면이다.
도 1을 참조한 설명은 도 2에도 동일하게 적용될 수 있고, 중복되는 내용은 생략될 수 있다. 도 2의 하나 이상의 블록들 및 블록들의 조합은 특정 기능을 수행하는 특수 목적 하드웨어 기반 컴퓨터, 또는 특수 목적 하드웨어 및 컴퓨터 명령들의 조합에 의해 구현될 수 있다.
도 2를 참조하면, 프로세서(1710)(도 17에 도시됨)는 3차원 가상 공간(200)에 캔버스(210), 텍스쳐 이미지(220)(이하, 이미지(220)라고 한다) 및 반복 횟수가 적용된 이미지(240)을 시뮬레이션할 수 있다. 또한, 프로세서(1710)는 제1 사용자 입력에 기초하여, 간격 파라미터(230)를 도출할 수 있다.
프로세서(1710)는 제1 방향을 x축 방향, 제2 방향을 y축 방향으로 설정할 수 있다. 제1 사용자 입력은 제1 반복 횟수(Step(x)) 및 제2 반복 횟수(Step(y)) 입력을 포함할 수 있다. Step(x)는 한 행(x축)에 반복되는 이미지(220)의 개수, Step(y)는 한 열(y축)에 반복되는 이미지(220)의 개수일 수 있다. 예를 들어, Step(x): 5는 x축 방향으로 이미지(230)가 5번 반복(즉, 한 행에 이미지가 5번 반복)되도록 이미지를 생성하라는 명령어일 수 있다. 또 다른 예를 들어, Step(y): 5는 y축 방향으로 이미지(230)가 5번 반복(즉, 한 열에 이미지가 5번 반복)되도록 이미지를 생성하는 명령어일 수 있다.
프로세서(1710)는 제1 방향(x축 방향)의 간격 파라미터를 다음 수학식 1과 같이 결정할 수 있다.
[수학식 1]
[캔버스의 너비 - (이미지의 너비*제1 반복 횟수)]/제1 반복 횟수 = 제1 방향의 간격 파라미터
프로세서(1710)는 제2 방향(y축 방향)의 간격 파라미터를 다음 수학식 2와 같이 결정할 수 있다.
[수학식 2]
[캔버스의 높이 - (이미지의 높이*제2 반복 횟수)]/제2 반복 횟수 = 제2 방향의 간격 파라미터
프로세서(1710)는 제1 사용자 입력에 따라 제1 방향(x축 방향)으로 이미지(220)를 반복하라는 입력을 수신할 수 있다. 프로세서(1710)가 Step(x): 5라는 제1 사용자 입력을 수신하면, 제1 사용자 입력, 캔버스의 사이즈 및 텍스쳐 이미지의 사이즈에 기초하여 제1 방향의 간격 파라미터(230)을 결정할 수 있다.
프로세서(1710)가 x축 방향으로 이미지(220)를 5번 반복(Step(x): 5)하라는 입력을 수신하였다고 가정한다. 캔버스의 너비(캔버스의 x축 방향의 길이)가 20이고, 이미지(220)의 너비(캔버스의 x축 방향의 길이)를 3으로 가정하여 수학식 1에 적용하면, [20-(3*5)]/5=1 이므로, 제1 방향의 간격 파라미터는 1이다. 상술한 방법은 프로세서(1710)가 y축 방향으로 이미지를 반복(Step(y))하라는 입력을 수신한 경우에도, 수학식 2를 적용하여 동일하게 제2 방향의 간격 파라미터를 결정할 수 있다.
프로세서(1710)는 간격 파라미터(230)를 결정한 후, 반복 횟수가 적용된 이미지(240)를 생성할 수 있다. 반복 횟수가 적용된 이미지(240)는 간격 파라미터를 이미지의 오른쪽에 적용하여 생성되었지만, 도시된 실시예에 한정되는 것은 아니고 왼쪽에 적용하여 생성할 수도 있다. 또한, 도 2에 도시된 실시예는 Step(x)만을 적용한 이미지이고, Step(y)를 적용한 이미지를 간격 파라미터를 위 및/또는 아래에 적용하여 반복 횟수가 적용된 이미지를 생성할 수도 있다.
도 3 내지 도 5는 일 실시예에 따른 텍스쳐 이미지를 반복하여 생성하는 시뮬레이션 예시를 개략적으로 도시한 것이다.
도 3 내지 도 5의 하나 이상의 블록들 및 블록들의 조합은 특정 기능을 수행하는 특수 목적 하드웨어 기반 컴퓨터, 또는 특수 목적 하드웨어 및 컴퓨터 명령들의 조합에 의해 구현될 수 있다.
도 1 및 도 2를 참조한 설명은 도 3 내지 도 5에도 적용될 수 있고, 중복되는 내용은 생략될 수 있다. 도 1 및 도 2와 동일한 참조번호를 부여하여 설명한 것들은 동일한 구성 요소로서의 의미를 갖는 것일 뿐 기재된 실시예로 한정되는 것은 아니다.
도 3 내지 도 5를 참조하면, 프로세서(1710)는 3차원 가상 공간(300)에 텍스쳐 에디터(Texture Editor)(310)를 표시할 수 있다. 텍스쳐 에디터(310)는 캔버스(210), 이미지(220) 및 타일(Tile) 기능(320)을 포함할 수 있다. 실시예에 따라 텍스쳐 에디터(310)는 트랜스폼(Transform) 기능(330), 컬러(Color) 기능(340) 및 레이어 기능(350)중 적어도 하나를 더 포함할 수 있다. 또한, 텍스쳐 에디터(310)는 사용자가 설정한 캔버스(210)의 사이즈를 넘어서는 부분도 예시적으로 표시하는 확장 캔버스(211)를 제공할 수 있다.
타일(Tile)은 텍스쳐의 기본 영역을 의미하는 것으로, 2차원 캔버스를 표시하기 위한 사각형의 영역일 수 있다.
프로세서(1710)는 3차원 가상 공간(300)에 텍스쳐 에디터(310)에 따라 수정된 텍스쳐를 3차원 의상(311)에 적용하여 시뮬레이션 할 수 있다.
도 3 및 도 4를 함께 참조하면, 프로세서(1710)는 타일 기능(320)의 토글 버튼(321)에 대한 사용자의 선택 입력을 수신하여, Step 기능(322) 및 Shift 기능(323)을 텍스쳐 에디터에 표시할 수 있다. 다만, 반드시 토글 버튼(321)의 입력에 따라 Step 기능(322) 및 시프트(Shift)(323) 기능이 표시되는 것은 아니고, 상시적으로 표시될 수도 있다.
도 4 및 도 5를 함께 참조하면, Step 기능(322)은 x축에 대한 제1 반복 횟수 입력을 수신하는 Step(x)와 y축에 대한 제2 반복 횟수 입력을 수신하는 Step(y)를 표시할 수 있다.
예를 들어, 프로세서(1710)가 캔버스(210)에 표시된 이미지(220)에 대해서, Step(x)에 3의 입력을 수신하고, Step(y)에 3의 입력을 수신하면, 제1 반복 횟수는 3, 제2 반복 횟수는 3이 된다. 프로세서(1710)는 수신한 제1 반복 횟수 및 제2 반복 횟수에 따라서 제1 간격 파라미터 및 제2 간격 파라미터를 결정할 수 있다. 제1 간격 파라미터 및 제2 간격 파라미터가 결정되면, 도 5에 도시된 바와 같이 프로세서(1710)는 캔버스(210)에 반복 횟수가 적용된 이미지(240)를 표시할 수 있다. 또한, 프로세서(1710)는 확장 캔버스(211)에 반복 횟수가 적용된 이미지(240)가 확장될 경우의 예시를 표시할 수 있다.
시프트 기능(323)은 후술하는 도 11 내지 도 15와 함께 상세히 설명될 수 있다.
트랜스폼 기능(330)은 후술하는 도 16과 함께 상세히 설명될 수 있다.
컬러 기능(340)은 이미지(220)의 색을 조절할 수 있는 기능 및 이미지(220)의 불투명도(Opacity)를 조절할 수 있는 기능을 포함할 수 있다. 이미지(220)의 색은 RGB의 값을 조절하여 색을 조절하는 기능을 포함할 수 있다. 불투명도(Opacity)는 0 부터 100까지 조절하는 기능을 포함할 수 있다.
레이어 기능(350)은 캔버스(210)에 포함될 이미지(220)의 리스트를 선택하는 기능을 제공할 수 있다.
도 5를 참조하면, 프로세서(1710)는 이미지(220)의 바운딩 박스에 포함된 포인터(221)에 대한 사용자의 입력을 수신하여 이미지(220)의 사이즈를 확장하거나 축소할 수 있다. 이미지의(220)의 사이즈가 변경되면, 프로세서(1710)는 변경된 이미지(220)의 사이즈에 따라 간격 파라미터를 갱신할 수 있다. 프로세서(1710)는 갱신된 간격 파라미터에 기초하여, 캔버스(210)에 표시된 반복 횟수가 적용된 이미지(240)를 갱신하여 표시할 수 있다.
일 실시예에 따르면, 프로세서(1710)는 이미지(220)의 위치를 기준으로 반복 패턴을 형성하여 이미지(240)를 생성할 수 있다. 예를 들어, 사용자의 입력에 따라 캔버스 상에 이미지(220)의 위치가 변경될 수 있고, 이 경우 변경된 위치를 기준으로 x축 방향과 y축 방향으로 반복 패턴이 형성될 수 있다.
이로 인하여, 캔버스의 경계선에서 반복되는 이미지(220)의 일부가 잘리는 현상이 발생할 수 있는데, 프로세서(1710)는 캔버스의 일 경계선에서 잘린 이미지(220)의 일부를 타 경계선 쪽에 배치함으로써, 캔버스와 확장 캔버스 사이에서 반복 패턴의 연속성이 유지되도록 할 수 있다.
도면에 도시된 캔버스(210), 이미지(220), 타일(Tile) 기능(320), 트랜스폼(Transform) 기능(330), 컬러(Color) 기능(340) 및 레이어 기능(350)들의 배치 구성은 기재된 실시예에 한정되지 않는다.
도 6 및 도 7은 일 실시예에 따른 회전(Rotation)을 적용하여 시뮬레이션 하는 방법을 설명하기 위한 블록도이다.
도 6 및 도 7의 하나 이상의 블록들 및 블록들의 조합은 특정 기능을 수행하는 특수 목적 하드웨어 기반 컴퓨터, 또는 특수 목적 하드웨어 및 컴퓨터 명령들의 조합에 의해 구현될 수 있다.
도 6 및 도 7을 함께 참조하면, 프로세서(1710)는 이미지(620)(예: 도 2 내지 도 5의 이미지(220))의 바운딩 박스에 포함된 회전 포인터(622)에 대한 사용자의 선택 입력을 수신할 수 있다. 프로세서(1710)는 사용자의 선택 입력에 의한 이미지(620)의 회전에 따라 회전된 이미지(620-1)을 캔버스(210)에 표시할 수 있다. 프로세서(1710)는 회전되기 전 기존의 반복 횟수가 적용된 이미지(640)를 회전 후 반복 횟수가 적용된 이미지(640-1)로 표시할 수 있다. 이 때, 프로세서(1710)는 회전된 이미지(620-1)의 이미지 사이즈를 새롭게 정의된 이미지 사이즈로 갱신할 수 있다.
예를 들어, 이미지(620)의 이미지 너비 및 이미지 높이는 이미지의 가로 길이 및 이미지의 세로 길이로 정의되어 있었다고 가정한다. 프로세서(1710)는 회전된 이미지(620-1)의 이미지 너비를 회전된 이미지(620-1)를 x-y축 좌표상에 배치하였을 때 최댓값과 최솟값의 차이로 정의할 수 있다. 마찬가지로, 프로세서(1710)는 회전된 이미지(620-1)의 이미지 높이를 회전된 이미지를(620-1)를 x-y축 좌표상에 배치하였을 때 최댓값과 최솟값의 차이로 정의할 수 있다. 프로세서(1710)는 새롭게 정의된 회전된 이미지(620-1)의 이미지 너비 및 이미지 높이에 기초하여. 간격 파라미터(630)를 갱신할 수 있다. 프로세서(1710)는 갱신된 간격 파라미터(630-1)에 기초하여, 캔버스(610)에 회전 후 반복 횟수가 적용된 이미지(640-1)를 시뮬레이션할 수 있다.
도 8 내지 도 10은 일 실시예에 따른 간격 파라미터가 음수일 경우 텍스쳐 이미지를 반복하여 생성하는 시뮬레이션 예시를 개략적으로 도시한 것이다.
도 1 내지 도 5를 참조한 설명은, 도 8 내지 도 10을 참조한 설명에도 동일하게 적용될 수 있고, 중복되는 내용은 생략될 수 있다.
도 8 내지 도 10의 하나 이상의 블록들 및 블록들의 조합은 특정 기능을 수행하는 특수 목적 하드웨어 기반 컴퓨터, 또는 특수 목적 하드웨어 및 컴퓨터 명령들의 조합에 의해 구현될 수 있다.
도 8을 참조하면, 프로세서(1710)는 간격 파라미터(230-2)가 음수로 결정될 경우의 반복 횟수가 적용된 이미지(240-2)를 시뮬레이션할 수 있다. 간격 파라미터(230-2)가 음수로 결정되면, 캔버스(210)의 경계에서 타일에 포함된 이미지(220)가 끊기는 현상이 발생할 수 있다. 이 때, 프로세서(1710)는 이미지(240-2)의 양 끝에 이미지(220)을 하나씩 추가할 수 있다. 프로세서(1710)는 이미지(220)를 추가하여 반복 횟수가 적용된 이미지(240-2)를 생성할 수 있다.
또 다른 방법으로, 프로세서(1710)는 양 끝에 각각 추가할 이미지(220)의 개수를 다음과 같은 수학식 3을 통해 결정할 수 있다.
[수학식 3]
(자연수)[이미지 사이즈/(이미지 사이즈+간격 파라미터)] = 추가할 이미지 개수
(자연수) 연산이란 계산 값에서 자연수 부분만 가져오는 소수점 내림 연산을 의미한다. 예를 들어, (자연수) 연산 이전의 계산 값이 2.5 라면, (자연수) 연산을 수행할 경우, 추가할 이미지 개수는 2가 된다.
이미지의 사이즈란 이미지의 너비 및 이미지의 높이 중 어느 하나일 수 있다. 예를 들어, 제1 방향(x축 방향)의 간격 파라미터를 결정하는 경우, 이미지 사이즈는 이미지 너비를 의미할 수 있다. 마찬가지로, 제2 방향(y축 방향)의 간격 파라미터를 결정하는 경우, 이미지 사이즈는 이미지 높이를 의미할 수 있다.
예를 들어, 캔버스(210)의 너비를 21, 이미지의 너비를 4라고 가정한다. 이 경우, 프로세서(1710)는 전술한 수학식 1에 따라 제1 방향의 간격 파라미터를 -1로 결정할 수 있다. 또한, 수학식 3에 따라 계산된 추가할 이미지의 개수는 1이므로, 프로세서(1710)는 양 끝에 이미지(220)를 한 개씩 추가할 수 있다. 프로세서(1710)은 제1 방향의 간격 파라미터가 음수로 결정될 경우, 이미지(220)간에 겹치는 부분을 포함하여 반복 횟수가 적용된 이미지(240-2)를 시뮬레이션할 수 있다.
다른 실시예에 따르면, 간격 파라미터(230-2)가 양수로 결정되면, 캔버스(210)의 경계에서 타일에 포함된 이미지(220)가 끊기는 현상이 발생할 수 있다. 이 때, 프로세서(1710)는 이미지(240-2)의 양 끝에 이미지(220)를 하나씩 추가할 수 있다. 프로세서(1710)는 이미지(220)를 추가하여 반복 횟수가 적용된 이미지(240-2)를 생성할 수 있다. 프로세서(1710)는 양 끝에 각각 추가할 이미지(220)의 개수를 “(자연수)[이미지 사이즈/(이미지 사이즈+간격 파라미터)] = 추가할 이미지 개수”의 식을 이용하여 판단할 수 있다. 여기서, (자연수) 연산이란, 상기 수학식 3과 달리, 계산 값에서 자연수 부분만 가져오는 소수점 올림 연산을 의미한다. 예를 들어, (자연수) 연산 이전의 계산 값이 2.5 라면, 간격이 양수인 경우의 (자연수) 연산을 수행할 경우, 추가할 이미지 개수는 3이 될 수 있다.
실시예에 따르면, 도 9에서와 같은 시뮬레이션은 간격 파라미터(230-2)가 양수 또는 음수일 경우에 수행될 수 있다. 프로세서(1710)는 캔버스(210)의 경계에서 타일에 포함된 이미지(220)가 끊기는 현상이 발생하지 않도록 이미지 개수를 조정할 수 있다. 이는 간격 파라미터(230-2)가 양수 또는 음수일 경우 이미지(220)의 개수를 늘려가면서 조정하는 것으로, 프로세서(1710)는 임의의 이미지(220)의 양 방향으로 이미지(220)의 개수를 늘려가는 시뮬레이션을 수행할 수 있다. 이에 따라, 프로세서(1710)는 사용자에게 캔버스(210) 내에서 타일에 포함된 이미지(220)가 끊기지 않는 경험을 제공할 수 있게 된다.
도 9를 참조하면, 프로세서(1710)는 캔버스(210)에 제1 방향(x축 방향)의 제1 반복 횟수가 적용된 이미지(940-2)를 시뮬레이션 할 수 있다.
도 10을 참조하면, 프로세서(1710)는 캔버스(210)에 제1 방향(x축 방향)의 제1 반복 횟수 및 제2 방향(y축 방향)의 제2 반복 횟수가 적용된 이미지(1040-2)를 시뮬레이션 할 수 있다.
도 11 내지 도 15는 일 실시예에 따른 시프트를 적용하여 텍스쳐 이미지를 반복하여 생성하는 시뮬레이션 예시를 개략적으로 도시한 것이다.
도 1 내지 도 5를 참조한 설명은 도 11 내지 도 15에도 동일하게 적용될 수 있고, 중복되는 내용은 생략될 수 있다.
도 11을 참조하면, 프로세서(1710)는 제1 사용자 입력(Step 기능(322))을 수신하여, 이미지(220)에 대해 제1 방향으로 4번의 반복(Step(x): 4) 및 제2 방향으로 4번의 반복(Step(y): 4)을 수행하여 캔버스(210)에 반복 횟수가 적용된 이미지(240-3)을 시뮬레이션할 수 있다.
텍스처에서 이미지(220)는 제1 방향으로 반복되거나 제2 방향으로 반복될 수 있다. 이 경우, 반복되는 단위 이미지들은 행을 이루거나 열을 이루어 반복될 수 있다. 하지만 의상 디자인에서 반복되는 단위 이미지들이 행과 열을 맞추어 표현되는 경우도 있지만, 그렇지 않은 경우도 존재할 수 있다. 따라서, 시프트를 통해 행 또는 열을 어긋나게 표현할 수 있다. 시프트(shift)는 행 또는 열을 일정한 방향으로 일정 간격 이동시키는 동작을 의미할 수 있다. 예를 들어, 제1 방향 시프트는 특정 행을 기준으로 다른 행의 위치를 제1 방향으로 일정 간격 이동시키는 동작을 의미할 수 있다. 다른 예를 들어, 제2 방향 시프트는 특정 열을 기준으로 다른 열의 위치를 제2 방향으로 일정 간격 이동시키는 동작을 의미할 수 있다. 즉, 시프트란 서로 다른 행 또는 열에 있는 텍스쳐 이미지의 시작점을 다르게 배치하여 텍스쳐 이미지가 엇갈려 보이는 시각적 효과가 나타나도록 하는 것일 수 있다.
이 후, 프로세서(1710)는 이미지(220)들이 반복되는 패턴을 시프트(shift)하기 위한 제2 사용자 입력을 수신할 수 있다. 프로세서(1710)는 제1 사용자 입력, 제2 사용자 입력, 이미지의 사이즈 및 간격 파라미터에 기초하여 패턴의 시프트 파라미터를 결정할 수 있다. 패턴의 시프트 파라미터는 제1 방향(x축 방향)의 시프트 파라미터 및 제2 방향(y축 방향)의 시프트 파라미터를 포함할 수 있다.
제2 사용자 입력은 미리 정해진 제1 방향으로 캔버스 내 반복 패턴을 시프트하는 정도를 조절하는 제1 시프트 인덱스 및 미리 정해진 제2 방향으로 캔버스 내 반복 패턴을 시프트하는 정도를 조절하는 제2 시프트 인덱스 중 적어도 하나를 포함할 수 있다. 프로세서(1710)는 제2 사용자 입력에서 제1 시프트 인덱스는 제2 방향의 반복 횟수보다 작거나 같도록 제한하고, 제2 시프트 인덱스는 제1 방향의 반복 횟수보다 작거나 같도록 제한할 수 있다.
제1 시프트 인덱스는 Shift(x)로 표현될 수 있다. 제2 시프트 인덱스는 Shift(y)로 표현될 수 있다. 프로세서(1710)는 다음과 같은 수학식 4 및 5를 통해 시프트 파라미터를 결정할 수 있다.
[수학식 4]
X-Shift 픽셀 값 = ((이미지 너비 + 간격 파라미터)/Y-Step수)*X-Shift 값
[수학식 5]
Y-Shift 픽셀 값 = ((이미지 높이 + 간격 파라미터)/X-Step수)*Y-Shift 값
수학식 4 및 5에서, X-shift는 제1 방향(x축 방향)으로의 시프트, Y-shift는 제2 방향(y축 방향)으로의 시프트, X-Step 수는 제1 반복 횟수, Y-Step 수는 제2 반복 횟수, X-shift 픽셀 값은 제1 시프트 파라미터, Y-shift 픽셀 값은 제2 시프트 파라미터, X-shift 값은 제1 시프트 인덱스 및 Y-shift 값은 제2 시프트 인덱스를 의미한다.
예를 들어, 도 12에서, 캔버스(210)의 너비가 20, 이미지의 너비가3, 제1 반복 횟수는 4, 제2 반복 횟수는 4라고 가정한다. 이 때, 프로세서(1710)는 간격 파라미터를 2로 결정할 수 있다. 반복 횟수가 적용된 이미지가 생성된 후에, 프로세서(1710)가 제2 사용자 입력에 따라 제1 시프트 인덱스가 1인(Shift(x): 1) 입력을 수신하였다고 가정한다. 수학식 4를 적용하면, 프로세서(1710)는 제1 시프트 파라미터(X-shift 픽셀 값)은 1.5로 결정할 수 있다. 프로세서(1710)는 제1 시프트 파라미터가 결정되면 제1 시프트 파라미터에 기초한 제1 시프트 기준(1201)에 따라 시프트가 적용된 이미지(240-4)를 시뮬레이션할 수 있다. 시프트가 적용된 이미지(240-4)는 반복 횟수가 적용된 이미지(240-3)에서 제2 행을 1.5 만큼 x축 방향으로 평행이동하고, 제3행을 3만큼 x축 방향으로 평행이동하고, 제4 행을 4.5 만큼 평행이동한 이미지이다.
마찬가지로, 도 13에서, 예를 들어, 도 12에서, 캔버스(210)의 너비가 20, 이미지의 너비가3, 제1 반복 횟수는 4, 제2 반복 횟수는 4라고 가정한다. 이 때, 프로세서(1710)는 간격 파라미터를 2로 결정할 수 있다. 반복 횟수가 적용된 이미지가 생성된 후에, 프로세서(1710)가 제2 사용자 입력에 따라 제1 시프트 인덱스가 2인(Shift(x): 2) 입력을 수신하였다고 가정한다. 수학식 4를 적용하면, 프로세서(1710)는 제1 시프트 파라미터(X-shift 픽셀 값)은 3으로 결정할 수 있다. 프로세서(1710)는 제1 시프트 파라미터가 결정되면 제1 시프트 파라미터에 기초한 제1 시프트 기준(1301)에 따라 시프트가 적용된 이미지(240-5)를 시뮬레이션할 수 있다. 시프트가 적용된 이미지(240-5)는 반복 횟수가 적용된 이미지(240-3)에서 제2 행을 3 만큼 x축 방향으로 평행이동하고, 제3행을 6만큼 x축 방향으로 평행이동하고, 제4 행을 9 만큼 평행이동한 이미지이다.
상술한 예시는 시프트를 x축에서 오른쪽으로 시프트 하는 것으로 가정한 것이지만, 기재된 실시예 및 도면에 도시된 예시의 방향으로 한정되는 것은 아니고, 왼쪽으로 시프트할 수도 있다. 또한, 프로세서(1710)는 상술한 예시들을 동일하게 y축 방향으로 적용하여 제2 방향 시프트(y축 방향 시프트)를 수행할 수 있다.
시프트 기능(323)을 사용하여 시프트가 적용된 이미지들(240-4 또는 240-5)을 시뮬레이션 하는 경우, 프로세서(1710)은 해당하는 방향(제1 방향 또는 제2 방향)의 양끝에 이미지를 반복 횟수(제1 반복 횟수 또는 제2 반복 횟수)만큼 추가하여 이미지가 끊기지 않도록 할 수 있다.
또한, 시프트가 적용된 이미지에서 제1 사용자 입력(반복 횟수에 대한 입력)이 변하는 경우, 프로세서(1710)는 제2 사용자 입력이 제1 사용자 입력보다 작으면 제2 사용자 입력을 유지하고, 제2 사용자 입력이 제1 사용자 입력보다 크면 제2 사용자 입력이 제1 사용자 입력보다 작도록 설정할 수 있다.
대응하는 반복 횟수의 감소에 따라 시프트 인덱스를 자동으로 감소하는 정책은 다양하게 설정될 수 있다. 예를 들어, 제1 방향의 시프트 인덱스가 4인 경우, 제2 방향의 반복 횟수가 5에서 3으로 변하면, 제1 방향의 시프트 인덱스는 제2 방향의 반복 횟수보다 작거나 같아야 하므로 프로세서(1710)는 제1 방향의 시프트 인덱스를 3으로 설정할 수 있다. 또는, 동일한 상황에서 프로세서(1710)는 제1 방향의 시프트 인덱스를 허용 최대값인 3보다 작은 2로 설정할 수도 있다.
도 14 및 도 15를 참조하면, 시뮬레이션 장치는 시프트 기능(323)에 대한 사용자의 선택 입력에 반응하여 캔버스(210) 및 3차원 가상 공간(300)에 반복 횟수가 적용된 이미지(240)를 시프트한 결과를 시뮬레이션 할 수 있다.
도 16a 및 도 16b는 일 실시예에 따른 텍스쳐 이미지 트랜스폼 기능을 설명하기 위한 개략적인 예시이다.
도 1내지 도 5를 참조한 설명은, 도 16a 및 도 16b에도 적용될 수 있고, 중복되는 내용은 생략될 수 있다.
일 실시예에 따른 시뮬레이션 장치는 3차원 가상 공간(1600)에 캔버스에 포함된 반복 패턴이 포함된 3차원 가상 의상(1610)을 시뮬레이션 할 수 있다. 시뮬레이션 장치는 인터페이싱 객체(예: 기즈모)(1620)를 통해 캔버스에 포함된 반복 패턴을 전체적으로 이동, 스케일 및/또는 회전시킬 수 있다. 인터페이싱 객체(1620)는 반복 패턴들의 이동을 위한 중심점 포인터, 반복 패턴들의 스케일을 위한 8개의 삼각형 모양 객체들 및 회전을 위한 원 모양의 객체를 포함할 수 있다. 8개의 삼각형 모양 객체들은 너비 및 높이를 같은 비율로 스케일하는 인터페이싱 객체(1620)의 대각선 방향에 위치한 4개의 삼각형 모양 객체들과 너비 또는 높이 방향으로만 스케일하는인터페이싱 객체(1620)의 상하좌우에 위치한 4개의 삼각형 모양 객체들을 포함할 수 있다. 전술한 객체들 및 포인터의 모양은 기재된 실시예로 한정되는 것은 아니고, 크기 및 모양은 적절한 다른 모양으로 변경될 수 있다.
원 모양의 객체를 통해 반복 패턴들을 회전시키면 인터페이싱 객체(1620)도 회전한 각도만큼 동일하게 회전될 수 있다.
보다 구체적으로, 도 16b를 참조하면, 시뮬레이션 장치는 3차원 의상 시뮬레이션에서 특정 의상에 대한 사용자 선택 입력을 수신할 수 있다. 시뮬레이션 장치는 선택된 의상(또는 패턴)의 경계선을 시각화함으로써, 해당 의상(또는 패턴)이 선택되었음을 표시할 수 있다. 또한, 시뮬레이션 장치는 선택된 의상(또는 패턴)을 수정하기 위한 인터페이싱 객체(1620)를 화면에 표시할 수 있다. 인터페이싱 객체(1620)는 수정 기능에 따라 다양한 형태로 표현될 수 있다. 예를 들어, 인터페이싱 객체(1620)는 도 16b에 도시된 바와 같이 상하좌우 크기 조정 인터페이싱 객체(1620-1), 상하 크기 조정 인터페이싱 객체(1620-2), 좌우 크기 조정 인터페이싱 객체(1620-3) 및 회전 인터페이싱 객체(1620-4)로 표시될 수 있다.
상하좌우 크기 조정 인터페이싱 객체(1620-1)는 인터페이싱 객체(1620)에서 북동 방향 화살표, 북서 방향 화살표, 남동 방향 화살표, 남서 방향 화살표가 다른 색상으로 시각화된 인터페이싱 객체일 수 있다. 사용자는 상하좌우 크기 조정 인터페이싱 객체(1620-1)를 이용하여, 텍스처의 상하좌우 크기를 확대하거나 축소시킬 수 있다. 이 경우, 텍스처에 포함된 단위 이미지들은 폭 및 높이 비율이 유지된 상태로 확대되거나 축소될 수 있다.
상하 크기 조정 인터페이싱 객체(1620-2)는 인터페이싱 객체(1620)에서 북쪽 방향 화살표 및 남쪽 방향 화살표가 다른 색상으로 시각화된 인터페이싱 객체일 수 있다. 사용자는 상하 크기 조정 인터페이싱 객체(1620-2)를 이용하여, 텍스처의 상하 크기를 확대하거나 축소시킬 수 있다. 예를 들어, 텍스처에 포함된 단위 이미지들의 폭은 유지된 상태에서 높이만 커지거나 감소될 수 있다.
좌우 크기 조정 인터페이싱 객체(1620-3)는 인터페이싱 객체(1620)에서 서쪽 방향 화살표 및 동쪽 방향 화살표가 다른 색상으로 시각화된 인터페이싱 객체일 수 있다. 사용자는 좌우 크기 조정 인터페이싱 객체(1620-3)를 이용하여, 텍스처의 좌우 크기를 확대하거나 축소시킬 수 있다. 예를 들어, 텍스처에 포함된 단위 이미지들의 높이는 유지된 상태에서 폭만 커지거나 감소될 수 있다.
회전 인터페이싱 객체(1620-4)는 인터페이싱 객체(1620)에서 원형 인터페이싱 객체가 다른 색상으로 시각화된 인터페이싱 객체일 수 있다. 사용자는 회전 인터페이싱 객체(1620-4)를 이용하여, 텍스처를 회전시킬 수 있다. 예를 들어, 시뮬레이션 장치는 사용자 입력에 기초하여 텍스처에 포함된 단위 이미지들을 회전시킬 수 있다.
도 17은 일 실시예에 따른 전자 장치를 설명하기 위한 블록도이다.
도 17을 참조하면, 일 실시예에 따른 전자 장치(1700)는 메모리(1720), 프로세서(1710), 디스플레이(1750) 및 통신 인터페이스(1730)를 포함한다. 메모리(1720), 프로세서(1710), 및 통신 인터페이스(1730)는 통신 버스(1740)를 통해 서로 연결될 수 있다.
메모리(1720)는 상술한 프로세서(1710)의 처리 과정에서 생성되는 다양한 정보들을 저장할 수 있다. 이 밖에도, 메모리(1720)는 각종 데이터와 프로그램 등을 저장할 수 있다. 메모리(1720)는 휘발성 메모리 또는 비휘발성 메모리를 포함할 수 있다. 메모리(1720)는 하드 디스크 등과 같은 대용량 저장 매체를 구비하여 각종 데이터를 저장할 수 있다.
디스플레이(1750)는 프로세서(1710)에 의해 제공되는 3차원 가상 의상의 적어도 일부를 표시한다. 또한, 디스플레이(1750)는 프로세서(1710)의 제어에 의하여, 2차원의 텍스쳐 이미지 및 2차원의 캔버스의 다양한 실시예들을 표시할 수 있다.
프로세서(1710)는 목적하는 동작들(desired operations)을 실행시키기 위한 물리적인 구조를 갖는 회로를 가지는 하드웨어로 구현된 장치일 수 있다. 예를 들어, 목적하는 동작들은 프로그램에 포함된 코드(code) 또는 인스트럭션들(instructions)을 포함할 수 있다. 예를 들어, 하드웨어로 구현된 분류 장치는 마이크로프로세서(microprocessor), 중앙 처리 장치(Central Processing Unit; CPU), 그래픽 처리 장치(Graphic Processing Unit; GPU), 프로세서 코어(processor core), 멀티-코어 프로세서(multi-core processor), 멀티프로세서(multiprocessor), ASIC(Application-Specific Integrated Circuit), FPGA(Field Programmable Gate Array), NPU(Neural Processing Unit) 등을 포함할 수 있다.
프로세서(1710)는 프로그램을 실행할 수 있다. 프로세서(1710)에 의하여 실행되는 프로그램 코드는 메모리(1720)에 저장될 수 있다.
이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합에 따른 처리 장치로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 어플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (22)

  1. 의상의 텍스쳐를 편집하는 시뮬레이션 방법에 있어서,
    상기 텍스쳐의 기본 영역에 해당하는 2차원의 캔버스를 표시하는 단계;
    상기 캔버스에 2차원의 텍스쳐 이미지를 표시하는 단계;
    상기 캔버스에 상기 텍스쳐 이미지를 반복하여 표시하기 위한 제1 사용자 입력을 수신하는 단계;
    상기 제1 사용자 입력, 상기 캔버스의 사이즈 및 상기 텍스쳐 이미지의 사이즈에 기초하여, 텍스쳐 이미지들 사이의 간격 파라미터를 결정하는 단계; 및
    상기 결정된 간격 파라미터에 기초하여 상기 캔버스에 상기 텍스쳐 이미지들을 표시하는 단계
    를 포함하는, 시뮬레이션 방법.
  2. 제1항에 있어서,
    상기 캔버스 기반의 텍스쳐를 3차원 의상에 적용하여 표시하는 단계
    를 더 포함하는, 시뮬레이션 방법.
  3. 제1항에 있어서,
    상기 캔버스 기반의 텍스쳐를 3차원 의상에 실시간으로 반영시켜 표시하는 단계
    를 더 포함하는,
    텍스처 생성 방법.
  4. 제1항에 있어서,
    상기 제1 사용자 입력은
    미리 정해진 제1 방향으로 상기 캔버스 내 상기 텍스쳐 이미지를 반복하는 제1 반복 횟수; 및
    미리 정해진 제2 방향으로 상기 캔버스 내 상기 텍스쳐 이미지를 반복하는 제2 반복 횟수
    중 적어도 하나를 포함하는, 시뮬레이션 방법.
  5. 제4항에 있어서,
    상기 간격 파라미터를 결정하는 단계는
    상기 제1 반복 횟수가 입력되는 경우, 상기 캔버스의 상기 제1 방향의 사이즈, 상기 텍스쳐 이미지의 상기 제1 방향의 사이즈 및 상기 제1 반복 횟수에 기초한 상기 제1 방향의 간격 파라미터를 결정하는 단계; 및
    상기 제2 반복 횟수가 입력되는 경우, 상기 캔버스의 상기 제2 방향의 사이즈, 상기 텍스쳐 이미지의 상기 제2 방향의 사이즈 및 상기 제2 반복 횟수에 기초한 상기 제2 방향의 간격 파라미터를 결정하는 단계
    중 적어도 하나를 포함하는, 시뮬레이션 방법.
  6. 제1항에 있어서,
    상기 간격 파라미터를 결정하는 단계는
    상기 제1 사용자 입력에 따른 복수의 텍스쳐 이미지들을 상기 캔버스 내 균등하게 분포시키는 거리를 계산하는 단계
    를 포함하는, 시뮬레이션 방법.
  7. 제1항에 있어서,
    상기 간격 파라미터가 음수로 결정되었는지 여부를 판단하는 단계; 및
    상기 간격 파라미터가 음수로 결정되었다는 판단에 따라, 상기 제1 사용자 입력에 따른 복수의 텍스쳐 이미지들의 양 끝에 상기 텍스쳐 이미지를 각각 추가하는 단계
    를 더 포함하는, 시뮬레이션 방법.
  8. 제1항에 있어서,
    상기 캔버스에 표시된 텍스쳐 이미지의 사이즈를 변경하는 입력을 수신하는 단계; 및
    상기 변경된 사이즈에 기초하여 상기 간격 파라미터를 갱신하는 단계
    를 더 포함하는, 시뮬레이션 방법.
  9. 제1항에 있어서,
    상기 캔버스에 표시된 텍스쳐 이미지를 회전하는 입력을 수신하는 단계;
    상기 회전된 텍스쳐 이미지의 사이즈를 갱신하는 단계; 및
    상기 변경된 사이즈에 기초하여 상기 간격 파라미터를 갱신하는 단계
    를 더 포함하는, 시뮬레이션 방법.
  10. 제1항에 있어서,
    상기 텍스쳐 이미지들이 반복되는 패턴을 시프트(shift)하기 위한 제2 사용자 입력을 수신하는 단계; 및
    상기 제1 사용자 입력, 상기 제2 사용자 입력, 상기 텍스쳐 이미지의 사이즈 및 상기 간격 파라미터에 기초하여, 상기 패턴의 시프트 파라미터를 결정하는 단계
    를 더 포함하는, 시뮬레이션 방법.
  11. 제10항에 있어서,
    상기 캔버스에 상기 텍스쳐 이미지들을 표시하는 단계는
    상기 결정된 간격 파라미터 및 상기 결정된 시프트 파라미터에 기초하여 상기 캔버스에 상기 텍스쳐 이미지들을 표시하는 단계
    를 포함하는, 시뮬레이션 방법.
  12. 제10항에 있어서,
    상기 제2 사용자 입력은
    미리 정해진 제1 방향으로 상기 캔버스 내 반복 패턴을 시프트하는 정도를 조절하는 제1 시프트 인덱스; 및
    미리 정해진 제2 방향으로 상기 캔버스 내 반복 패턴을 시프트하는 정도를 조절하는 제2 시프트 인덱스
    중 적어도 하나를 포함하는, 시뮬레이션 방법.
  13. 제12항에 있어서,
    상기 시프트 파라미터를 결정하는 단계는
    상기 제1 시프트 인덱스가 입력되는 경우, 상기 제1 사용자 입력에 포함된 상기 제2 방향의 반복 횟수, 상기 텍스쳐 이미지의 상기 제1 방향의 사이즈, 상기 제1 방향의 간격 파라미터 및 상기 제1 시프트 인덱스에 기초하여 상기 제1 방향의 시프트 파라미터를 결정하는 단계; 및
    상기 제2 시프트 인덱스가 입력되는 경우, 상기 제1 사용자 입력에 포함된 상기 제1 방향의 반복 횟수, 상기 텍스쳐 이미지의 상기 제2 방향의 사이즈, 상기 제2 방향의 간격 파라미터 및 상기 제2 시프트 인덱스에 기초하여 상기 제2 방향의 시프트 파라미터를 결정하는 단계
    중 어느 하나를 포함하는, 시뮬레이션 방법.
  14. 제12항에 있어서,
    상기 제1 시프트 인덱스는 상기 제1 사용자 입력에 포함된 상기 제2 방향의 반복 횟수보다 작게 설정되고,
    상기 제2 시프트 인덱스는 상기 제1 사용자 입력에 포함된 상기 제1 방향의 반복 횟수보다 작게 설정되는, 시뮬레이션 방법.
  15. 제1항에 있어서,
    상기 캔버스에 포함된 반복 패턴을 전체적으로 이동, 스케일 및/또는 회전시키는 인터페이싱 객체를 표시하는 단계; 및
    상기 인터페이싱 객체를 통한 사용자 입력에 반응하여, 상기 캔버스에 포함된 반복 패턴을 전체적으로 이동, 스케일 및/또는 회전시켜 표시하는 단계
    를 더 포함하는, 시뮬레이션 방법.
  16. 제1항의 방법을 실행시키기 위한 프로그램이 기록된 컴퓨터 판독 가능한 기록 매체.
  17. 의상의 텍스쳐를 편집하는 시뮬레이션 방법을 실행시키기 위한 컴퓨터 프로그램을 저장하는 메모리;
    디스플레이; 및
    상기 텍스쳐의 기본 영역에 해당하는 2차원의 캔버스를 표시하고, 상기 캔버스에 2차원의 텍스쳐 이미지를 표시하도록 상기 디스플레이를 제어하고,
    상기 캔버스에 상기 텍스쳐 이미지를 반복하여 표시하기 위한 제1 사용자 입력을 수신하고, 상기 제1 사용자 입력, 상기 캔버스의 사이즈 및 상기 텍스쳐 이미지의 사이즈에 기초하여, 텍스쳐 이미지들 사이의 간격 파라미터를 결정하며,
    상기 결정된 간격 파라미터에 기초하여 상기 캔버스에 상기 텍스쳐 이미지들을 표시하도록 상기 디스플레이를 제어하는,
    적어도 하나의 프로세서
    를 포함하는, 시뮬레이션 장치.
  18. 제17항에 있어서,
    상기 제1 사용자 입력은
    미리 정해진 제1 방향으로 상기 캔버스 내 상기 텍스쳐 이미지의 제1 반복 횟수; 및
    미리 정해진 제2 방향으로 상기 캔버스 내 상기 텍스쳐 이미지의 제2 반복 횟수
    중 적어도 하나를 포함하는, 시뮬레이션 장치.
  19. 제18항에 있어서,
    상기 적어도 하나의 프로세서는
    상기 제1 반복 횟수가 입력되는 경우, 상기 캔버스의 상기 제1 방향의 사이즈, 상기 텍스쳐 이미지의 상기 제1 방향의 사이즈 및 상기 제1 반복 횟수에 기초하여 상기 제1 방향의 간격 파라미터를 결정하고,
    상기 제2 반복 횟수가 입력되는 경우, 상기 캔버스의 상기 제2 방향의 사이즈, 상기 텍스쳐 이미지의 상기 제2 방향의 사이즈 및 상기 제2 반복 횟수에 기초하여 상기 제2 방향의 간격 파라미터를 결정하는,
    시뮬레이션 장치.
  20. 제17항에 있어서,
    상기 적어도 하나의 프로세서는
    상기 텍스쳐 이미지들이 반복되는 패턴을 시프트(shift)하기 위한 제2 사용자 입력을 수신하고, 상기 제1 사용자 입력, 상기 제2 사용자 입력 및 상기 텍스쳐 이미지의 사이즈에 기초하여, 상기 패턴의 시프트 파라미터를 결정하며,
    상기 결정된 간격 파라미터 및 상기 결정된 시프트 파라미터에 기초하여 상기 캔버스에 상기 텍스쳐 이미지들을 표시하도록 상기 디스플레이를 제어하는,
    시뮬레이션 장치.
  21. 제20항에 있어서,
    상기 제2 사용자 입력은
    미리 정해진 제1 방향으로 상기 캔버스 내 반복 패턴을 시프트하는 정도를 조절하는 제1 시프트 인덱스; 및
    미리 정해진 제2 방향으로 상기 캔버스 내 반복 패턴을 시프트하는 정도를 조절하는 제2 시프트 인덱스
    중 적어도 하나를 포함하는, 시뮬레이션 장치.
  22. 제21항에 있어서,
    상기 적어도 하나의 프로세서는
    상기 제1 시프트 인덱스가 입력되는 경우, 상기 제1 사용자 입력에 포함된 상기 제2 방향의 반복 횟수, 상기 텍스쳐 이미지의 상기 제1 방향의 사이즈 및 상기 제1 시프트 인덱스에 기초하여 상기 제1 방향의 시프트 파라미터를 결정하고,
    상기 제2 시프트 인덱스가 입력되는 경우, 상기 제1 사용자 입력에 포함된 상기 제1 방향의 반복 횟수, 상기 텍스쳐 이미지의 상기 제2 방향의 사이즈 및 상기 제2 시프트 인덱스에 기초하여 상기 제2 방향의 시프트 파라미터를 결정하는,
    시뮬레이션 장치.
PCT/KR2023/007019 2022-05-23 2023-05-23 텍스쳐 이미지 시뮬레이션 방법 및 그 장치 WO2023229348A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202380013141.4A CN117795556A (zh) 2022-05-23 2023-05-23 纹理图像模拟方法及其装置

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR10-2022-0062946 2022-05-23
KR20220062946 2022-05-23
KR10-2023-0066416 2023-05-23
KR1020230066416A KR20230163311A (ko) 2022-05-23 2023-05-23 텍스쳐 이미지 시뮬레이션 방법 및 그 장치

Publications (1)

Publication Number Publication Date
WO2023229348A1 true WO2023229348A1 (ko) 2023-11-30

Family

ID=88919696

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2023/007019 WO2023229348A1 (ko) 2022-05-23 2023-05-23 텍스쳐 이미지 시뮬레이션 방법 및 그 장치

Country Status (1)

Country Link
WO (1) WO2023229348A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140114620A1 (en) * 2010-11-07 2014-04-24 Eitan Grinspun Methods, systems, and media for interactive garment modeling and editing
KR101627114B1 (ko) * 2015-11-19 2016-06-03 정태섭 컴퓨터 시스템을 이용한 의류 제작 시스템
US20190325641A1 (en) * 2012-02-16 2019-10-24 Brown University System and Method for Simulating Realistic Clothing
KR102136620B1 (ko) * 2019-08-23 2020-07-23 (주)클로버추얼패션 의상 패턴들을 표시하는 방법 및 장치
KR20210082407A (ko) * 2019-11-28 2021-07-05 주식회사 지이모션 의상의 3차원 모델링 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140114620A1 (en) * 2010-11-07 2014-04-24 Eitan Grinspun Methods, systems, and media for interactive garment modeling and editing
US20190325641A1 (en) * 2012-02-16 2019-10-24 Brown University System and Method for Simulating Realistic Clothing
KR101627114B1 (ko) * 2015-11-19 2016-06-03 정태섭 컴퓨터 시스템을 이용한 의류 제작 시스템
KR102136620B1 (ko) * 2019-08-23 2020-07-23 (주)클로버추얼패션 의상 패턴들을 표시하는 방법 및 장치
KR20210082407A (ko) * 2019-11-28 2021-07-05 주식회사 지이모션 의상의 3차원 모델링 방법

Similar Documents

Publication Publication Date Title
US5473740A (en) Method and apparatus for interactively indicating image boundaries in digital image cropping
WO2013094953A1 (en) Method for displaying page shape and display apparatus thereof
WO2020180084A1 (ko) 타겟 이미지의 채색 완성 방법, 장치 및 컴퓨터 프로그램
WO2021107204A1 (ko) 의상의 3차원 모델링 방법
WO2023282614A1 (ko) 텍스처 영상 생성 방법 및 장치
WO2023229348A1 (ko) 텍스쳐 이미지 시뮬레이션 방법 및 그 장치
WO2024039121A1 (ko) 렌더링 성능을 올리기 위한 멀티레벨 선택적 렌더링 방법 및 장치
WO2021107205A1 (ko) 의상 모델링을 위한 바디 형상 표시 방법
WO2022239937A1 (en) Designing garment using style line
WO2018182066A1 (ko) 이미지에 동적 효과를 적용하는 방법 및 장치
WO2016182357A1 (ko) 트리맵 시각화 방법 및 그 방법을 이용하는 장치
WO2021107202A1 (ko) 의상의 3차원 모델링 방법
WO2021133081A1 (ko) 가상의 대상체 배치를 위한 사용자 인터페이스 제공 방법, 장치 및 프로그램
WO2023014077A1 (ko) 뷰어를 구동하는 웹 플랫폼의 동작 방법 및 웹 서버
KR20230163311A (ko) 텍스쳐 이미지 시뮬레이션 방법 및 그 장치
WO2024106844A1 (ko) 롤-업을 시뮬레이션하는 방법 및 장치
WO2022211561A1 (ko) 의상 시뮬레이션 방법 및 장치
WO2023214811A1 (ko) 치수 파라미터들에 기초한 패턴 생성 방법 및 장치
WO2023140705A1 (ko) 패턴 생성 시뮬레이션 방법 및 장치
WO2023219436A1 (ko) 3차원 모델링 방법 및 장치
WO2022240082A1 (ko) 의상 시뮬레이션 방법 및 장치
KR101933553B1 (ko) 가상 조명 제공 장치 및 방법
WO2024043665A1 (ko) 3차원 시뮬레이션에서 마커를 생성 방법 및 장치
WO2022145755A1 (ko) 적층형 디스플레이 장치 및 이의 제어 방법
JPS63181074A (ja) 形状描画方法

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: 23812122

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 202380013141.4

Country of ref document: CN