Method and apparatus for simulating clothing
The clothing simulation method addresses the challenge of simulating line length changes by adjusting spring stiffness based on user input, ensuring natural animations without mesh reconstruction, improving virtual clothing realism.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- CLO VIRTUAL FASHION INC
- Filing Date
- 2026-01-02
- Publication Date
- 2026-07-09
AI Technical Summary
Existing clothing simulation technologies face challenges in accurately simulating the unraveling and reconnecting of connection lines in virtual environments, particularly when user input changes the length of a connection line, leading to difficulties in interpolation between keyframes and unnatural results.
A clothing simulation method that adjusts the stiffness of springs connecting virtual garment lines based on user input, classifying the line sections into coupling, interpolation, and non-coupling intervals to generate a natural animation without reconstructing the mesh structure, using a Mass-Spring Model to simulate the movement of vertices and interpolate spring stiffnesses.
Enables real-time simulation of garment interactions with natural-looking animations, allowing seamless changes in line lengths without disrupting the mesh topology, thus enhancing the realism of virtual clothing simulations.
Smart Images

Figure KR2026000082_09072026_PF_FP_ABST
Abstract
Description
Clothing simulation method and device
[0001] The following embodiments relate to a clothing simulation method and apparatus.
[0002] Computer-based simulation technology is widely used in the fashion industry for developing clothing designs. There is a demand for the development of technology to simulate clothing in virtual environments as closely as possible to reality, whether for designing clothing or simulating the appearance of virtual characters wearing clothes in the gaming industry.
[0003] When user input that changes the length of a connection line is input during a simulation, it may be necessary to reconstruct the mesh structure of the patterns connected by the connection line or to reset the entire connection structure. Additionally, when generating keyframe animations, the mesh topology changes between each keyframe, which can make interpolation between keyframes difficult or lead to unnatural results. Consequently, it may be difficult for the user to observe the process of the connection line unraveling or reconnecting in real time.
[0004] A clothing simulation method performed by at least one processor according to one embodiment includes: receiving a user input that changes the joined length of two lines, on which a constraint is set within a virtual clothing, from a first length to a second length; determining one or more constraint attributes of the constraint, wherein the one or more constraint attributes correspond to one or more points in time included in the time interval in which the length changes from the first length to the second length; and generating an animation in which the joined length changes from the first length to the second length by performing a simulation along the one or more points in time based on the one or more constraint attributes.
[0005] The above one or more constraint attributes are based on one or more parameters associated with the bond length, and the one or more parameters may correspond to the one or more time points.
[0006] One or more of the above parameters may be values determined based on the distance from the starting point of the combination of the two lines.
[0007] The step of determining one or more constraint attributes may include the step of determining the stiffness of the spring connecting the at least two lines based on a parameter corresponding to a certain point in time.
[0008] The above stiffness can be determined based on the difference between the position of the spring and the position corresponding to the parameter corresponding to any one of the above points in time.
[0009] A parameter corresponding to any one of the above points includes a first parameter, and the stiffness is determined as a preset first value when the difference between the position of the spring and the position corresponding to the first parameter is a coupling interval, is gradually changed according to the difference when the difference between the position of the spring and the position corresponding to the first parameter is an interpolation interval, and can be determined as a second value smaller than the first value when the difference between the position of the spring and the position corresponding to the first parameter is a non-coupling interval.
[0010] The parameter corresponding to any one of the above points further includes a second parameter distinguished from the first parameter, and in the coupling section, the stiffness is determined as the second value when the difference between the position of the spring and the position corresponding to the second parameter is in a non-coupling section, is gradually changed according to the difference when the difference between the position of the spring and the position corresponding to the second parameter is in an interpolation section, and can be determined as the first value when the difference between the position of the spring and the position corresponding to the second parameter is in a coupling section.
[0011] The method may further include the step of creating one or more springs connecting the at least two lines in response to the combination of the two lines.
[0012] The above one or more parameters can be obtained by interpolating the first length and the second length in correspondence with the above one or more time points.
[0013] The step of generating the animation may further include the step of correcting the rendering positions of corresponding vertices on at least two lines connected by the spring in response to when the stiffness of the spring is greater than or equal to a preset threshold value.
[0014] The step of correcting the rendering position may include: a step of calculating the average value of the rendering positions of the corresponding vertices; and a step of correcting the rendering position of each of the corresponding vertices to the average value.
[0015] The step of generating the animation may include: a step of performing rendering along one or more viewpoints based on the results of a simulation performed along one or more viewpoints; and a step of continuously outputting the rendering results performed along one or more viewpoints in frame units.
[0016] The step of determining one or more constraint attributes may include the step of interpolating the first stiffnesses stored corresponding to the first length and the second stiffnesses stored corresponding to the second length based on a parameter corresponding to any one of the above points in time.
[0017] An electronic device according to one embodiment comprises at least one processor including processing circuitry; and a memory for storing instructions, wherein the instructions, when executed by the at least one processor alone or jointly, cause the electronic device to perform the following operations: receiving user input to change the joined length of two lines in which a constraint condition is set within a virtual garment from a first length to a second length; determining one or more constraint attributes of the constraint condition, wherein the one or more constraint attributes correspond to one or more points in time included in the time interval in which the length changes from the first length to the second length; and performing a simulation along the one or more points in time based on the one or more constraint attributes to generate an animation in which the joined length changes from the first length to the second length.
[0018] The above one or more constraint attributes are based on one or more parameters associated with the bond length, and the one or more parameters may correspond to the one or more time points.
[0019] The operation of determining one or more constraint attributes may include an operation of determining the stiffness of a spring connecting the at least two lines based on a parameter corresponding to a certain point in time.
[0020] The above stiffness can be determined based on the difference between the position of the spring and the position corresponding to the parameter corresponding to any one of the above points in time.
[0021] A parameter corresponding to any one of the above points includes a first parameter, and the stiffness is determined as a preset first value when the difference between the position of the spring and the position corresponding to the first parameter is a coupling interval, is gradually changed according to the difference when the difference between the position of the spring and the position corresponding to the first parameter is an interpolation interval, and can be determined as a second value smaller than the first value when the difference between the position of the spring and the position corresponding to the first parameter is a non-coupling interval.
[0022] The operation of generating the above animation may include: an operation of performing rendering along one or more viewpoints based on the results of a simulation performed along one or more viewpoints; and an operation of continuously outputting the rendering results performed along one or more viewpoints in frame units.
[0023] FIG. 1 is a flowchart illustrating a clothing simulation method according to one embodiment.
[0024] FIGS. 2a and FIGS. 2b are drawings for explaining a method of obtaining parameters according to one embodiment.
[0025] FIG. 3 is a drawing for explaining a spring connecting two lines according to one embodiment.
[0026] FIG. 4 is a diagram illustrating a method for determining the stiffness of a spring based on parameters according to one embodiment.
[0027] FIG. 5 is a diagram illustrating a method for determining the stiffness of a spring based on a first parameter according to one embodiment.
[0028] FIG. 6 is a diagram illustrating a method for determining the stiffness of a spring based on first and second parameters according to one embodiment.
[0029] FIG. 7 is a diagram illustrating a method for changing the coupling length by user input according to one embodiment.
[0030] FIGS. 8A and FIGS. 8B are drawings for explaining a method for correcting a rendering position according to one embodiment.
[0031] FIG. 9 is a drawing illustrating a user interface screen for setting the starting point of a combination of two lines according to one embodiment.
[0032] FIG. 10 is a block diagram of the configuration of a device according to one embodiment.
[0033] Specific structural or functional descriptions of the embodiments are disclosed for illustrative purposes only and may be modified and implemented in various forms. Accordingly, actual implementations are not limited to the specific embodiments disclosed, and the scope of this specification includes modifications, equivalents, or substitutions included in the technical concept described by the embodiments.
[0034] In relation to the description of the drawings, similar reference numerals may be used for similar or related components. The singular form of the noun corresponding to an item may include one or more of said items unless the relevant context clearly indicates otherwise.
[0035] In this document, each of the phrases such as "A or B", "at least one of A and B", "at least one of A or B", "A, B or C", "at least one of A, B and C", and "at least one of A, B, or C" may include any one of the items listed together in the corresponding phrase, or all possible combinations thereof.
[0036] Terms such as “first,” “second,” or “first” or “second” may be used simply to distinguish a component from another component and do not limit the components in other aspects (e.g., importance or order). For example, a first component may be named a second component, and similarly, a second component may be named a first component.
[0037] Where any (e.g., 1st) component is referred to as “coupled” or “connected” to another (e.g., 2nd) component, with or without the terms “functionally” or “communicationly,” it means that said any component may be connected to said other component directly (e.g., via a wire), wirelessly, or through a third component.
[0038] The singular expression includes the plural expression unless the context clearly indicates otherwise. In this specification, terms such as "comprising" or "having" are intended to specify the existence of the described features, numbers, steps, actions, components, parts, or combinations thereof, and should be understood as not precluding the existence or addition of one or more other features, numbers, steps, actions, components, parts, or combinations thereof.
[0039] Unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as generally understood by those skilled in the art. Terms such as those defined in commonly used dictionaries should be interpreted as having a meaning consistent with their meaning in the context of the relevant technology, and should not be interpreted in an ideal or overly formal sense unless explicitly defined in this specification.
[0040] As used in this specification, the term "avatar" may refer to any type of three-dimensional object that serves as the object for which clothing is worn or placed within a virtual space. This is not limited to typical human figures and can be defined as a broad concept that includes body forms of various sizes, mannequins, torsos, as well as biological forms or abstract geometric structures. Accordingly, "avatar" should be broadly interpreted to mean any three-dimensional mesh or geometric shape having a surface capable of physically interacting with virtual clothing.
[0041] As used in this specification, the term "clothing" may refer to the target units used when designing by a fashion company. For example, if an avatar is wearing a top, bottoms (skirt or pants), a scarf, a bag, and socks, each of the top, bottoms, scarf, bag, and socks may correspond to clothing. Clothing may be understood to encompass not only garments but also all clothing-related items that can be worn on the body, such as accessories, bags, shoes, etc.
[0042] 'Patterns' may be two-dimensional patterns corresponding to each body part constituting a three-dimensional garment. The two-dimensional patterns may be virtual two-dimensional patterns modeled as a set of multiple polygons for the simulation of the three-dimensional garment. The two-dimensional patterns include multiple pattern pieces, and each of the multiple pattern pieces may be modeled as a polygonal mesh based, for example, on the body shape of a three-dimensional avatar. The polygonal mesh may include multiple polygons (e.g., triangles or squares, etc.).
[0043] In one embodiment, the pattern may be composed of a mesh containing multiple polygons. Depending on the embodiments, the mesh may be modeled in various ways. For example, the vertices of the polygons included in the mesh may be point masses having mass, and the sides of the polygons may be represented as springs having elasticity connecting that mass. Accordingly, the 3D garment may be modeled, for example, by a Mass-Spring Model. Depending on the physical properties of the fabric used, the springs may have resistance values for, for example, stretch, shear, and bending. Alternatively, the mesh may be modeled by a strain model. The polygons included in the mesh may be modeled, for example, as triangles, or as polygons of quadrilateral or greater size. In some cases, if a 3D volume needs to be modeled, the mesh may be modeled as a 3D polyhedron.
[0044] The vertices of the polygon(s) contained in the mesh can be moved by external forces, such as gravity, and internal forces, such as stretch, shear, and bending. By calculating the external and internal forces to determine the force applied to each vertex, the displacement velocity and motion of each vertex can be obtained. The movement of the clothing can be simulated through the movement of the vertices of the polygon(s) constituting the mesh in each time motion. For example, if clothing composed of a polygonal mesh is worn on a 3D avatar, natural 3D virtual clothing based on the laws of physics can be realized. The vertices of the polygon(s) contained in the mesh can move according to the action of external forces, such as gravity, and internal forces such as stretch, shear, and bending. By calculating external and internal forces to determine the force applied to each vertex, the displacement and velocity of movement of each vertex can be obtained. Furthermore, the movement of virtual clothing can be simulated through the movement of the vertices of the mesh's polygons at each time step. By fitting a 2D pattern composed of polygonal meshes onto a 3D avatar, a natural-looking 3D virtual garment based on the laws of physics can be realized.
[0045] Hereinafter, embodiments will be described in detail with reference to the attached drawings. In the description with reference to the attached drawings, identical components are given the same reference numeral regardless of the drawing number, and redundant descriptions thereof will be omitted.
[0046] FIG. 1 is a flowchart illustrating a clothing simulation method according to one embodiment.
[0047] Referring to FIG. 1, an electronic device performing a clothing simulation according to one embodiment (e.g., the electronic device (1000) of FIG. 10) is shown in the process of generating an animation in which the combined length changes from a first length to a second length through steps (110) to (130). The specific hardware configuration of the electronic device is described in detail below.
[0048] The operations of steps (110) to (130) included in the clothing simulation method described in FIG. 1 may be performed sequentially, but are not necessarily performed sequentially. For example, the order of steps (110) to (130) may be changed, and at least two of the operations of steps (110) to (130) may be performed in parallel.
[0049] In step (110), the electronic device can receive user input to change the joined length of two lines with constraints set within the virtual garment from a first length to a second length.
[0050] "Joining" may refer to a state in which two or more garment patterns are connected. Specifically, joining may refer to a state in which corresponding pairs of vertices located on a line of one pattern and a line of another pattern are controlled by specific constraints to occupy substantially the same or adjacent positions in the simulation. Accordingly, joining may include a state (non-merged state) in which a constraint, such as a spring (or strong elastic force) with high stiffness (e.g., stiffness = 1), is applied between the pairs of vertices to keep them from separating from each other during the simulation. Additionally, or alternatively, joining may include a state in which the pairs of vertices are merged or welded into a single vertex and topologically connected during the simulation. For example, joining may include two or more patterns being connected by a seam or an object containing a seam. "Seam" may refer to a line of stitching used to connect two or more garment patterns to each other. 'Objects including sewing lines' may refer to accessories that perform a connecting function similar to a sewing line by fixing two or more garment patterns, such as zippers, Velcro, buttons and button holes, and snaps.
[0051] 'Constraints' may represent computational rules or physical parameters applied to restrict the relative positional relationship or movement between a first element (e.g., a vertex of the first pattern) and a second element (e.g., a vertex of the second pattern) while the garment simulation is being performed. That is, constraints may refer to constraints that define the physical connection relationship between two elements. Constraints may be set using, for example, welding to merge two vertices, a fixed constraint to fix the distance between two vertices, or constraint elements such as springs and dampers, and may include, but are not limited to, methods of forcibly moving the positions of two elements every frame to make the two elements adjacent or making the distance between the two elements zero (i.e., geometric constraints).
[0052] 'Two lines with set constraints' may refer to two lines connected in the simulation by constraint elements. Each line may belong to a different clothing pattern. Additionally, each line may belong to a single clothing pattern. According to the embodiment, three or more patterns may be combined by a single connecting line; however, for the sake of convenience of explanation, the following description assumes the case where two patterns are combined.
[0053] 'Joining length' may refer to the length of the section where two lines are joined. For example, in the case of a one-way zipper, the distance from the starting point of the joining (e.g., a stopper) to the point where the puller is located may correspond to the joining length. For example, in the case of a two-way zipper that includes multiple joining control points, the length of the section from the first joining control point (e.g., a first puller) to the second joining control point (e.g., a second puller) may correspond to the joining length.
[0054] Changing the joining length may mean changing the length at which the joined lines meet, for example, changing the length of a sewing line connecting two patterns. According to one embodiment, an electronic device may receive user input to change the joining length of two lines included in a three-dimensional garment from a first length to a second length through a user interface displaying a three-dimensional garment. The "first length" may refer to the joining (or joining line) length corresponding to the current joining state at the time of user input. The "second length" may refer to the joining (or joining line) length corresponding to the joining state that is changed according to the input. The input to change the joining length may occur when a user selects a point or joining control point on the two joined lines through touch input using a finger, touch pen input, or mouse click, and drags or moves the position of the selected point up or down, but is not necessarily limited thereto.
[0055] According to one embodiment, a user operation to open and close a zipper can be understood as a user input to change the length of a seam connecting two teeth patterns. In one embodiment, the user can change the combined length of two lines containing the zipper by clicking or touching the zipper puller and then dragging along the zipper line.
[0056] In step (120), the electronic device may determine one or more constraint attributes of the constraint condition. One or more constraint attributes may correspond to one or more points in time included in the time interval changing from the first length to the second length. For convenience of explanation, the time interval changing from the first length to the second length may be referred to as the change interval.
[0057] 'Constraint attribute' may refer to an attribute that defines the physical connection state and / or strength between two lines combined in a simulation. The constraint attribute may include set values of constraint elements. For example, the constraint attribute may include the stiffness of a spring, a damping coefficient, etc., but is not necessarily limited thereto. According to one embodiment, the constraint attribute may be based on one or more parameters associated with the connection length.
[0058] The parameter is a parameterized length of the joint between two lines and can be defined along the joint line. The parameter may be a value determined, for example, based on the distance from the starting point of the joint between the two lines. The 'starting point of the joint between the two lines' may be defined based on the point where the two lines begin to join, that is, the point where the joint line begins, and may, for example, be the end point of the sewing line where the notch is located or the point where the zipper stopper is located, but is not necessarily limited thereto. For convenience of explanation, the starting point of the joint between the two lines may be referred to as the sewing starting point below.
[0059] In one embodiment, the electronic device may acquire a parameter corresponding to a corresponding point in time within the change interval. For example, in the case of two lines including a zipper, the distance from the stopper to the puller at the corresponding point in time may be parameterized as a parameter. According to an embodiment, the electronic device may acquire a plurality of parameters corresponding to a corresponding point in time within the change interval. For example, if the two lines include two pullers, such as a two-way zipper, the electronic device may acquire two parameters corresponding to each of the two pullers.
[0060] According to one embodiment, an electronic device can obtain one or more parameters by interpolating a first length and a second length corresponding to one or more time points. For example, the electronic device can obtain a parameter value corresponding to a corresponding time point by interpolating the first length and the second length with a weight corresponding to a time point within a change interval. A method for an electronic device to obtain parameters according to one embodiment will be described in more detail with reference to FIGS. 2a and 2b.
[0061] According to one embodiment, the electronic device can determine one or more constraint attributes corresponding to one or more time points based on one or more parameters.
[0062] According to one embodiment, an electronic device may generate one or more springs connecting two lines in response to the joining of two lines. For example, when a user creates a seam or creates an object containing a seam, the electronic device may identify one or more pairs of vertices included in the mesh of the two lines joined by the seam and generate a spring connecting each pair of vertices.
[0063] According to one embodiment, the electronic device can determine the stiffness of a spring connecting two lines based on a parameter corresponding to a specific point in time. Generally, when a user changes the length of a sewing line, processing time may be required because the mesh structure of the pattern connected by the sewing line must be reconfigured or the entire sewing structure must be reconfigured. However, according to one embodiment, the electronic device can implement a visual effect of the sewing line unraveling or being re-seated in real time without the need to reconfigure the mesh structure by adjusting only the stiffness of each spring while maintaining the connection relationship of the springs included in the two lines being joined.
[0064] According to one embodiment, the stiffness of a spring can be determined based on the difference between the position of the spring and the position corresponding to a parameter at a given point in time. The "position of the spring" may refer to the distance from the starting point of joining two lines (e.g., the sewing starting point) to the point where the spring is located. The "position corresponding to the parameter" may refer to the parameter value obtained at that point in time. In one embodiment, the electronic device classifies the section where the spring is located into one of a joining section, an interpolation section, or a non-joining section based on the difference in distance between the position of the spring and the position corresponding to the parameter, and may set a relatively high stiffness value for the spring located in the joining section and a low stiffness value for the spring located in the non-joining section. A method for determining the stiffness of a spring by an electronic device according to one embodiment will be explained in more detail with reference to FIGS. 4 to 6 below.
[0065] In step (130), the electronic device can generate an animation in which the coupling length changes from a first length to a second length by performing a simulation along one or more viewpoints based on one or more constraint attributes.
[0066] According to one embodiment, the electronic device can perform rendering along one or more viewpoints based on simulation results performed along one or more viewpoints, and continuously output the rendering results performed along one or more viewpoints in frame units.
[0067] In one embodiment, the animation may be generated based on key frames. A 'key frame' may refer to a frame in which at least one attribute of an object (e.g., an avatar wearing a garment or a garment) is specified. The attribute value specified in the key frame may be referred to as a 'key' or 'key value'. For example, an electronic device may set a point in time where the parameter corresponds to a first length and a second length, respectively, as a key frame by using a parameter corresponding to the distance from the starting point of the joining of two lines as the key.
[0068] The electronic device may generate intermediate frame(s) based on a predetermined time interval or number of frames between a start key frame (e.g., a point in time when the parameter corresponds to a first length) and an end key frame (e.g., a point in time when the parameter corresponds to a second length). At this time, the electronic device may obtain a parameter value corresponding to a corresponding point in time by interpolating the first length and the second length with a weight corresponding to the point in time within the change interval. In each intermediate frame, a naturally connected animation may be generated by performing a simulation sequentially based on the parameter value at the corresponding point in time. For example, the electronic device may determine spring stiffness based on the parameter value at the corresponding point in time and perform a simulation corresponding to the corresponding point in time. Then, by sequentially rendering the simulation results and continuously outputting them frame by frame, an animation may be generated in which the combined length of two lines changes from a first length to a second length.
[0069] According to one embodiment, the electronic device may correct the rendering positions of corresponding vertices on two lines connected by the spring in response to when the stiffness of the spring is greater than or equal to a preset reference value. When the stiffness of the spring is greater than or equal to a preset reference value, it may mean that the two vertices should be output in a completely joined (or bonded) state (e.g., a welded state). The electronic device may correct the rendering positions of the vertices so that, for example, when a bonded state exists between the two vertices connected by the spring—that is, in the case of a zipper, when the zipper is closed—the two vertices are output in a completely joined (or bonded) state. A method for the electronic device to correct the rendering positions according to one embodiment is described in more detail through FIGS. 8a and 8b.
[0070] FIGS. 2a and FIGS. 2b are drawings for explaining a method of obtaining parameters according to one embodiment.
[0071] Referring to FIG. 2a, a joining line (210) including a zipper is illustrated as an example of joining two lines. According to one embodiment, the parameter is a parameter defined along the joining line (210) and may be a value determined based on the distance from the starting point of joining the two lines (in the case of FIG. 2, the zipper stopper (201)). The parameter may be calculated, for example, as the distance from the zipper stopper (201) to the point (202) where the zipper puller is located, a value obtained by normalizing the distance with respect to the length of the entire joining line (210), or the ratio of the distance to the length of the entire joining line (210), but is not necessarily limited thereto.
[0072] Referring to FIG. 2b, one point in time within the change section is illustrated as an example. According to one embodiment, the electronic device may obtain one or more parameters parameterized to the length of the connecting line (220) corresponding to one or more points in time included in the section changing from a first length to a second length. For example, the electronic device may obtain the distance from the zipper stopper (203) to the point (205) where the zipper puller is located at the corresponding point in time as a parameter (230) corresponding to one or more points in time included in the change section.
[0073] For example, let’s assume that an electronic device receives user input to change the zipper from a fully closed state to a fully open state. Referring to FIG. 2b, the electronic device may receive user input to lower the puller from point (204) to near the zipper stopper (203). According to one embodiment, the electronic device may generate and provide to the user an animation of the zipper changing from a fully closed state to a fully open state. As described above, the animation may be generated based on keyframes. The electronic device may set a point where the parameter corresponds to a first length and a second length, respectively, as a keyframe, using a parameter (230) corresponding to the starting point of the joining of the two lines, i.e., the distance from the zipper stopper (203). Then, the electronic device may generate intermediate frame(s) based on a predetermined time interval or number of frames between the start keyframe (e.g., the point where the parameter corresponds to the first length) and the end keyframe (e.g., the point where the parameter corresponds to the second length). At this time, the electronic device can obtain a parameter value (230) corresponding to a corresponding time point by interpolating the first length and the second length with a weight corresponding to a time point within the change interval.
[0074] FIG. 3 is a drawing for explaining a spring connecting two lines according to one embodiment.
[0075] Referring to FIG. 3, two different patterns (310, 320) are illustrated. According to one embodiment, an electronic device may generate one or more springs connecting the two lines in response to the joining of the two lines. For example, when a user creates a seam line or creates an object containing a seam line, the electronic device may identify one or more pairs of vertices included in the mesh of the lines (311, 321) joined by the seam line and generate a spring (330) connecting each pair of vertices. For example, vertex (313) is a vertex located on line (311) of pattern (310), and vertex (323) is a vertex located on line (321) of pattern (320), and a spring (333) may be connected between these two vertices.
[0076] Springs (330, 333) can be used to represent physical connections between vertices in a mass-spring model. According to one embodiment, an electronic device can determine the stiffness of a spring connecting two lines based on a parameter corresponding to a point in time. By adjusting only the stiffness of each spring while maintaining the connection relationship of the springs contained in the two combined lines, the electronic device can implement a visual effect of a seam unraveling or being re-sealed in real time without the need to reconstruct the mesh structure.
[0077] FIG. 4 is a diagram illustrating a method for determining the stiffness of a spring based on parameters according to one embodiment.
[0078] Referring to FIG. 4, a plurality of springs are connected between two different patterns joined by a zipper. According to one embodiment, the stiffness of the springs can be determined based on the difference between the position of the springs and the position corresponding to a parameter at a given point in time. The 'position of the springs' may refer to the distance from the starting point of the joining of the two lines (not shown) to the point (401) where the corresponding springs are located. The 'position corresponding to the parameter' may refer to the parameter value obtained at the corresponding point in time, for example, the distance from the starting point of the joining of the two lines to the point (402) where the puller is located at the corresponding point in time.
[0079] In one embodiment, the electronic device classifies the section where the spring is located into one of a coupled section, an interpolated section, or a non-coupled section based on the distance difference (403) between the position of the spring and the position corresponding to the parameter, and may set a relatively high stiffness value for the spring located in the coupled section and a low stiffness value for the spring located in the non-coupled section. A method for determining stiffness based on the distance difference between the position of the spring and the position corresponding to the parameter according to one embodiment will be described in detail with reference to FIGS. 5 and 6 below.
[0080] In one embodiment, the electronic device can determine the stiffness of a spring by interpolating the first stiffnesses stored corresponding to a first length and the second stiffnesses stored corresponding to a second length, based on a parameter corresponding to a certain point in time. For example, the electronic device may pre-calculate the stiffnesses of the spring at each position corresponding to the coupling length and store them in the form of a lookup table. When the electronic device receives a user input to change from a first length to a second length, it can determine the stiffness of the spring corresponding to a corresponding point in time by interpolating the first stiffness corresponding to the first length and the second stiffness corresponding to the second length, based on a parameter obtained corresponding to a point in time within the change interval. The electronic device can generate a keyframe animation by sequentially performing simulation and rendering using the determined spring stiffness as described above.
[0081] According to one embodiment, the electronic device may generate an animation by not using parameters as keys and by assigning user-defined spring stiffness values corresponding to key frames. For example, the electronic device may store a first stiffness value of each spring corresponding to a start key frame and a second stiffness value of each spring corresponding to an end key frame. For intermediate frames between the start key frame and the end key frame, the electronic device may determine the spring stiffnesses corresponding to each intermediate frame by interpolating the first stiffness values and the second stiffness values per spring based on a frame index or time weight. The user may directly define the stiffness distribution of each spring in the form of a graph or a combination of constant values without making the stiffness of the springs dependent on parameterized lengths, and the electronic device may generate an animation by interpolating these user-defined stiffness values between key frames.
[0082] FIG. 5 is a diagram illustrating a method for determining the stiffness of a spring based on a first parameter according to one embodiment.
[0083] Referring to Fig. 5, the distance from the starting point of the connection of the two lines to the point where the corresponding spring is located is Along the axis, the stiffness of the corresponding spring It is illustrated as an axis. According to one embodiment, the electronic device obtains a first parameter parameterized by the combined length of two lines and can determine the stiffness of the spring based on the first parameter. For example, the electronic device can determine the stiffness of the spring based on the difference between the position of the spring and the position corresponding to the first parameter.
[0084] The electronic device can determine the stiffness of the corresponding spring to a preset first value (511) when the difference between the position of the spring and the position corresponding to the first parameter is a coupling section (510). For example, the electronic device can determine that it is a coupling section when the difference between the position of the spring and the position corresponding to the first parameter is negative. Referring to FIG. 5, the first parameter If α is 0.5, the electronic device A section (510) of less than 0.5 can be determined as a coupling section, and the stiffness of the corresponding spring can be determined as a first value (511). Referring to FIG. 5, the first value (511) is set to 1000, but is not necessarily limited thereto.
[0085] If the difference between the position of the spring and the position corresponding to the first parameter is a non-coupling section (530), the electronic device may determine the stiffness of the corresponding spring to a second value (531) that is smaller than the first value. For example, the electronic device may determine that it is a non-coupling section if the difference between the position of the spring and the position corresponding to the first parameter is greater than or equal to a threshold value. The threshold value is the length of the interpolation section and can be set in various ways depending on the embodiment. Referring to FIG. 5, the first parameter α is 0.5, and the threshold value If is 1, the electronic device A section (530) in which α is 1.5 or higher can be determined as a non-coupled section, and the stiffness of the corresponding spring can be determined as a second value (531). Referring to FIG. 5, the second value (531) is set to 0, but is not necessarily limited thereto.
[0086] The electronic device may determine that the stiffness of the spring is gradually changed according to the difference when the difference between the position of the spring and the position corresponding to the first parameter is an interpolation interval (520). The electronic device may determine that it is an interpolation interval when the difference between the position of the spring and the position corresponding to the first parameter is within a threshold value. Referring to FIG. 5, the first parameter α is 0.5, and the threshold value If is 1, the electronic device The interval (520) of 0.5 or more and less than 1.5 can be determined as an interpolation interval, and the stiffness of the spring can be determined to decrease gradually.
[0087] According to one embodiment, an interpolation interval may be introduced to prevent the connection of the seam line from being abruptly released in the simulation and to express the change interval smoothly. If an interpolation interval does not exist, the stiffness of the spring changes abruptly between the connected and unconnected sections, so a visual effect may occur where the connection is intermittently released whenever the zipper puller passes the corresponding spring. According to one embodiment, a natural change animation can be implemented by setting a certain range centered on the position of the zipper puller as an interpolation interval and setting the stiffness of the spring within the corresponding interval to change gradually.
[0088] The stiffness of the interpolation interval can be implemented based on various damping or cut-off functions, such as an exponential decay function, an inverse function, a quadratic cut-off function, and a piecewise linear function, but is not necessarily limited thereto. Referring to FIG. 5, an example is shown in which the stiffness of the interpolation interval (520) is defined by a quadratic cut-off function (521) and by an inverse decay function (522).
[0089] FIG. 6 is a diagram illustrating a method for determining the stiffness of a spring based on first and second parameters according to one embodiment.
[0090] Referring to FIG. 7, the line group may include two pullers (702, 703), such as a two-way zipper. The electronic device may obtain a first parameter and a second parameter corresponding to each of the two pullers (702, 703). For convenience of explanation, the parameter corresponding to the puller (703) will be assumed to be the first parameter and the parameter corresponding to the puller (702) will be assumed to be the second parameter.
[0091] Referring again to FIG. 6, the distance from the starting point of the connection of the two lines to the point where the corresponding spring is located is Along the axis, the stiffness of the corresponding spring It is illustrated as an axis. According to one embodiment, the electronic device obtains a first parameter and a second parameter parameterized by the combined length of two lines, and can determine the stiffness of the spring based on the first parameter and the second parameter. For example, the electronic device can determine the stiffness of the spring based on the difference between the position of the spring and the position corresponding to the first parameter and / or the second parameter.
[0092] The electronic device may determine the stiffness of the corresponding spring as the second value (611) when the difference between the position of the spring and the position corresponding to the second parameter is a non-coupling section (610). For example, the electronic device may determine that it is a non-coupling section when the difference between the position of the spring and the position corresponding to the second parameter is greater than or equal to a threshold value. The threshold value is the length of the interpolation section and can be set in various ways depending on the embodiment. Referring to FIG. 6, the second parameter α is 1.3, and the threshold If is 1, the electronic device A section (610) in which α is 0.3 or less can be determined as a non-joining section, and the stiffness of the corresponding spring can be determined as a second value (611). Referring to FIG. 6, the second value (611) is set to 0, but is not necessarily limited thereto.
[0093] The electronic device may determine that the stiffness of the spring is gradually changed according to the difference when the difference between the position of the spring and the position corresponding to the second parameter is an interpolation interval (620). For example, the electronic device may determine that it is an interpolation interval when the difference between the position of the spring and the position corresponding to the second parameter is within a threshold value. Referring to FIG. 6, the second parameter α is 1.3, and the threshold If is 1, the electronic device The interval (620) in which is greater than 0.3 and less than or equal to 1.3 can be determined as an interpolation interval, and the stiffness of the spring can be determined to increase gradually.
[0094] The electronic device can determine the stiffness of the corresponding spring as the first value (631) when the difference between the position of the spring and the position corresponding to the second parameter is a coupling section (630). For example, the electronic device can determine that it is a coupling section when the difference between the position of the spring and the position corresponding to the second parameter is positive and the difference between the position of the spring and the position corresponding to the first parameter is negative. Referring to FIG. 6, the second parameter α 1.3, first parameter If α is 2.2, the electronic device The section (630) greater than 1.3 and less than 2.2 can be determined as the coupling section, and the stiffness of the corresponding spring can be determined as the first value (631). Referring to FIG. 6, the first value (631) is set to 1000, but is not necessarily limited thereto.
[0095] The electronic device can determine the stiffness of the corresponding spring as a second value (651) when the difference between the position of the spring and the position corresponding to the first parameter is in a non-coupling section (650). For example, the electronic device can determine that it is in a non-coupling section when the difference between the position of the spring and the position corresponding to the first parameter is greater than or equal to a threshold value. Referring to FIG. 6, the second parameter α is 2.2, and the threshold If is 1, the electronic device A section (650) in which α is 3.2 or higher can be determined as a non-coupled section, and the stiffness of the corresponding spring can be determined as a second value. Referring to FIG. 6, the second value (651) is set to 0, but is not necessarily limited thereto.
[0096] The electronic device may determine that the stiffness of the spring is gradually changed according to the difference when the difference between the position of the spring and the position corresponding to the first parameter is an interpolation interval (640). For example, the electronic device may determine that it is an interpolation interval when the difference between the position of the spring and the position corresponding to the first parameter is within a threshold value. Referring to FIG. 6, the first parameter α is 2.2, and the threshold If is 1, the electronic device The interval (640) of 2.2 or more and less than 3.2 can be determined as an interpolation interval, and the stiffness of the spring can be determined to decrease gradually.
[0097] FIG. 7 is a diagram illustrating a method for changing the combined length of two lines by user input according to one embodiment.
[0098] Referring to FIG. 7, two lines connected by a zipper having two pullers (702, 703) are shown.
[0099] The electronic device can receive user input to change the combined length of two lines included in the three-dimensional garment from a first length to a second length through a user interface displaying the three-dimensional garment. The 'first length' may refer to the combined length (710) of two lines corresponding to the combined state at the time of user input. The 'second length' may refer to the combined length (720) of two lines corresponding to the combined state that is changed according to the user input.
[0100] Input that changes the combined length of two lines may occur when a user selects a point on the two lines or a combined control point (e.g., a zipper puller) through touch input using a finger, touch pen input, or mouse click, and drags or moves the position of the selected point up or down, but is not necessarily limited to this.
[0101] For example, the user can perform the action of opening the zipper by clicking or touching the zipper puller and then dragging it along the zipper line from the starting point (701) where the two lines are joined to the point (702). The electronic device can create a zipper opening animation in real time by using a parameter corresponding to the distance from the starting point (701) where the two lines are joined as a key, setting a point where the parameter corresponds to the first length (710) and the second length (720), respectively, as a key frame, and generating intermediate frame(s) based on a predetermined time interval or number of frames between the start key frame (e.g., the point where the parameter corresponds to the first length) and the end key frame (e.g., the point where the parameter corresponds to the second length).
[0102] FIGS. 8A and FIGS. 8B are drawings for explaining a method for correcting a rendering position according to one embodiment.
[0103] Referring to FIG. 8a, an example is illustrated in which, when a strong external force is applied to two different patterns connected by a spring, the two patterns appear to be separated. When a bonded state exists between two vertices connected by a spring, for example, when a zipper is closed, the two vertices should be rendered as being visually completely bonded (or joined). However, when a strong external force is applied to the two patterns, a phenomenon (810) may occur in which the two patterns appear to be separated despite strong stiffness.
[0104] Referring to FIG. 8b, an example is illustrated in which an electronic device corrects the rendering positions of vertices located in a joining section. According to one embodiment, the electronic device may correct the rendering positions of corresponding vertices on two lines connected by the spring in response to when the stiffness of the spring is greater than or equal to a preset reference value. When the stiffness of the spring is greater than or equal to a preset reference value, it may mean that, regardless of the results of the physical simulation, the two vertices must be output in a completely joined (or bonded) state (e.g., a welded state) in the rendering. For example, if a bonded state exists between two vertices connected by the spring, the electronic device may correct the rendering positions of the vertices so that they are identical, thereby causing the two vertices to be output in a visually joined state (820).
[0105] In one embodiment, the electronic device may calculate the average value of the rendering positions of the corresponding vertices and correct the rendering position of each of the corresponding vertices to the average value. The reference value may correspond to the first value described in FIGS. 5 and FIGS. 6. For example, if the stiffness of the spring corresponds to the first value, the electronic device may determine that the corresponding vertices are in a joined state and correct the rendering position of each vertex to the average value so that the two vertices are output in a visually completely joined (or bonded) state (820).
[0106] FIG. 9 illustrates an example of a user interface screen for setting the starting point of a combination of two lines according to one embodiment.
[0107] The 'start point of joining two lines' can be defined based on the point where the two lines begin to join. Depending on the embodiment, the start point of joining two lines may be automatically set by the system settings or manually specified by user input. For example, if a user performs an action of moving the zipper puller, the electronic device may automatically set the point where the zipper stopper is located as the start point of joining two lines.
[0108] According to one embodiment, a user can select one of the joint lines included in a three-dimensional garment and then specify the starting point (901) of the joint line through a user interface (900). For example, the user can specify the end point of the sewing line where the notch is located or the opposite end point of the notch as the starting point (901) of the two lines. Referring to FIG. 9, the user can select which of the two endpoints of the joint line to set as the starting point of the joint through a check box or selection option in the properties window (900) within the user interface. For example, if the user clicks the check box for the notch (902), the end point of the sewing line where the notch is located can be set as the starting point (901) of the two lines. Conversely, if the user does not click the check box for the notch (902), the opposite end point of the notch can be set as the starting point (901) of the two lines.
[0109] According to an embodiment, the user may manually specify the starting point of the two lines' connection by touching or clicking any point on the connection line in the 3D garment screen or 2D pattern window. The method of specifying the starting point of the two lines' connection may vary depending on the implementation method or application and is not limited to the examples described above.
[0110] FIG. 10 is a block diagram of the configuration of a device according to one embodiment.
[0111] Referring to FIG. 10, an electronic device (1000) according to one embodiment includes one or more processors (1010) and memory (1030). The electronic device (1000) may further include an output device (1050). One or more processors (1010), memory (1030), and output device (1050) may be connected to each other via a communication bus (1005).
[0112] The electronic device (1000) may be a PC (Personal Computer), a user device (User Equipment) such as a smartphone, a server, and / or a cloud server or cloud computing model providing SaaS (Software as a Service) services. The output device (1050), indicated by a dotted line in FIG. 10, may be optionally included depending on the type of electronic device (1000).
[0113] One or more processors (1010) include processing circuitry.
[0114] The memory (1030) stores instructions executed by one or more processors (1010). When the instructions are executed individually or collectively by one or more processors (1010), the electronic device (1000) enables the aforementioned clothing simulation method to be performed.
[0115] The electronic device (1000) receives user input to change the combined length of two lines, in which constraint conditions are set within the virtual garment, from a first length to a second length.
[0116] The electronic device (1000) determines one or more constraint attributes of the constraint condition. One or more constraint attributes may correspond to one or more points in time included in the time interval changing from a first length to a second length. At this time, the parameters and / or constraint attributes may be stored inside the electronic device (100), such as in memory (1030), or may be stored outside the electronic device (1000), such as in a cloud server, cloud storage, or an external hard drive.
[0117] The electronic device (1000) generates an animation in which the joint length changes from a first length to a second length by performing a simulation along one or more viewpoints based on one or more constraint attributes. The output device (1050) can output (display) the change animation generated by one or more processors (1010).
[0118] In addition, the memory (1030) can store various information generated during the processing of one or more processors (1010) described above. According to one embodiment, the memory (1030) can store a program in which the clothing simulation method described above is implemented through FIGS. 1 to 9. In addition, the memory (1030) can store various data and programs. The memory (1030) may include volatile memory or non-volatile memory. The memory (1030) may store various data by having a large-capacity storage medium such as a hard disk.
[0119] Additionally, one or more processors (1010) may perform at least one method or an algorithm corresponding to at least one method described above through FIGS. 1 to 9. One or more processors (1010) may be a data processing device implemented in hardware having a circuit having a physical structure for executing desired operations. For example, the desired operations may include code or instructions included in a program. One or more processors (1010) may be composed of, for example, a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), or a NPU (Neural Network Processing Unit). For example, the electronic device (1000) implemented in hardware may include a microprocessor, a central processing unit, a processor core, a multi-core processor, a multiprocessor, an Application-Specific Integrated Circuit (ASIC), and a Field Programmable Gate Array (FPGA).
[0120] One or more processors (1010) can execute a program and control an electronic device (1000). The program code executed by one or more processors (1010) can be stored in memory (1030).
[0121] Additionally, an electronic device (1000) according to one embodiment can receive data from a user through an input / output device (I / O) and output generated data. For example, the electronic device (1000) can receive input from a user through an input / output device to change the combined length of two lines from a first length to a second length. The electronic device (1000) can be connected to an external device (e.g., a personal computer or a network) through an input / output device and exchange data.
[0122] An electronic device (1000) according to one embodiment may further include other components not illustrated. For example, the electronic device (1000) may further include a communication module that provides a function for the electronic device (1000) to communicate with another electronic device or another server via a network. Also, for example, the electronic device (1000) may further include other components such as a transceiver, various sensors, a database, etc.
[0123] The embodiments described above may be implemented as hardware components, software components, and / or combinations of hardware and software components. For example, the devices, methods, and components described in the embodiments may be implemented using a general-purpose computer or a special-purpose computer, such as, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA), a programmable logic unit (PLU), a microprocessor, or any other device capable of executing and responding to instructions. The processing unit may execute an operating system (OS) and software applications executed on said operating system. Additionally, the processing unit may access, store, manipulate, process, and generate data in response to the execution of the software. For ease of understanding, the processing unit may be described as being used as a single unit, but those skilled in the art will understand that the processing unit may include multiple processing elements and / or multiple types of processing elements. For example, the processing unit may include multiple processors or one processor and one controller. In addition, other processing configurations, such as parallel processors, are also possible.
[0124] Software may include computer programs, code, instructions, or a combination of one or more of these, and may configure a processing unit to operate as desired or instruct the processing unit independently or collectively. Software and / or data may be stored on any type of machine, component, physical device, virtual equipment, computer storage medium, or device so as to be interpreted by the processing unit or to provide instructions or data to the processing unit. Software may be distributed over networked computer systems and stored or executed in a distributed manner. Software and data may be stored on computer-readable recording media.
[0125] 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 store program instructions, data files, data structures, etc., either individually or in combination, and the program instructions recorded on the medium may be those specifically designed and configured for the embodiment or those known and available to those skilled in the art of computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes; optical recording media such as CD-ROMs and DVDs; magneto-optical media such as floptical disks; and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, and flash memory. Examples of program instructions include machine code, such as that generated by a compiler, as well as high-level language code that can be executed by a computer using an interpreter, etc.
[0126] The hardware device described above may be configured to operate as one or more software modules to perform the operation of the embodiment, and vice versa.
[0127] Although the embodiments have been described above with reference to the limited drawings, those skilled in the art can apply various technical modifications and variations based thereon. For example, suitable results may be achieved even if the described techniques are performed in a different order than described, and / or if the components of the described system, structure, device, circuit, etc. are combined or assembled in a form different from described, or replaced or substituted by other components or equivalents.
[0128] Therefore, other implementations, other embodiments, and equivalents to the claims also fall within the scope of the claims set forth below.
Claims
1. A step of receiving user input to change the joined length of two lines with set constraints within the virtual garment from a first length to a second length; A step of determining one or more constraint attributes of the above constraint condition - the one or more constraint attributes correspond to one or more time points included in the time interval changing from the first length to the second length -; and A step of generating an animation in which the combined length changes from the first length to the second length by performing a simulation along the one or more viewpoints based on the one or more constraint attributes. A clothing simulation method performed by at least one processor, comprising 2. In Paragraph 1, The above one or more constraint attributes are based on one or more parameters associated with the bond length, and A clothing simulation method in which one or more of the above parameters correspond to one or more of the above points in time.
3. In Paragraph 2, The above one or more parameters are A value determined based on the distance from the starting point of the combination of the two lines above, Clothing simulation method.
4. In Paragraph 2, The step of determining one or more of the above constraint attributes A step of determining the stiffness of the spring connecting the two lines based on a parameter corresponding to a specific point in time. including, Clothing simulation method.
5. In Paragraph 4, The above stiffness is Determined based on the difference between the position of the above spring and the position corresponding to the parameter corresponding to any one of the above points in time, Clothing simulation method.
6. In Paragraph 4, The parameter corresponding to any one of the above points in time includes a first parameter, and The above stiffness is If the difference between the position of the spring and the position corresponding to the first parameter is a coupling section, it is determined by a preset first value, and If the difference between the position of the spring and the position corresponding to the first parameter is an interpolation interval, it is gradually changed according to the difference, and If the difference between the position of the spring and the position corresponding to the first parameter is in a non-coupling section, it is determined to be a second value smaller than the first value. Clothing simulation method.
7. In Paragraph 6, The parameter corresponding to any one of the above points in time further includes a second parameter distinguished from the first parameter, and In the above coupling section, the stiffness is If the difference between the position of the spring and the position corresponding to the second parameter is a non-coupling section, it is determined as the second value, and If the difference between the position of the spring and the position corresponding to the second parameter is an interpolation interval, it is gradually changed according to the difference, and In the case where the difference between the position of the spring and the position corresponding to the second parameter is a coupling section, the first value is determined. Clothing simulation method.
8. In Paragraph 1, A step of generating one or more springs connecting the two lines in response to the combination of the two lines. including, Clothing simulation method.
9. In Paragraph 2, The above one or more parameters are Obtained by interpolating the first length and the second length in correspondence with the above one or more time points, Clothing simulation method.
10. In Paragraph 4, The step of generating the above animation A step of correcting the rendering positions of corresponding vertices on the two lines connected by the spring in response when the stiffness of the spring is greater than or equal to a preset threshold value. including, Clothing simulation method.
11. In Paragraph 10, The step of correcting the above rendering position A step of calculating the average value of the rendering positions of the corresponding vertices; and A step of correcting the rendering position of each of the above-mentioned vertices to the above-mentioned average value including, Clothing simulation method.
12. In Paragraph 1, The step of generating the above animation A step of performing rendering along one or more viewpoints based on the results of a simulation performed along one or more viewpoints; and A step of continuously outputting rendering results performed along one or more of the above-mentioned viewpoints in frame units. including, Clothing simulation method.
13. In Paragraph 2, The step of determining one or more of the above constraint attributes A step of interpolating the first stiffnesses previously stored corresponding to the first length and the second stiffnesses previously stored corresponding to the second length, based on a parameter corresponding to a certain point in time. including, Clothing simulation method.
14. A computer program stored on a computer-readable recording medium in combination with hardware to execute the method of any one of claims 1 through 13.
15. In electronic devices, At least one processor including processing circuitry; and Memory that stores instructions Includes, When the above commands are executed by the at least one processor alone or jointly, the electronic device, An action of receiving user input to change the joined length of two lines with set constraints within the virtual garment from a first length to a second length; An operation to determine one or more constraint attributes of the above constraint condition - the one or more constraint attributes correspond to one or more time points included in the time interval changing from the first length to the second length -; and An operation to generate an animation in which the coupling length changes from the first length to the second length by performing a simulation along the one or more viewpoints based on the one or more constraint attributes. causing to perform, Electronic device.
16. In Paragraph 15, The above one or more constraint attributes are based on one or more parameters associated with the bond length, and The above one or more parameters correspond to the above one or more time points, Electronic device.
17. In Paragraph 16, The operation of determining one or more of the above constraint attributes is Operation of determining the stiffness of the spring connecting the two lines based on a parameter corresponding to a single point in time. including, Electronic device.
18. In Paragraph 17, The above stiffness is Determined based on the difference between the position of the above spring and the position corresponding to the parameter corresponding to any one of the above points in time, Electronic device.
19. In Paragraph 17, The parameter corresponding to any one of the above points in time includes a first parameter, and The above stiffness is If the difference between the position of the spring and the position corresponding to the first parameter is a coupling section, it is determined by a preset first value, and If the difference between the position of the spring and the position corresponding to the first parameter is an interpolation interval, it is gradually changed according to the difference, and If the difference between the position of the spring and the position corresponding to the first parameter is in a non-coupling section, it is determined to be a second value smaller than the first value. Electronic device.
20. In Paragraph 15, The action of generating the above animation is An operation of performing rendering along one or more viewpoints based on the results of a simulation performed along one or more viewpoints; and An operation of continuously outputting rendering results performed along one or more of the above-mentioned viewpoints on a frame-by-frame basis. including, Electronic device.