This application claims the benefit of Korean Patent Application No. 10-2021-0107825 filed on Aug. 17, 2021, Korean Patent Application No. 10-2021-0165660 filed on Nov. 26, 2021, and Korean Patent Application No. 10-2022-0079018 filed on Jun. 28, 2022, the entire disclosures of which are incorporated herein by reference for all purposes.
The disclosure relates to a method and devices for generating an exploded view for design object simulation.
In design object simulation, users may finely modify and design each part of a design object through an exploded view. Specifically, in the design object simulation, the exploded view may display a plurality of patterns included in the design object where the patterns are decomposed and separated from each other. Through the exploded view, the users may perform delicate tasks such as sewing lines, choosing materials, and converting measurement for each pattern included in the design object. Therefore, there is an increasing need for generating an exploded view for smooth and efficient designing of a design object.
Embodiments relate to generating an exploded view of a design object. A first bounding area corresponding to the design object is generated. Second bounding areas, each corresponding to each of pieces in the design object, are generated. Unadjusted distances between a first center of the first bounding area and second centers of the second bounding areas are determined. Adjusted positions of the pieces according to adjusted distances between the first center and the second centers corresponding to the unadjusted distances are determined. The adjusted distances are increased relative to the unadjusted distances. The pieces of the design objects are displayed at the adjusted positions.
In one or more embodiments, wherein the positions are adjusted by determining, as the adjusted distances, the unadjusted distances increased by values that are the first distances multiplied by a predetermined ratio.
In one or more embodiments, the positions are adjusted by converting the unadjusted distances into unit distances; and setting the adjusted distances based on the unit distances.
In one or more embodiments, the positions are adjusted by determining the adjusted distances based on a user selection input.
In one or more embodiments, a distance between a third center of each of third bounding areas corresponding to each of a plurality of design elements in a piece of the plurality of pieces and a second center of the piece is adjusted.
In one or more embodiments, an adjusted distance between the first center and one of the second vectors is set to be greater than a distance between the second center and the third center.
In one or more embodiments, the plurality of pieces are restored from the adjusted positions to unadjusted positions according to the unadjusted distances when a user selection input is received. The design object and each of pieces in the design object are displayed at the unadjusted positions.
In one or more embodiments, selection of at least one of the pieces or design elements in each of the pieces in the exploded view is received. The pieces or the design elements are displayed in the adjusted positions in the exploded view. Design data corresponding to at least one of the selected piece or design element is modified. The design data includes data about at least one of a pattern, a material, a supplemental material, or a measurement of the selected piece or the selected design element.
In one or more embodiments, the selected piece or the selected design element adjusted according to the modified design data is displayed in real time.
In one or more embodiments, at least one of the pieces or one of the design elements selected based on a user selection input is displayed in the exploded view with the at least one of the pieces or one of the design elements at positions that are adjusted.
In one or more embodiments, a transparency of at least one of the pieces or one of the design elements selected is decreased based on a user selection input in the exploded view with the at least one of the pieces or one of the design elements at positions that are adjusted.
In one or more embodiments, a modification object for modifying design data and the exploded view are displayed on a screen. The exploded view is changed based on modification of the design data of the modification object.
These and/or other aspects, features, and advantages of the invention will become apparent and more readily appreciated from the following description of example embodiments, taken in conjunction with the accompanying drawings of which:
The following structural or functional descriptions of example embodiments described herein are merely intended for the purpose of describing the example embodiments described herein and may be implemented in various forms. However, it should be understood that these example embodiments are not construed as limited to the illustrated forms.
Although terms of “first,” “second,” and the like are used to explain various components, the components are not limited to such terms. These terms are used only to distinguish one component from another component. For example, a first component may be referred to as a second component, or similarly, the second component may be referred to as the first component within the scope of the present disclosure.
When it is mentioned that one component is “connected” or “accessed” to another component, it may be understood that the one component is directly connected or accessed to another component or that still other component is interposed between the two components. In addition, it should be noted that if it is described in the specification that one component is “directly connected” or “directly joined” to another component, still other component may not be present therebetween. Likewise, expressions, for example, “between” and “immediately between” and “adjacent to” and “immediately adjacent to” may also be construed as described in the foregoing.
As used herein, the singular forms “a,” “an,” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises” and/or “comprising,” when used in this specification, specify the presence of stated features, integers, steps, operations, elements, components or a combination thereof, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
Unless otherwise defined herein, all terms used herein including technical or scientific terms have the same meanings as those generally understood by one of ordinary skill in the art. Terms defined in dictionaries generally used should be construed to have meanings matching contextual meanings in the related art and are not to be construed as an ideal or excessively formal meaning unless otherwise defined herein.
Hereinafter, example embodiments will be described in detail with reference to the accompanying drawings. When describing the example embodiments with reference to the accompanying drawings, like reference numerals refer to like components and a repeated description related thereto will be omitted.
A design object according to an example embodiment may be an image obtained by virtualizing a designed article. The designed article is not limited to a specific article, and may in general refer to all designable articles. For example, a user (e.g., designer) who designs clothes may design digital versions of clothes. Virtualized sample clothes for manufacturing physical clothes may be designed online. Such virtualized sample clothes may be a design object. The design objects may also be, among others, curtains, shoes, bags, gloves, furniture, toys, and the like. For example, the T-shirt and pants illustrated in
Hereinafter, a specific method of generating an exploded view of a design object will be described. In
The design object 100 according to an example embodiment may be a virtual design object. A processor 910 according to an example embodiment may generate the first bounding area 130 corresponding to the design object 100. The design object 100 according to an example embodiment may include clothes. Accordingly, the processor 910 may generate the first bounding area 130 corresponding to the clothes. For example, the clothes may include a T-shirt. As illustrated in
The bounding area according to an example embodiment may be an area have a size minimized to include all points of the object. For example, the first bounding area 130 may be an area having a size minimized to include all points of the clothes. The bounding area according to an example embodiment may have a form of a bounding box and/or a bounding sphere.
The processor 910 according to another example embodiment may generate a first bounding sphere 150 corresponding to the design object 100. The bounding sphere according to an example embodiment may refer to a sphere having a size including all points of the object. The bounding sphere according to another example embodiment may be a sphere generated based on the bounding box. For example, the processor 910 may generate a bounding sphere based on eight vertices of the bounding box. The processor 910 may generate the bounding sphere such that eight vertices of the bounding box are tangent to the face of the sphere. Accordingly, the first bounding sphere 150 may be generated based on the first bounding area 130.
The processor 910 according to an example embodiment may generate the second bounding areas 170 corresponding to each of a plurality of pieces included in the design object. A piece according to an example embodiment may refer to at least a part of a design object. For example, when the design object is single pieced, the piece may be generated by dividing the piece into a plurality of areas. In another example, when the design object is a dress and a bag, the processor 910 may divide the design object into a dress and a bag, separately. The piece may include a plurality of areas of a dress and/or a plurality of areas of a bag. In another example, when the design object is a T-shirt, the piece may be divided into a body, arm sleeves, and a collar. In yet another example, when the design object is pants, it may be divided into a leg portion, a trouser end, a trouser pocket, or a bar waist portion. The second bounding area 170 according to an example embodiment may refer to a bounding area corresponding to one piece.
A design element according to an example embodiment constitutes a design object and may be referred to as a part of a piece. The design element may include at least one of a pattern or a supplemental material.
The processor 910 may obtain a distance between the first vector at the center of the first bounding area 130 and the second vector at the center of the at least one second bounding area 170. The exploded view 101 in
The processor 910 may determine adjust positions of the plurality of pieces by increasing the distances between the first vector and the second vectors based on the unadjusted distance (e.g., the distance between the first vector 140 and the second vector 180). For example, the processor 910 may calculate the distance between the first vector 140 and the second vector 180. In addition, the processor 910 may adjust the distance between the first vector 140 and the second vector 180 based on the calculated distance between the first vector 140 and the second vector 180. A specific method of increasing the distances between the first vector and the second vectors according to an example embodiment will be described in detail below with reference to
A first method 200 for increasing distances between the first vector and the second vectors according to an example embodiment may be as follows. The processor 910 may determine the adjusted distances between the first vector and the second vectors based on values obtained by multiplying the unadjusted distances between the first vector and the second vectors by a predetermined ratio. In
A second method 201 for increasing the distances between the first vector and the second vectors according to another example embodiment may be as follows. The processor 910 may convert the unadjusted distance between the first vector and the at least one second vector into a unit distance, and then increase the distances between the first vector and the second vectors based on the unit distance. In
The above-described unit distance is merely an example, and the present disclosure is not limited thereto. The processor 910 may convert Δu 250 into unit(Δu), which is a unit distance. The processor 910 may position the second vector at an adjusted distance away from the first vector by a unit distance added to the unadjusted distance between the first vector and the second vector (e.g., Δv 220 or Δu 250). Alternatively, the processor 910 may position the second vector at an adjusted distance away from the first vector by (predetermined ratio)*(unit distance) added to the unadjusted distance between the first vector and the second vector (e.g., Δv 220 or Δu 250). The processor 910 may multiply each unit distance by a predetermined ratio (e.g., c). For example, the processor 910 may adjust the position of the second vector 1230 to a position away from the first vector 210 by Δv+c*unit(Δv) 222. In addition, the adjusted position may be determined as the adjusted position 2241 of the second vector 1. In another example, the processor 910 may adjust the position of the second vector 2260 to a position at an adjusted distance away from the first vector 210 by Δu+c*unit(Δu) 252. In addition, the adjusted position may be determined as the adjusted position 2281 of the second vector 2.
When the processor 910 adjusts the distance between the first vector and the second vector using the second method 201, the adjusted distance change amount may be smaller than when the first method 200 is used. For example, when the processor 910 uses the first method 200, the pieces or design elements that are further away from the first vector may be adjusted to be distanced further from the first vector than when using the second method 201. Accordingly, when the processor 910 uses the first method 200, the pieces and/or design elements may be scattered further away in the exploded view 101. This is because the adjusted distance increases in proportion to the distance between the first vector and the second vector. When the processor 910 uses the second method 201, pieces and/or design elements may be scattered with smaller distances than when the first method 200 is used. This is because the position of the pieces and/or design elements are adjusted by a value obtained by adding a unit distance to the distance between the first vector and the second vector.
In
Referring to
The processor 910 may generate the exploded view 101 by adjusting the positions of the plurality of pieces. Referring to
The processor 910 may adjust the distance between the second vector and the first vector of the second bounding area corresponding to the piece determined based on the user selection input. In addition, the processor 910 may maintain the distance between the second vector and the first vector corresponding to each of the pieces other than the pieces determined based on the user selection input. In this way, the processor 910 displays only the pieces desired by the user at a distance separated away from other pieces, so that the user may easily modify and check the designs of the pieces.
According to an example embodiment, the user may modify or add a sewing line in the exploded view through design object simulation. In this case, if the plurality of patterns included in the design object are all disassembled and scattered, the graphic interface may look distracting and may hinder the focus of the user. Accordingly, the processor 910 may adjust the distance by disassembling only the portion selected by the user (e.g., the selected piece or the selected design element), and the remaining portion may maintain the unadjusted distance. Specifically, when the user selects a piece, the processor 910 may adjust the distance between the second vector and the first vector of the corresponding piece. In addition, the processor 910 may maintain the unadjusted distance between the second vector and the first vector of another piece. Furthermore, the processor 910 may also adjust the distance between the third vectors and the second vectors of the third bounding area corresponding to the plurality of design elements included in the corresponding piece. In another example, when the user selects a design element, the processor 910 may adjust the distance between the third vector and the second vector of the corresponding design element. In addition, the distance between the third vector and the second vector of the remaining design elements may be maintained.
In another embodiment, the processor 910 may generate the exploded view 101 by adjusting the positions of the plurality of pieces and then adjusting the positions of the plurality of design elements included in the pieces. Hereinafter, a method of adjusting positions of a plurality of design elements will be described in detail with reference to
The processor 910 may adjust the positions of the plurality of pieces by increasing distances between the first vector and the second vectors. In addition, the processor 910 may adjust the distance between the third vector which is a center of each of the third bounding areas corresponding to the plurality of design elements included in the piece and the second vector of the piece. The design element may be at least a part of the piece. For example, when the piece is a body part of a T-shirt, the piece may include a front pattern and a back pattern.
In
The second bounding area 2320 according to an example embodiment may include a pattern 1330, a pattern 2340, and a pattern 3350. In addition, a second vector corresponding to the second bounding area 1310 may be a point 1311, and a second vector corresponding to the second bounding area 2320 may be a point 2321.
In
The processor 910 may increase the distance between the point 3331 which is the third vector of the pattern 1330 and the point 2321 which is the second vector of the second bounding area 2320. The processor 910 may increase the distance between the point 4341 which is the third vector of the pattern 2340 and the point 2321 which is the second vector of the second bounding area 2320. The processor 910 may increase the distance between the point 5351 which is the third vector of the pattern 3350 and the point 2321 which is the second vector of the second bounding area 2320. In this way, the positions of the pattern 1330, the pattern 2340, and the pattern 3350 included in the second bounding area 2320 may be adjusted while being away from each other.
By decomposing design elements into units (e.g., adjusting the distance between the second vector and the third vector) after decomposing the design object 100 into pieces (e.g., adjusting the distance between the first vector and the second vector), the user may perceive an exploded view of the design object in an orderly manner.
The distance between the first vector and the second vector according to an example embodiment may be set to be greater than the distance between the second vector and the third vector. For example, the distance between the first vector and the second vector (e.g., point 321 in
The processor 910 may restore the positions of the plurality of pieces from adjusted positions to their unadjusted positions based on the user selection input. The user selection input according to an example embodiment may include “exploded view on” and/or “exploded view off”. Referring to
The processor 910 may select at least one of a piece and a design element based on a user selection input in an exploded view in which the positions of the plurality of pieces or the positions of the plurality of design elements are adjusted. The processor 910 may modify design data corresponding to at least one of the selected piece or the design element. Modification of design data in an exploded view is specifically described below with reference to
One or more design data associated with the design object may be data required to generate an article corresponding to the design object. The design data may be data for producing a virtualized sample article in an actual process. The design data may be related to at least one of the pattern 670, the material 671, the supplemental material 672, or measurements for each of the articles for producing the article. The pattern 670 may refer to cutting of at least a portion constituting the article. For example, the pattern 670 may refer to flat cutting of each of the front, back, sleeves, and parts constituting the T-shirt. The material 671 may refer to a raw material constituting the article. For example, in the case of clothes, the material 671 may refer to cotton, wool, velvet, or the like. The supplemental material 672 may be a material used as an auxiliary to constitute the article. For example, a material mainly used to constitute clothes may be cloth, and a supplemental material used as an auxiliary may be a button, a logo, a zipper, and the like. A measurement may be a value for describing a material or supplemental material used to constitute an article. For example, the measurement may be the length of each corner of the pattern for describing the pattern, the diameter of a button, and the like. For example, the design data may be on four patterns constituting the T-shirt, the material constituting each part of the T-shirt, buttons and logos running on the T-shirt, and size or length of each. The detailed description of the above-described design data is merely an example, and the present disclosure is not limited thereto.
In the exploded view in which the positions of the plurality of pieces or the design elements are adjusted, display of a piece or design element using at least one of a material, a pattern, and a supplemental material selected based on the user selection input may be changed. The user selection input according to an example embodiment may be information input through a modification object. The processor 910 may change the display of a piece or design element using at least one of a material, a pattern, and a supplemental material selected through the modification of one or more objects in the exploded view. In this way, the user may easily identify a piece or design element using at least one of a material, a pattern, and a supplemental material in the exploded view. For example, when the material object 680 is selected in
The electronic device 900 according to an example embodiment may output the modification object 605 and the exploded view 690 on the screen. The electronic device 900 may reflect the design data modification information (received through the modification object) to the exploded view 690. Specifically, the electronic device 900 may deform the exploded view 690 based on the design data modification information. For example, when a button, which is a supplemental material, is changed to a button of a different design, the electronic device 900 may display the changed button through the exploded view 690. In this way, the user may view the exploded view 690 in which the modifications of the design data are reflected in real time through the screen.
As illustrated in
In the exploded view in which the positions of the plurality of pieces are adjusted or the positions of the plurality of design elements are adjusted, the display of the selected piece or design element may be changed based on the user selection input. For example, the design element selected by the user in
The processor 910 may add an annotation in an exploded view “off” state. An annotation according to an example embodiment may be an object displayed overlaid onto a design object. For example, the annotation may be in various forms such as text and a figure, and may be used by users to leave a comment on a design object. In another embodiment, the processor 910 may add an annotation in an exploded view “on” state.
When a rendering selection input is received, the processor 910 may switch the exploded view “on” state to the exploded view “off” state and output the rendering result on the screen.
Through the method according to the present disclosure, the user may more closely and easily observe the editing target as units of design elements constituting the design object. In addition, when an exploded view using the relative distance of the present disclosure is used, the user may more efficiently identify an important part or a target part for further work in a design object with a large number of design elements.
The electronic device 900 may generate 820 second bounding areas corresponding to each of the plurality of pieces included in the design object. The electronic device 900 may determine 830 unadjusted distances between the first vector indicating the center of the first bounding area and the second vectors indicating the respective centers of the second bounding areas.
The electronic device 900 according to an example embodiment may adjust 840 the positions of the plurality of pieces by increasing distances between the first vector and the second vectors based on the unadjusted distances. The electronic device 900 according to an example embodiment may increase the distances between the first vector and the second vectors based on a value obtained by multiplying the unadjusted distances between the first vector and the second vectors by a predetermined ratio. The electronic device 900 may convert the distances between the first vector and the second vectors into unit distances, and then increase the distances between the first vector and the second vectors based on the unit distances. The electronic device 900 according to an example embodiment may adjust the distance between the second vector and the first vector of the second bounding area corresponding to the piece determined based on the user selection input.
The electronic device 900 may adjust a distance between a third vector which is a center of each of the third bounding areas corresponding to a plurality of design elements included in the piece and a second vector of the piece.
The electronic device 900 may restore the plurality of pieces whose positions have been adjusted based on a user selection input to their original positions.
The electronic device 900 may select at least one of a piece and a design element based on a user selection input in an exploded view in which the positions of the plurality of pieces or the design elements are adjusted. The electronic device 900 according to an example embodiment may modify design data corresponding to at least one of the selected piece and design element.
In the exploded view in which the positions of the plurality of pieces are adjusted or the positions of the plurality of design elements are adjusted, the electronic device 900 may change how at least one piece or design element using at least one of a material, a pattern, and a supplementary material selected based on the user selection input is displayed. The electronic device 900 may, for example, lower the transparency of the selected piece or design element based on the user selection input.
The memory 920 may store various information generated in the process of the above-described processor 910. In addition, the memory 920 may store various data and programs. The memory 920 may include a volatile memory or a non-volatile memory. The memory 920 may include a mass storage medium such as a hard disk to store various data.
The processor 910 may be a hardware-implemented device having a circuit having a physical structure for executing desired operations. For example, desired operations may include code or instructions included in a program. For example, a classification unit implemented in hardware may include a microprocessor, a central processing unit (CPU), a graphic processing unit (GPU), a processor core, a multi-core processor, a multi-core processor, a multiprocessor, an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA), a neural processing unit (NPU), and the like.
The processor 910 may execute a program and control the electronic device. The program code executed by the processor 910 may be stored in the memory 920.
The example embodiments described herein may be implemented using hardware components, software components, or a combination thereof. A processing device may be implemented using one or more general-purpose or special purpose computers, such as, for example, a processor, a controller and an arithmetic logic unit, a digital signal processor, a microcomputer, a field programmable array, a programmable logic unit, a microprocessor or any other device capable of responding to and executing instructions in a defined manner. The processing device may run an operating system (OS) and one or more software applications that run on the OS. The processing device also may access, store, manipulate, process, and create data in response to execution of the software. For purpose of simplicity, the description of a processing device is used as singular; however, one skilled in the art will appreciated that a processing device may include multiple processing elements and multiple types of processing elements. For example, a processing device may include multiple processors or a processor and a controller. In addition, different processing configurations are possible, such as parallel processors.
The software may include a computer program, a piece of code, an instruction, or some combination thereof, to independently or collectively instruct or configure the processing device to operate as desired. Software and data may be embodied permanently or temporarily in any type of machine, component, physical or virtual equipment, computer storage medium or device, or in a propagated signal wave capable of providing instructions or data to or being interpreted by the processing device. The software also may be distributed over network coupled computer systems so that the software is stored and executed in a distributed fashion. The software and data may be stored by one or more non-transitory computer readable recording mediums.
The method according to the above-described example embodiments may be recorded in non-transitory computer-readable media including program instructions to implement various operations which may be performed by a computer. The media may also include, alone or in combination with the program instructions, data files, data structures, and the like. The program instructions recorded on the media may be those specially designed and constructed for the purposes of the example embodiments, or they may be of the well-known kind and available to those having skill in the computer software arts. Examples of non-transitory computer-readable media include magnetic media such as hard disks, floppy disks, and magnetic tape; optical media such as CD ROM discs and DVDs; magneto-optical media such as optical discs; and hardware devices that are specially configured to store and perform program instructions, such as read-only memory (ROM), random access memory (RAM), flash memory, and the like. The media may be transfer media such as optical lines, metal lines, or waveguides including a carrier wave for transmitting a signal designating the program command and the data construction. Examples of program instructions include both machine code, such as code produced by a compiler, and files containing higher level code that may be executed by the computer using an interpreter.
The described hardware devices may be configured to act as one or more software modules in order to perform the operations of the above-described example embodiments, or vice versa.
While this disclosure includes example embodiments, it will be apparent to one of ordinary skill in the art that various changes in form and details may be made in these example embodiments without departing from the spirit and scope of the claims and their equivalents. Suitable results may be achieved if the described techniques are performed in a different order, and/or if components in a described system, architecture, device, or circuit are combined in a different manner and/or replaced or supplemented by other components or their equivalents.
Therefore, the scope of the disclosure is defined not by the detailed description, but by the claims and their equivalents, and all variations within the scope of the claims and their equivalents are to be construed as being included in the disclosure.
Number | Date | Country | Kind |
---|---|---|---|
10-2021-0107825 | Aug 2021 | KR | national |
10-2021-0165660 | Nov 2021 | KR | national |
10-2022-0079018 | Jun 2022 | KR | national |