JP6663183B2 - Method and apparatus for modeling objects - Google Patents

Method and apparatus for modeling objects Download PDF

Info

Publication number
JP6663183B2
JP6663183B2 JP2015153329A JP2015153329A JP6663183B2 JP 6663183 B2 JP6663183 B2 JP 6663183B2 JP 2015153329 A JP2015153329 A JP 2015153329A JP 2015153329 A JP2015153329 A JP 2015153329A JP 6663183 B2 JP6663183 B2 JP 6663183B2
Authority
JP
Japan
Prior art keywords
particles
modeling
grid
fluid
collision
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2015153329A
Other languages
Japanese (ja)
Other versions
JP2016045945A (en
Inventor
▲な▼ ▲ひょっぷ▼ 姜
▲な▼ ▲ひょっぷ▼ 姜
知 ▲妍▼ 金
知 ▲妍▼ 金
炯 旭 李
炯 旭 李
暉 龍 鄭
暉 龍 鄭
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of JP2016045945A publication Critical patent/JP2016045945A/en
Application granted granted Critical
Publication of JP6663183B2 publication Critical patent/JP6663183B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02TCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
    • Y02T90/00Enabling technologies or technologies with a potential or indirect contribution to GHG emissions mitigation

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Geometry (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • Software Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)

Description

本発明は、オブジェクトをモデリングする方法及び装置に関する。   The present invention relates to a method and an apparatus for modeling an object.

コンピュータグラフィックス(Computer Graphics;CG)分野、特に、視覚効果(Visual Effects;VFX)分野の流体シミュレーションに関して、流体の流動を数値的に解決しようとする研究が続けて行われている。ナビエ-ストークス方程式(Navier−Stokes Equation)は流体を極めて小さい粒子の和として見て、それぞれの粒子が相互にどのように作用して動くかを示すものである。ナビエ−ストークス方程式は理想的な状況を仮定する場合、より簡単なベルヌーイ定理(Bernoulli’s principle)に変わることがある。ナビエ−ストークス方程式に基づいた流体モデリングの現実的な再現のためには、非圧縮性条件を満足しなければならない。   2. Description of the Related Art In the field of computer graphics (CG), particularly fluid simulation in the field of Visual Effects (VFX), research for solving the fluid flow numerically has been continuously conducted. The Navier-Stokes Equation describes a fluid as a sum of extremely small particles and shows how each particle interacts and moves. The Navier-Stokes equation may turn into a simpler Bernoulli's principle when assuming ideal situations. In order to realistically reproduce the fluid modeling based on the Navier-Stokes equation, the incompressibility condition must be satisfied.

また、変形体に対するシミュレーションは、モデルの反応がリアルタイムに行われると同時に、目で観測するのに自然な程度の算出に関する正確性が保証されなければならない。そのために変形体の物理的特性、境界条件、外部で作用する力などを考慮したモデルが主に利用されている。   Further, in the simulation for the deformed object, the reaction of the model must be performed in real time, and at the same time, the accuracy of the calculation for a natural degree to be visually observed must be guaranteed. For this purpose, a model that mainly takes into account the physical properties of the deformable body, boundary conditions, and externally acting forces is mainly used.

コンピュータグラフィックス分野で流体に対するシミュレーション及び変形体に対するシミュレーションがそれぞれ個別的になされているが、流体及び変形体が混在して互いに影響を及ぼす環境が一般的である。   In the field of computer graphics, a simulation for a fluid and a simulation for a deformed body are individually performed, but an environment in which the fluid and the deformed body coexist and affect each other is general.

本発明の目的は、異種の特性を有するオブジェクト間に隣接する領域に対して格子を活用することで、固体シミュレーションと流体シミュレーションとを分離し、固体及び流体それぞれのモデリング時に求められる体積保存などのような制約条件を個別的に達成することである。   An object of the present invention is to separate a solid-state simulation from a fluid-state simulation by utilizing a grid for an area adjacent to an object having dissimilar characteristics, and to save a volume required when modeling each of a solid and a fluid. It is to achieve such constraints individually.

本発明の他の目的は、相対モデリングモジュールが背景格子に格納した情報を用いて自身のモデリング時に反映することで、固体及び流体間の相互作用をリアルタイム処理し、流体及び流体と混合した固体を写実的にモデリングすることである。   Another object of the present invention is to allow the relative modeling module to use the information stored in the background grid and reflect it at the time of its own modeling, thereby real-time processing the interaction between the solid and the fluid, and process the fluid and the solid mixed with the fluid. It is to model realistically.

一実施形態によると、オブジェクトをモデリングする方法は、粒子からモデリングされた第1オブジェクトと粒子からモデリングされた第2オブジェクトとの間の隣接領域を検出するステップと、前記隣接領域に対して格子を定義するステップと、前記格子の格子点に格納された情報を用いて、前記隣接領域における前記第1オブジェクトと前記第2オブジェクトとの間の作用力を算出するステップと、前記作用力に基づいて前記第1オブジェクトと前記第2オブジェクトをモデリングするステップとを含む。   According to one embodiment, a method of modeling an object includes detecting an adjacent region between a first object modeled from a particle and a second object modeled from a particle, and defining a grid for the adjacent region. Defining, using the information stored at the grid points of the grid, calculating the acting force between the first object and the second object in the adjacent area, based on the acting force Modeling the first object and the second object.

前記格子を定義するステップは、前記隣接領域で前記第1オブジェクト又は前記第2オブジェクトの輪郭と前記輪郭に隣接する前記格子の格子点との距離値を抽出するステップと、前記抽出された距離値を前記格子点に格納するステップとを含んでもよい。   The step of defining the grid comprises: extracting a distance value between a contour of the first object or the second object in the adjacent region and a grid point of the grid adjacent to the contour; At the lattice point.

前記作用力を算出するステップは、前記隣接領域で前記第1オブジェクトの粒子と前記第2オブジェクトの粒子との間に衝突が発生したか否かを判断するステップと、前記判断結果に基づいて、前記第1オブジェクトの粒子と前記第2オブジェクトの粒子との間の作用力を算出するステップとを含んでもよい。   The step of calculating the acting force includes: determining whether a collision has occurred between the particles of the first object and the particles of the second object in the adjacent region; and Calculating an acting force between the particles of the first object and the particles of the second object.

前記衝突が発生したか否かを判断するステップは、前記第1オブジェクトの粒子の位置に隣接する格子点に格納された距離値を用いて前記衝突が発生したか否かを判断するステップを含んでもよい。   The step of determining whether or not the collision has occurred includes the step of determining whether or not the collision has occurred using a distance value stored at a grid point adjacent to the position of the particle of the first object. May be.

前記衝突が発生したか否かを判断するステップは、前記第1オブジェクトの粒子が体積保存条件を満足するか否かをさらに考慮してもよい。   The step of determining whether the collision has occurred may further consider whether the particles of the first object satisfy a volume storage condition.

前記作用力を算出するステップは、前記衝突が発生したと判断される場合、前記隣接領域で前記第1オブジェクトの粒子と前記第2オブジェクトの粒子のうち衝突が発生した第1オブジェクトの粒子を検出するステップと、前記検出された第1オブジェクトの粒子の位置を再定義するステップと、前記第1オブジェクトの粒子の再定義された位置に基づいて、前記衝突によって前記第2オブジェクトに及ぼす作用力を算出するステップとを含んでもよい。   The step of calculating the acting force includes detecting, when it is determined that the collision has occurred, particles of the first object having collided among particles of the first object and particles of the second object in the adjacent area. And re-defining the positions of the detected particles of the first object. Based on the re-defined positions of the particles of the first object, the action force exerted on the second object by the collision is determined. And calculating.

前記検出された第1オブジェクトの粒子の位置を再定義するステップは、前記検出された第1オブジェクトの粒子の位置を前記第2オブジェクトを貫通しない位置に再定義するステップを含んでもよい。   The step of redefining the positions of the detected particles of the first object may include the step of redefining the positions of the detected particles of the first object so as not to penetrate the second object.

前記検出された第1オブジェクトの粒子の位置を再定義するステップは、前記検出された第1オブジェクトの粒子を含むセルに該当する格子点に格納された距離値及び傾斜度を用いて、前記第2オブジェクトを貫通しない前記第1オブジェクトの粒子の移動方向及び最短移動距離を算出するステップと、前記算出された移動方向及び最短移動距離により前記第1オブジェクトの粒子の位置を移動させるステップとを含んでもよい。   The step of redefining the positions of the particles of the detected first object is performed using a distance value and a gradient stored at a grid point corresponding to a cell including the particles of the detected first object. Calculating the moving direction and the shortest moving distance of the particles of the first object that do not penetrate the two objects; and moving the position of the particles of the first object based on the calculated moving direction and the shortest moving distance. May be.

前記格子点に格納された距離値及び前記算出された最短移動距離を用いて前記第1オブジェクトの粒子の移動速度を算出するステップと、前記算出された移動速度を前記検出された第1オブジェクトの粒子を含むセルに該当する格子点に格納するステップと、をさらに含んでもよい。   Calculating the moving speed of the particles of the first object using the distance value stored at the grid point and the calculated shortest moving distance; and calculating the calculated moving speed of the detected first object. Storing at a grid point corresponding to the cell containing the particles.

前記衝突によって前記第2オブジェクトに及ぼす作用力を算出するステップは、前記第1オブジェクトの粒子の再定義された位置で前記第1オブジェクトの粒子が前記第2オブジェクトから受けると推定される力を算出するステップと、前記推定される力に基づいて前記衝突によって前記第2オブジェクトに及ぼす作用力を算出するステップとを含んでもよい。   Calculating the acting force exerted on the second object by the collision includes calculating a force estimated that the particles of the first object are received from the second object at the redefined positions of the particles of the first object. And calculating an acting force exerted on the second object by the collision based on the estimated force.

前記算出された作用力を、前記第1オブジェクトの粒子の再定義された位置に該当する格子の格子点に格納するステップをさらに含んでもよい。   The method may further include storing the calculated acting force at a grid point of a grid corresponding to a redefined position of the particle of the first object.

前記第1オブジェクトと前記第2オブジェクトは互いに異種であってもよい。   The first object and the second object may be different from each other.

前記第1オブジェクトは流体であり、前記第2オブジェクトは変形体であってもよい。   The first object may be a fluid, and the second object may be a deformed body.

一実施形体に係るモデリングする装置は、粒子からモデリングされた第1オブジェクトと、粒子からモデリングされた第2オブジェクトとの間の隣接領域を検出し、前記隣接領域に対して格子を定義する格子変換モジュールと、前記格子の格子点に格納された情報を用いて前記隣接領域における前記第1オブジェクトと前記第2オブジェクトとの間の作用力を算出し、前記作用力に基づいて前記第1オブジェクトと前記第2オブジェクトをモデリングするオブジェクトモデリングモジュールと、前記格子変換モジュール及び前記オブジェクトモデリングモジュールを制御するプロセッサとを含む。   According to one embodiment, an apparatus for modeling detects an adjacent region between a first object modeled from a particle and a second object modeled from a particle and defines a grid for the adjacent region. A module and an action force between the first object and the second object in the adjacent area are calculated using information stored at grid points of the grid, and the first object and the first object are calculated based on the action force. An object modeling module for modeling the second object; and a processor for controlling the grid conversion module and the object modeling module.

前記格子変換モジュールは、前記隣接領域で前記第1オブジェクト又は前記第2オブジェクトの輪郭と前記輪郭に隣接する前記格子の格子点との距離値を抽出し、前記抽出された距離値を前記格子の格子点に格納してもよい。   The grid conversion module extracts a distance value between an outline of the first object or the second object in the adjacent area and a grid point of the grid adjacent to the outline, and calculates the extracted distance value of the grid. It may be stored at a grid point.

前記オブジェクトモデリングモジュールは、前記隣接領域で前記第1オブジェクトの粒子と前記第2オブジェクトの粒子との間に衝突が発生したか否かを判断する判断部と、前記判断結果に基づいて、前記隣接領域で前記第1オブジェクトの粒子と前記第2オブジェクトの粒子のうち衝突が発生した第1オブジェクトの粒子を検出する検出部と、前記検出された第1オブジェクトの粒子の位置を再定義する再定義部と、前記第1オブジェクトの粒子の再定義された位置に基づいて、前記衝突によって前記第2オブジェクトに及ぼす作用力を算出する算出部とを含んでもよい。   A determination unit configured to determine whether a collision has occurred between particles of the first object and particles of the second object in the adjacent area; and A detection unit that detects a particle of the first object in which a collision has occurred among particles of the first object and particles of the second object in a region; and a redefinition that redefines a position of the detected particle of the first object. And a calculating unit configured to calculate an acting force exerted on the second object by the collision based on the redefined position of the particles of the first object.

前記再定義部は、前記検出された第1オブジェクトの粒子を含むセルに該当する格子点に格納された距離値及び傾斜度を用いて、前記第2オブジェクトを貫通しない前記第1オブジェクトの粒子の移動方向及び最短移動距離を算出し、前記算出された移動方向及び最短移動距離により前記第1オブジェクトの粒子の位置を移動させてもよい。   The redefinition unit may use a distance value and a gradient stored at a grid point corresponding to a cell including the detected particles of the first object to detect particles of the first object that do not penetrate the second object. The moving direction and the shortest moving distance may be calculated, and the position of the particle of the first object may be moved based on the calculated moving direction and the shortest moving distance.

前記算出部は、前記第1オブジェクトの粒子の再定義された位置で前記第1オブジェクトの粒子が前記第2オブジェクトから受けると推定される力を算出し、前記推定される力に基づいて前記衝突によって前記第2オブジェクトに及ぼす作用力を算出し、前記算出された作用力を、前記衝突が発生した第1オブジェクトの粒子を含むセルに該当する格子の格子点に格納してもよい。   The calculation unit calculates a force estimated that the particles of the first object are received from the second object at the redefined position of the particles of the first object, and performs the collision based on the estimated force. And calculating the acting force acting on the second object, and storing the calculated acting force at a lattice point of a lattice corresponding to a cell including the particle of the first object in which the collision has occurred.

一実施形態に係るオブジェクトをモデリングする装置は、前記モデリングする装置の動作を制御するプログラムを記録するメモリと、前記プログラムを駆動させる1つ以上のプロセッサとを含み、前記プログラムは、粒子からモデリングされた第1オブジェクトと粒子からモデリングされた第2オブジェクトとの間の隣接領域を検出し、前記隣接領域に対して複数のセルを含む格子を定義し、前記格子の格子点に格納された情報を用いて前記隣接領域における算出した前記第1オブジェクトと前記第2オブジェクトとの間の作用力に基づいて前記第1オブジェクトと前記第2オブジェクトをモデリングする。   An apparatus for modeling an object according to an embodiment includes a memory that stores a program that controls an operation of the modeling apparatus, and one or more processors that drive the program, wherein the program is modeled from particles. Detecting an adjacent area between the first object and the second object modeled from the particles, defining a grid including a plurality of cells for the adjacent area, and extracting information stored at grid points of the grid. And modeling the first object and the second object based on the acting force between the first object and the second object calculated in the adjacent area.

本発明によると、異種の特性を有するオブジェクト間に隣接する領域に対して格子を活用することで、固体シミュレーションと流体シミュレーションを分離し、固体及び流体それぞれのモデリング時に求められる体積保存などのような制約条件を個別的に達成することができる。   According to the present invention, the solid state simulation and the fluid state simulation are separated by utilizing the grid for an area adjacent between objects having different characteristics, such as volume preservation required when modeling each solid and fluid. Constraints can be achieved individually.

本発明によると、相対モデリングモジュールが背景格子に格納した情報を用いて自身のモデリング時に反映することで、固体及び流体間の相互作用をリアルタイム処理することができ、流体及び流体と混合した固体を写実的にモデリングすることができる。   According to the present invention, the interaction between the solid and the fluid can be processed in real time by reflecting the information at the time of modeling itself by using the information stored in the background grid by the relative modeling module, and the fluid and the solid mixed with the fluid can be processed. Can be modeled realistically.

一実施形態に係るオブジェクトをモデリングする方法が用いられる隣接領域を示す図である。FIG. 3 is a diagram illustrating adjacent regions where a method of modeling an object according to an embodiment is used. 一実施形態に係るオブジェクトをモデリングする方法を示したフローチャートである。4 is a flowchart illustrating a method for modeling an object according to an embodiment. 一実施形態に係るオブジェクトをモデリングする方法により隣接領域に対して格子を定義する方法を説明するための図である。FIG. 6 is a diagram illustrating a method of defining a grid for an adjacent region by a method of modeling an object according to an embodiment. 一実施形態に係るオブジェクトをモデリングする方法により第1オブジェクトと第2オブジェクトとの間の作用力を算出する方法を示したフローチャートである。6 is a flowchart illustrating a method of calculating an acting force between a first object and a second object by a method of modeling an object according to an embodiment. 一実施形態に係るオブジェクトをモデリングする方法により第1オブジェクトと第2オブジェクトとの間の作用力を算出する方法を説明するための図である。FIG. 4 is a diagram illustrating a method of calculating an acting force between a first object and a second object by a method of modeling an object according to an embodiment. 一実施形態に係るオブジェクトをモデリングする装置のブロック図である。FIG. 1 is a block diagram of an apparatus for modeling an object according to one embodiment. 他の実施形態に係るモデリング装置のブロック図である。It is a block diagram of a modeling device concerning other embodiments. 他の実施形態によりオブジェクトをモデリングする方法を示す図である。FIG. 6 illustrates a method of modeling an object according to another embodiment. 他の実施形態に係るモデリング装置で隣接領域及び作用力を処理する過程を各モジュールの動作順により示す図である。FIG. 9 is a diagram illustrating a process of processing an adjacent area and an acting force in a modeling device according to another embodiment in an operation order of each module. 他の実施形態に係るモデリング装置で格子モジュールの中継を介して流体と変形体との間の相互作用を処理する過程を説明するための図である。FIG. 9 is a view illustrating a process of processing an interaction between a fluid and a deformable object via a grid module relay in a modeling device according to another embodiment. 他の実施形態に係るモデリング装置の動作方法を示したフローチャートである。9 is a flowchart illustrating an operation method of the modeling device according to another embodiment. 他の実施形態に係るモデリング装置で流体モデリングモジュールの動作方法を示したフローチャートである。9 is a flowchart illustrating an operation method of a fluid modeling module in a modeling device according to another embodiment. 他の実施形態に係るモデリング装置で変形体モデリングモジュールの動作方法を示したフローチャートである。9 is a flowchart illustrating an operation method of a deformable object modeling module in a modeling device according to another embodiment. 他の実施形態に係るモデリング装置で格子モジュールの動作方法を示したフローチャートである。9 is a flowchart illustrating a method of operating a lattice module in a modeling device according to another embodiment.

以下で説明する実施形態は、添付の図面を参照して説明する。各図面で提示された同一の参照符号は同一の部材を示す。   The embodiments described below will be described with reference to the accompanying drawings. The same reference numerals provided in each drawing indicate the same members.

以下で説明する実施形態は様々な変更が加えられてもよい。以下で説明する実施形態は実施形態に対して限定しようとするものではなく、これに対する全ての変更、均等物ないし代替物を含むものとして理解しなければならない。   Various changes may be made to the embodiments described below. The embodiments described below are not intended to limit the embodiments, but should be understood to include all modifications, equivalents, and alternatives thereto.

実施形態で用いる用語は、単に特定の実施形態を説明するために用いられたものとして、実施形態を限定しようとする意図は有しない。単数の表現は文脈の上、明白に相異に意味しない限り複数の表現を含む。本明細書で、「含む」又は「有する」などの用語は明細書上に記載された特徴、数字、ステップ、動作、構成要素、部品又はこれを組み合わせたものが存在することを指定しようとするものであって、1つ又はそれ以上の他の特徴や数字、ステップ、動作、構成要素、部品又はこれを組み合わせたものなどの存在又は付加の可能性を予め排除しないものとして理解しなければならない。   The terms used in the embodiments are merely used to describe the specific embodiments, and are not intended to limit the embodiments. The singular expression includes the plural expression unless the context clearly dictates otherwise. As used herein, terms such as "comprising" or "having" are intended to specify the presence of a feature, number, step, act, component, part or combination of those recited in the specification. Shall be understood as not excluding, in advance, the possibility of the presence or addition of one or more other features or numbers, steps, acts, components, parts or combinations thereof. .

相異に定義されない限り、技術的であるか科学的な用語を含み、ここで用いられる全ての用語は、実施形態が属する技術分野で通常の知識を有する者によって一般的に理解されるものと同じ意味を有する。一般的に用いられる予め定義されているような用語は、関連技術の文脈の上に有する意味と一致する意味を有するものと解釈するべきであって、本出願で明白に定義しない限り、理想的であるか過度に形式的な意味として解釈されることはない。   Unless defined differently, it includes technical or scientific terms, and all terms used herein are to be generally understood by those having ordinary knowledge in the technical field to which the embodiments belong. Has the same meaning. Terms commonly used, such as predefined, should be construed as having a meaning consistent with that present in the context of the relevant art, and unless expressly defined in this application, Or is not interpreted as overly formal.

また、添付図面を参照して説明することにおいて、図面符号に関係なく同一の構成要素は同一の参照符号を付与し、それに対する重複説明は省略することにする。実施形態の説明において関連の公知技術に対する具体的な説明が実施形態の要旨を不要に曖昧にすると判断される場合、その詳細な説明を省略する。   In the description with reference to the accompanying drawings, the same constituent elements will be denoted by the same reference numerals regardless of the reference numerals, and redundant description thereof will be omitted. In the description of the embodiments, when it is determined that the specific description of the related known technology unnecessarily obscures the gist of the embodiment, the detailed description thereof will be omitted.

図1は、一実施形態に係るオブジェクトをモデリングする方法が用いられる隣接領域を示す図である。図1を参照すると、水又は油のような流体130に浮いている変形体(例えば、ダック人形)110が示されている。ここで、変形体110と流体130はそれぞれ粒子によってモデリングされ、以下で、変形体110は変形体粒子を、流体130は流体粒子を含むことを意味するものとして用いる。「変形体110」は剛体(Rigid body)及び柔体(Soft Body)を全て含む意味として理解される。また、変形体110と流体130の輪郭を含む一定領域を「隣接領域」又は「相互作用領域」と呼ぶことにする。   FIG. 1 is a diagram illustrating adjacent regions in which a method for modeling an object according to an embodiment is used. Referring to FIG. 1, a variant (eg, a duck doll) 110 is shown floating in a fluid 130, such as water or oil. Here, the deformable body 110 and the fluid 130 are each modeled by a particle, and hereinafter, the deformable body 110 is used as meaning that the deformable particle is included, and the fluid 130 is meant to include the fluid particle. The “deformable body 110” is understood to mean a rigid body (Rigid body) and a soft body (Soft body). In addition, a certain area including the contours of the deformable body 110 and the fluid 130 is referred to as an “adjacent area” or an “interaction area”.

一実施形態では変形体110と流体130がともに存在する場合、隣接領域に対して格子150を定義し、格子150に基づいて物理法則を適用することで、変形体110と流体130との間の相互作用が精密に反映されるようにする。格子150は、一定の連結関係を有するメッシュ(Mesh)形態の資料構造であってもよく、変形体110と流体130が相互間の物理量をやり取りする通路であってもよい。格子150は複数のセル151を含んでもよく、格子150の格子点には変形体110のレベルセット(Level set)情報がスカラー(Scalar)値に格納されてもよい。レベルセット情報は、格子150で符号のある距離値として、格子150内における変形体110の位置を示すために用いてもよい。レベルセット情報は、変形体110の輪郭を基準にして変形体110の格子点が外部にあるか内部にあるかを示す。   In one embodiment, when both the deformed body 110 and the fluid 130 are present, a grid 150 is defined for the adjacent region, and a physical law is applied based on the grid 150, so that the space between the deformed body 110 and the fluid 130 is increased. Ensure that interactions are accurately reflected. The lattice 150 may be a material structure of a mesh having a certain connection relationship, or may be a passage through which the deformable body 110 and the fluid 130 exchange physical quantities between each other. The grid 150 may include a plurality of cells 151, and level set information of the deformable body 110 may be stored as scalar (Scalar) values at grid points of the grid 150. The level set information may be used as a signed distance value on the grid 150 to indicate the position of the deformed body 110 within the grid 150. The level set information indicates whether the grid points of the deformable body 110 are outside or inside based on the contour of the deformable body 110.

例えば、変形体110と流体130が互いに衝突した場合、変形体110は、流体130との衝突によって形状がゆがんだり速度が減少することがあり、流体130にはしぶきが発生することがある。ここで、流体130は、変形体110が占める空間を避けて流動する。格子150は、変形体110と流体130の衝突領域、流体130でしぶきが発生する領域、及び変形体110がゆがんで空間で新しく占める領域などのように、変形体110と流体130との間の相互作用が発生する領域を全て含む。以上で説明した相互作用は、流体と変形体のように異種(heterogeneous)オブジェクトだけではなく、水と油のような同種(homogeneous)オブジェクトにも同一に適用されてもよい。一実施形態は、粒子基盤でモデリングされたオブジェクト間の輪郭を含む隣接領域に対して格子150を用いて作用力を算出することで、相互作用による運動量を精密に格納することができる。   For example, when the deformable body 110 and the fluid 130 collide with each other, the shape of the deformable body 110 may be distorted or the speed may be reduced due to the collision with the fluid 130, and the fluid 130 may be splashed. Here, the fluid 130 flows while avoiding the space occupied by the deformable body 110. The lattice 150 is formed between the deformable body 110 and the fluid 130, such as a collision area between the deformable body 110 and the fluid 130, a region where the fluid 130 is splashed, and a region where the deformable body 110 is distorted and newly occupied in space. Includes all areas where interaction occurs. The above-described interaction may be applied to not only heterogeneous objects such as fluids and deformed objects but also homogenous objects such as water and oil. In one embodiment, the momentum due to the interaction can be precisely stored by calculating the acting force using the grid 150 for the adjacent region including the contour between the objects modeled on the particle basis.

図2は、一実施形態に係るオブジェクトをモデリングする方法を示したフローチャートである。図2を参照すると、一実施形態に係るオブジェクトをモデリングする装置(以下、モデリング装置)は、粒子からモデリングされた第1オブジェクトと粒子からモデリングされた第2オブジェクトとの間の隣接領域を検出する(S210)。粒子基盤でオブジェクトをモデリングする場合、モデリング装置はいずれか1つの粒子の周辺粒子を検索してもよい。検索された周辺粒子が互いに異なる物理量を有する互いに異なるオブジェクトに該当する場合、モデリング装置は、いずれか1つの粒子及び互いに異なるオブジェクトとして判断された粒子を含む領域を隣接領域として定義する。モデリング装置は隣接領域を検出してもよい。   FIG. 2 is a flowchart illustrating a method of modeling an object according to an embodiment. Referring to FIG. 2, an apparatus for modeling an object according to an embodiment (hereinafter, a modeling apparatus) detects an adjacent region between a first object modeled from a particle and a second object modeled from a particle. (S210). When modeling an object on a particle basis, the modeling device may search for peripheral particles of any one particle. If the searched surrounding particles correspond to different objects having different physical quantities, the modeling device defines an area including any one of the particles and the particle determined as the different object as an adjacent area. The modeling device may detect the adjacent area.

モデリング装置は、ステップS210で検出した隣接領域に対して格子を定義する(S220)。例えば、検出された隣接領域に含まれたオブジェクト粒子は、複数のセルを含む格子に分けられてもよい。ステップS220でモデリング装置は、隣接領域で第1オブジェクト又は第2オブジェクトの輪郭と、輪郭に隣接する格子の格子点との垂直距離(値)を抽出してもよい。モデリング装置は、抽出された距離値を格子点に格納してもよい。格子点に格納された距離値をレベルセット(level set)情報とも呼んでもよい。一実施形態で格子を定義する具体的な方法は図3を参照して説明する。   The modeling device defines a grid for the adjacent area detected in step S210 (S220). For example, the object particles included in the detected adjacent area may be divided into a grid including a plurality of cells. In step S220, the modeling device may extract a vertical distance (value) between the contour of the first object or the second object in the adjacent area and a grid point of a grid adjacent to the contour. The modeling device may store the extracted distance value in a grid point. The distance value stored at the grid point may be referred to as level set information. A specific method of defining a grid in one embodiment will be described with reference to FIG.

モデリング装置は、格子の格子点に格納された情報を用いて隣接領域における第1オブジェクトと第2オブジェクトとの間の作用力を算出する(S230)。ステップS230でモデリング装置は、隣接領域で格子のセル単位に第1オブジェクトの粒子と第2オブジェクトの粒子との間に衝突が発生したか否かを判断する。モデリング装置は、判断結果に基づいて第1オブジェクトの粒子と第2オブジェクトの粒子との間の作用力を算出する。ここで、第1オブジェクトは流体であり、第2オブジェクトは変形体であってもよい。また、第1オブジェクトと第2オブジェクトは互いに同種であってもよく異種であってもよい。一実施形態において、第1オブジェクトと第2オブジェクトとの間の作用力を算出する具体的な方法は図4及び図5を参照して説明する。   The modeling device calculates the acting force between the first object and the second object in the adjacent area using the information stored at the grid points of the grid (S230). In step S230, the modeling device determines whether a collision has occurred between the particles of the first object and the particles of the second object for each cell of the lattice in the adjacent area. The modeling device calculates an acting force between the particles of the first object and the particles of the second object based on the determination result. Here, the first object may be a fluid, and the second object may be a deformed body. Further, the first object and the second object may be of the same type or different types. In one embodiment, a specific method of calculating the acting force between the first object and the second object will be described with reference to FIGS.

モデリング装置は、ステップS230で算出した作用力に基づいて、第1オブジェクトと第2オブジェクトをモデリングする(S240)。ステップS240においてモデリング装置は、ステップS230で算出した作用力を用いて粒子からモデリングされた第1オブジェクト及び第2オブジェクトの形状又は動きをより精密に補正することができる。   The modeling device models the first object and the second object based on the acting force calculated in step S230 (S240). In step S240, the modeling device may more accurately correct the shapes or movements of the first object and the second object modeled from the particles using the acting force calculated in step S230.

図3は、一実施形態に係るオブジェクトをモデリングする方法により隣接領域に対して格子を定義する方法を説明するための図である。   FIG. 3 is a diagram illustrating a method of defining a grid for an adjacent region by a method of modeling an object according to an embodiment.

粒子からモデリングされた変形体301と粒子からモデリングされた流体303との間の隣接領域305を検出(310)した後、モデリング装置は、検出された隣接領域305に対して格子307を定義したり、格子構造に示す格子化を行う(330)。格子化によって、例えば、2Dの場合は1つのセルに4つの粒子が含まれ、3Dの場合には1つのセルに8個の粒子が含まれてもよい。   After detecting (310) an adjacent region 305 between the deformed object 301 modeled from the particle and the fluid 303 modeled from the particle, the modeling apparatus may define a grid 307 for the detected adjacent region 305 or the like. , A grid structure shown in FIG. Due to the lattice formation, for example, one cell may include four particles in the case of 2D, and eight particles may be included in one cell in the case of 3D.

格子307の格子点309には各格子点で最も近い変形体301の輪郭までの距離値のレベルセット情報が格納されている。例えば、格子点311には、変形体301の輪郭から格子点311までの垂直距離値であるdが格納され、格子点313には変形体301の輪郭から格子点313までの垂直距離値であるdが格納されている。格子点309に格納された距離値が(+)である場合は当該格子点が変形体301の外部にあることを示し、格納された距離値が(−)である場合は当該格子点が変形体301の内部にあることを示す。モデリング方法により、(+)と(−)は反対に定義されることもある。モデリング装置は、レベルセット情報に基づいて傾斜度を算出し、必要に応じてレベルセット情報を幾何学的正規化(Geometric Normal)情報に変換してもよい。 At a grid point 309 of the grid 307, level set information of a distance value to a contour of the deformed object 301 closest to each grid point is stored. For example, the grid point 311 stores d 1 which is a vertical distance value from the contour of the deformed body 301 to the grid point 311, and the grid point 313 is a vertical distance value from the contour of the deformed body 301 to the grid point 313. there d 2 is stored. When the distance value stored at the grid point 309 is (+), it indicates that the grid point is outside the deformable body 301, and when the stored distance value is (-), the grid point is deformed. Indicates that it is inside the body 301. Depending on the modeling method, (+) and (-) may be defined oppositely. The modeling device may calculate the inclination based on the level set information, and may convert the level set information into Geometric Normal information as needed.

格子307の各格子点309にはレベルセット情報とは別に、流体303の粒子が変形体301から受けた作用力が線形補間により算出されて格納されてもよい。格納された作用力は、後ほど変形体301の粒子をモデリングするために用いてもよい。また、各格子点309には流体303粒子の速度値が格納され、格納された速度値は、流体303粒子が受ける抗力(Drag Force)を算出するために用いてもよい。   At each grid point 309 of the grid 307, apart from the level set information, the acting force of the particles of the fluid 303 received from the deformable body 301 may be calculated by linear interpolation and stored. The stored acting force may be used later to model the particles of the deformable body 301. In addition, the velocity value of the fluid 303 particles is stored in each grid point 309, and the stored velocity value may be used for calculating a drag (Drag Force) received by the fluid 303 particles.

図3を参照して説明したように、モデリング装置は、格子点がオブジェクトの輪郭からどの程度離れており、輪郭の内部又は外部にあるかを確認することができる。   As described with reference to FIG. 3, the modeling apparatus can check how far the grid point is from the contour of the object and is inside or outside the contour.

図4は、一実施形態に係るオブジェクトをモデリングする方法により第1オブジェクトと第2オブジェクトとの間の作用力を算出する方法を示したフローチャートである。   FIG. 4 is a flowchart illustrating a method of calculating an acting force between a first object and a second object by a method of modeling an object according to an embodiment.

図4を参照すると、一実施形態に係るモデリング装置は、隣接領域で第1オブジェクトの粒子と第2オブジェクトの粒子との間に衝突が発生したか否かを判断する(S410)。ステップS410で、モデリング装置は、第1オブジェクトの粒子の位置に隣接する格子点に格納された距離値を用いて衝突が発生したか否かを判断する。ここで、モデリング装置は、格子のセル単位で衝突が発生したか否かを判断する。例えば、第1オブジェクト(流体)の粒子と第2オブジェクト(変形体)の粒子が同じ位置にオーバーラッピングされた状態、言い換えれば、流体粒子が変形体粒子を貫通する位置にあれば、粒子間に衝突が発生したと判断する。   Referring to FIG. 4, the modeling apparatus according to an embodiment determines whether a collision has occurred between particles of a first object and particles of a second object in an adjacent area (S410). In step S410, the modeling device determines whether a collision has occurred using a distance value stored at a grid point adjacent to the position of the particle of the first object. Here, the modeling device determines whether or not a collision has occurred for each cell of the lattice. For example, when the particles of the first object (fluid) and the particles of the second object (deformed body) are overlapped at the same position, in other words, if the fluid particles are at positions penetrating the deformed particles, It is determined that a collision has occurred.

また、ステップS410において、モデリング装置は、第1オブジェクトの粒子が体積保存条件を満足するか否かをさらに考慮する。例えば、第1オブジェクトが流体であり、第2オブジェクトが変形体であれば、衝突によって第1オブジェクトと第2オブジェクトとの間に変化が発生しても第1オブジェクトの流体の全体的な体積は保存しなければならない。したがって、一実施形態では、衝突時に格子点に格納された距離値の他にも流体の全体的な体積が衝突以前と同一に保持されるかを共に考慮する。   In addition, in step S410, the modeling device further considers whether the particles of the first object satisfy the volume storage condition. For example, if the first object is a fluid and the second object is a deformed body, the overall volume of the fluid of the first object will be even if the collision causes a change between the first object and the second object. Must be saved. Therefore, in one embodiment, in addition to the distance value stored at the grid point at the time of the collision, it is also considered whether the overall volume of the fluid is kept the same as before the collision.

ステップS410において、衝突が発生していないと判断される場合、モデリング装置は、衝突処理のためのステップS420〜ステップS440の実行をスキップ(skip)する。   If it is determined in step S410 that no collision has occurred, the modeling device skips execution of steps S420 to S440 for collision processing.

ステップS410において、衝突が発生したと判断される場合、モデリング装置は、隣接領域で第1オブジェクトの粒子と第2オブジェクトの粒子のうち衝突が発生した第1オブジェクトの粒子を検出する(S420)。ここで、衝突が発生した第1オブジェクトの粒子は単数又は複数であってもよい。モデリング装置は、ステップS420で検出した第1オブジェクトの粒子の位置を再定義する(S430)。モデリング装置は、検出された第1オブジェクトの粒子の位置を第2オブジェクト(の粒子)を貫通しない位置として再定義する。例えば、第1オブジェクトが流体であり、第2オブジェクトが変形体であれば、この衝突時に流体粒子は変形体(粒子)を貫通することなく避けて流動しなければならない。したがって、モデリング装置は、流体粒子と変形体粒子との間に衝突が発生した場合、流体粒子が変形体粒子を貫通しない位置にあるようモデリングしてもよい。   If it is determined in step S410 that a collision has occurred, the modeling device detects a particle of the first object having a collision among particles of the first object and particles of the second object in the adjacent area (S420). Here, the number of particles of the first object where the collision has occurred may be one or more. The modeling device redefines the positions of the particles of the first object detected in step S420 (S430). The modeling device redefines the position of the detected particle of the first object as a position that does not penetrate (the particle of) the second object. For example, if the first object is a fluid and the second object is a deformed body, the fluid particles must flow without penetrating the deformed body (particles) during the collision. Therefore, when a collision occurs between the fluid particles and the deformable particles, the modeling device may perform modeling such that the fluid particles are at positions not penetrating the deformable particles.

ステップS430において、モデリング装置は、ステップS420で検出した第1オブジェクトの粒子を含むセルに該当する格子点に格納された距離値及び傾斜度を用いて、第2オブジェクトを貫通しない第1オブジェクトの粒子の移動方向及び最短移動距離を算出する。モデリング装置は、算出された移動方向及び最短移動距離により第1オブジェクトの粒子の位置を移動させる。ここで、モデリング装置は、格子点に格納された距離値及び算出された最短移動距離を用いて第1オブジェクトの粒子の移動速度を算出し、算出した移動速度を検出した第1オブジェクトの粒子を含むセルに該当する格子点に格納してもよい。   In operation S430, the modeling apparatus may use the distance value and the gradient stored at the grid point corresponding to the cell including the particles of the first object detected in operation S420 to determine whether the particles of the first object do not penetrate the second object. The moving direction and the shortest moving distance are calculated. The modeling device moves the position of the particles of the first object according to the calculated moving direction and the shortest moving distance. Here, the modeling device calculates the moving speed of the particles of the first object using the distance value stored at the grid point and the calculated shortest moving distance, and calculates the particles of the first object that have detected the calculated moving speed. The information may be stored at a grid point corresponding to the included cell.

モデリング装置は、第1オブジェクトの粒子の再定義された位置に基づいて、衝突により第2オブジェクトに及ぼす作用力を算出する(S440)。ステップS440において、モデリング装置は、第1オブジェクトの粒子の再定義された位置で第1オブジェクトの粒子が第2オブジェクトから受けると推定される力を算出し、推定される力に基づいて衝突により第2オブジェクトに及ぼす作用力を算出してもよい。モデリング装置は算出された作用力を、第1オブジェクトの粒子の再定義された位置に該当する格子の格子点に分けて格納することができる。   The modeling device calculates an acting force exerted on the second object due to the collision based on the redefined positions of the particles of the first object (S440). In step S440, the modeling device calculates a force estimated that the particles of the first object will be received from the second object at the redefined position of the particles of the first object, and based on the estimated force, calculates a second force based on the collision. The acting force exerted on the two objects may be calculated. The modeling device may store the calculated acting force separately at grid points of the grid corresponding to the redefined positions of the particles of the first object.

図5は、一実施形態に係るオブジェクトをモデリングする方法により第1オブジェクトと第2オブジェクトとの間の作用力を算出する方法を説明するための図である。図5において、510の各格子点には(+)又は(−)のような符号が表示されていることが分かる。モデリング装置は、格子点に格納された値を補間して第1オブジェクトの粒子、言い換えれば、流体粒子の位置から変形体輪郭までの距離値を算出する。算出された値の符号が(−)であれは衝突状態を示し、(+)であれば衝突が発生していない状態を示す。このように、格子点に格納されている距離値が流体粒子の位置でどのような値を有するかを、補間により算出する過程を「格子値クエリ(query)」と呼ぶ。   FIG. 5 is a diagram illustrating a method of calculating an acting force between a first object and a second object by a method of modeling an object according to an embodiment. In FIG. 5, it can be seen that a sign such as (+) or (-) is displayed at each grid point 510. The modeling device calculates a distance value from the position of the particle of the first object, in other words, the fluid particle to the contour of the deformed object by interpolating the value stored in the grid point. If the sign of the calculated value is (-), it indicates a collision state, and if (+), it indicates a state in which no collision has occurred. In this way, the process of calculating what value the distance value stored at the grid point has at the position of the fluid particle by interpolation is called a “grid value query”.

モデリング装置は、各格子点に格納された符号値によって第1オブジェクト(例えば、流体)と第2オブジェクト(例えば、変形体)との間の衝突が発生したかを判断する。モデリング装置は、各流体粒子の位置で周辺の4個の格子点に格納された距離値をサンプリングしてもよい。モデリング装置は、各流体粒子の周辺にある格子点に格納された値を線形補間し、流体粒子と変形体輪郭の粒子との距離を把握する。ここで、サンプリングされた距離値が、例えば、+0.5nmであると仮定すれば、これは流体粒子の中心が変形体の輪郭から0.5nm離れていることを意味する。もし、流体粒子の半径が0.5nmであれば、流体粒子は変形体輪郭と接している状態であり、流体粒子の半径が1.0nmであれば、流体粒子は変形体と衝突した状態、言い換えれば、流体粒子が変形体粒子を貫通した位置である。このような場合、モデリング装置は、当該流体粒子の位置を変形体粒子を貫通しない位置に再定義して流体粒子の衝突を処理する。   The modeling device determines whether a collision between a first object (for example, a fluid) and a second object (for example, a deformed object) has occurred based on a code value stored at each grid point. The modeling device may sample distance values stored at four surrounding grid points at the position of each fluid particle. The modeling device linearly interpolates the values stored at the grid points around each fluid particle to determine the distance between the fluid particle and the particle of the deformed object contour. Here, assuming that the sampled distance value is, for example, +0.5 nm, this means that the center of the fluid particle is 0.5 nm away from the contour of the deformable body. If the radius of the fluid particle is 0.5 nm, the fluid particle is in contact with the contour of the deformed body, and if the radius of the fluid particle is 1.0 nm, the fluid particle is in a state of collision with the deformed body, In other words, it is the position where the fluid particles have penetrated the deformable particles. In such a case, the modeling device processes the collision of the fluid particles by redefining the position of the fluid particles so as not to penetrate the deformable particles.

例えば、変形体粒子と流体粒子の衝突によって530のように流体粒子が変形体の内部に該当する第1位置531にあることを検出した場合、モデリング装置は、流体粒子を第1位置531から変形体粒子を貫通しない第2位置533に移動させる。ここで、モデリング装置は、粒子を含むセルに該当する格子点に格納された距離値及び傾斜度を用いて、変形体粒子を貫通しない流体粒子の移動方向及び最短移動距離を算出することができる。   For example, when it is detected that the fluid particle is located at the first position 531 corresponding to the inside of the deformed object as indicated by 530 due to the collision between the deformed particle and the fluid particle, the modeling device deforms the fluid particle from the first position 531. It is moved to the second position 533 which does not penetrate the body particles. Here, the modeling device can calculate the moving direction and the shortest moving distance of the fluid particles that do not penetrate the deformable particles, using the distance value and the inclination stored at the grid point corresponding to the cell containing the particles. .

モデリング装置は、算出された移動方向及び最短移動距離により流体粒子を衝突が発生しない位置に移動させる。モデリング装置は、例えば、流体粒子を含むセルに該当する格子点に格納された距離値が(−)から(+)になる傾斜方向(ここで、水平方向に右側から左側方向に、垂直方向に上方から下方向に)に最短距離を移動させて流体粒子と変形体粒子との間に衝突が発生しないようにする。   The modeling device moves the fluid particles to a position where no collision occurs according to the calculated moving direction and the shortest moving distance. For example, the modeling device may determine that a distance value stored at a grid point corresponding to a cell containing a fluid particle has a slope value from (−) to (+) (here, in the horizontal direction, from the right to the left, in the vertical direction). (From top to bottom) so that collisions do not occur between the fluid particles and the deformable particles.

モデリング装置は、流体粒子が受ける衝撃量に対応する力を変形体に伝達することで、変形体と流体との間の衝突により流体粒子が受けたと推定される力を変形体に対する反作用力として反映する。550から流体粒子が533の位置に移動した場合、流体粒子が受けたと推定される力は、作用・反作用の法則により、551のように変形体に対応する方向に同じ大きさとして作用してもよい。ここで、流体粒子が受けたと推定される力は、流体粒子の初期位置と後の位置、移動速度などが分かる場合に一般的な物理公式を用いて算出してもよい。   The modeling device transmits the force corresponding to the amount of impact received by the fluid particles to the deformable body, and reflects the force estimated to have been received by the fluid particles due to the collision between the deformable body and the fluid as the reaction force on the deformable body I do. When the fluid particle moves from the position 550 to the position 533, the force presumed to have been received by the fluid particle may have the same magnitude in the direction corresponding to the deformed body as 551 due to the law of action and reaction. Good. Here, the force estimated to be received by the fluid particle may be calculated using a general physical formula when the initial position and the subsequent position of the fluid particle, the moving speed, and the like are known.

変形体に作用する反作用力により、流体粒子の上に変形体が浮かび上がるようにモデリングしてもよい。モデリング装置は、変形体に及ぼす作用力を流体粒子の再定義された位置533に該当するセルの格子点に格納してもよい。ここで、変形体に及ぼす作用力は、格子点から当該流体粒子までの距離に応じて各格子点に相異に格納されてもよい。例えば、格子点573のように、当該格子点から流体粒子までの距離が遠い場合には最も小さい値が割り当てられ、格子点572のように、当該格子点から流体粒子までの距離が近い場合には最も大きい値が割り当てられてもよい。また、格子点571と格子点574には格子点573よりも大きく、格子点572よりも小さい値が割り当てられる。各格子点に割り当てられる作用力は、矢印の長さ又は大きさのように表現されてもよい。最も大きい作用力が作用する格子点572には、矢印の長さ又は大きさが大きく表現され、最も小さい作用力が作用する格子点573には矢印の長さ又は大きさが小さく表現される。   The deformation may be modeled so that the deformation is raised above the fluid particles by the reaction force acting on the deformation. The modeling device may store the acting force on the deformed object at a grid point of the cell corresponding to the redefined position 533 of the fluid particle. Here, the acting force exerted on the deformed body may be stored differently at each grid point according to the distance from the grid point to the fluid particle. For example, when the distance from the lattice point to the fluid particle is long as in the lattice point 573, the smallest value is assigned. When the distance from the lattice point to the fluid particle is short as in the lattice point 572, for example. May be assigned the largest value. Also, a value larger than the grid point 573 and smaller than the grid point 572 is assigned to the grid points 571 and 574. The acting force assigned to each grid point may be expressed as the length or size of an arrow. At the lattice point 572 where the largest acting force acts, the length or size of the arrow is represented large, and at the lattice point 573 where the smallest acting force acts, the length or size of the arrow is represented small.

モデリング装置は、上述した方式で変形体に及ぼす作用力を、当該の流体粒子を含むセルの格子点に分けて格納してもよい。上述した510及び530の過程により、モデリング装置は流体と変形体との間の外見上の衝突をモデリングし、550過程により流体と変形体との間に作用する作用力をモデリングすることができる。   The modeling device may store the acting force exerted on the deformed body in the above-described manner separately at grid points of the cell containing the fluid particle. Through the processes 510 and 530 described above, the modeling device can model the apparent collision between the fluid and the deformed body, and can model the acting force acting between the fluid and the deformed body through the process 550.

図6は、一実施形態に係るオブジェクトをモデリングする装置のブロック図である。図6を参照すると、一実施形態に係るモデリング装置600は、格子変換モジュール610、オブジェクトモデリングモジュール630、及びプロセッサ650を含む。   FIG. 6 is a block diagram of an apparatus for modeling an object according to an embodiment. Referring to FIG. 6, a modeling device 600 according to an embodiment includes a grid transformation module 610, an object modeling module 630, and a processor 650.

格子変換モジュール610は、粒子からモデリングされた第1オブジェクトと粒子からモデリングされた第2オブジェクトとの間の隣接領域を検出し、隣接領域に対して格子を定義する。格子変換モジュール610は、隣接領域で第1オブジェクト又は第2オブジェクトの輪郭と輪郭に隣接する格子の格子点との距離値を抽出し、抽出された距離値を格子の格子点に格納してもよい。   The grid conversion module 610 detects an adjacent region between the first object modeled from the particle and the second object modeled from the particle, and defines a grid for the adjacent region. The grid conversion module 610 may extract the distance value between the contour of the first object or the second object in the adjacent area and the grid point of the grid adjacent to the contour, and store the extracted distance value in the grid point of the grid. Good.

オブジェクトモデリングモジュール630は、格子の格子点に格納された情報を用いて隣接領域における第1オブジェクトと第2オブジェクトとの間の作用力を算出し、作用力に基づいて第1オブジェクトと第2オブジェクトをモデリングしてもよい。オブジェクトモデリングモジュール630は、判断部631、検出部633、再定義部635、及び算出部637を含む。判断部631は、隣接領域で第1オブジェクトの粒子と第2オブジェクトの粒子との間に衝突が発生したか否かを判断する。検出部633は、判断部631の判断結果に基づいて、隣接領域で第1オブジェクトの粒子と第2オブジェクトの粒子のうち衝突が発生した第1オブジェクトの粒子を検出する。再定義部635は、検出部633によって検出された第1オブジェクトの粒子の位置を再定義する。再定義部635は、検出された第1オブジェクトの粒子を含むセルに該当する格子点に格納された距離値及び傾斜度を用いて、第2オブジェクトを貫通しない第1オブジェクトの粒子の移動方向及び最短移動距離を算出する。再定義部635は、算出された移動方向及び最短移動距離に応じて第1オブジェクトの粒子の位置を移動させる。   The object modeling module 630 calculates an acting force between the first object and the second object in the adjacent area using the information stored at the lattice points of the lattice, and calculates the first object and the second object based on the acting force. May be modeled. The object modeling module 630 includes a determination unit 631, a detection unit 633, a redefinition unit 635, and a calculation unit 637. The determination unit 631 determines whether a collision has occurred between the particles of the first object and the particles of the second object in the adjacent area. The detection unit 633 detects, based on the determination result of the determination unit 631, the particle of the first object in which the collision has occurred among the particles of the first object and the particles of the second object in the adjacent area. The redefinition unit 635 redefines the positions of the particles of the first object detected by the detection unit 633. The redefinition unit 635 may use the distance value and the inclination stored at the grid point corresponding to the cell including the detected particle of the first object to determine a moving direction of the particle of the first object that does not penetrate the second object. Calculate the shortest moving distance. The redefinition unit 635 moves the positions of the particles of the first object according to the calculated moving direction and the shortest moving distance.

算出部637は、第1オブジェクトの粒子の再定義された位置に基づいて、衝突によって第1オブジェクトが第2オブジェクトに及ぼす作用力を算出する。算出部637は、第1オブジェクトの粒子の再定義された位置で第1オブジェクトの粒子が第2オブジェクトから受けると推定される力を算出し、推定される力に基づいて衝突により第2オブジェクトに及ぼす作用力を算出する。算出部637は、算出された作用力を、衝突が発生した第1オブジェクトの粒子を含むセルに該当する格子の格子点に格納してもよい。   The calculation unit 637 calculates the acting force exerted on the second object by the collision based on the redefined position of the particles of the first object. The calculating unit 637 calculates a force estimated that the particles of the first object are received from the second object at the redefined positions of the particles of the first object, and generates a collision with the second object based on the estimated force. Calculate the acting force. The calculating unit 637 may store the calculated acting force at a grid point of a grid corresponding to a cell including the particle of the first object where the collision has occurred.

プロセッサ650は、格子変換モジュール610及びオブジェクトモデリングモジュール630を制御する。実施形態に係るオブジェクトモデリングモジュール630は、変形体をモデリングするモジュールと流体をモデリングするモジュールにそれぞれ分類して構成し、このような実施形態は図9を参照して説明する。   The processor 650 controls the grid conversion module 610 and the object modeling module 630. The object modeling module 630 according to the embodiment is divided into a module for modeling a deformed object and a module for modeling a fluid, and such an embodiment will be described with reference to FIG.

図7は、他の実施形態に係るモデリング装置のブロック図である。図7を参照すると、他の実施形態に係るモデリング装置700は、メモリ710、プロセッサ730及び通信部750を含む。   FIG. 7 is a block diagram of a modeling device according to another embodiment. Referring to FIG. 7, a modeling device 700 according to another embodiment includes a memory 710, a processor 730, and a communication unit 750.

メモリ710は、粒子からモデリングされたオブジェクトをモデリングする装置700の動作を制御するプログラムを記録する。   The memory 710 stores a program that controls the operation of the apparatus 700 for modeling an object modeled from a particle.

プロセッサ730は、メモリ710に格納されたプログラムを駆動させ、1つ又は複数であってもよい。ここで、プログラムは、粒子からモデリングされた第1オブジェクトと粒子からモデリングされた第2オブジェクトとの間の隣接領域を検出し、隣接領域に対して複数のセルを含む格子を定義する。プログラムは、格子の格子点に格納された情報を用いて、隣接領域における算出した第1オブジェクトと第2オブジェクトとの間の作用力に基づいて第1オブジェクトと第2オブジェクトをモデリングしてもよい。   The processor 730 drives a program stored in the memory 710, and may be one or more. Here, the program detects an adjacent region between the first object modeled from the particle and the second object modeled from the particle, and defines a grid including a plurality of cells for the adjacent region. The program may model the first object and the second object based on the calculated acting force between the first object and the second object in the adjacent area, using information stored at grid points of the grid. .

通信部750は、粒子からモデリングされたオブジェクトをモデリングする装置700の動作に必要な情報を送受信する。   The communication unit 750 transmits and receives information necessary for the operation of the apparatus 700 for modeling an object modeled from a particle.

図8は、他の実施形態によりオブジェクトをモデリングする方法を示す図である。図8を参照すると、流体と変形体の粒子が分布した場合、流体と変形体との間の相互作用領域に対する演算によって相互作用された粒子分布の結果を取得する過程が示されている。相互作用領域に対する演算は次のように行われる。   FIG. 8 is a diagram illustrating a method of modeling an object according to another embodiment. Referring to FIG. 8, a process of obtaining a result of a distribution of interacted particles by performing an operation on an interaction region between the fluid and the deformed body when the particles of the fluid and the deformed body are distributed is illustrated. The calculation for the interaction area is performed as follows.

モデリング装置は、流体と変形体との間の隣接領域を検出し(S810)、隣接領域に対して格子を定義する(S830)。モデリング装置は、格子の格子点に格納された情報を用いて隣接領域における流体と変形体との間の相互作用力を処理する(S850)。   The modeling device detects an adjacent region between the fluid and the deformed body (S810), and defines a grid for the adjacent region (S830). The modeling device processes the interaction force between the fluid and the deformed body in the adjacent area using the information stored at the grid points of the grid (S850).

一実施形態で流体と変形体との間の相互作用力を処理する過程は次の通りである。モデリング装置は、第1オブジェクトの粒子と第2オブジェクトの粒子との間に衝突が発生した場合、例えば、図5に示す510及び530を参照して説明したように、第1オブジェクトの粒子を第2オブジェクトを互いに貫通しない位置に移動させることによって衝突を処理する(S851)。モデリング装置は流体に作用する作用力を処理し(S853)、流体に対する処理結果を用いて変形体に作用する作用力を処理する(S855)。モデリング装置は、流体に作用する作用力を流体モデリングモジュールを用いて処理し、変形体に作用する作用力を変形体モデリングモジュールを用いて処理する。   In one embodiment, the process of processing the interaction force between the fluid and the deformable body is as follows. When a collision occurs between the particles of the first object and the particles of the second object, for example, as described with reference to 510 and 530 shown in FIG. The collision is processed by moving the two objects to positions not penetrating each other (S851). The modeling device processes the acting force acting on the fluid (S853), and processes the acting force acting on the deformed body using the processing result on the fluid (S855). The modeling device processes the acting force acting on the fluid using the fluid modeling module, and processes the acting force acting on the deformed body using the deformed body modeling module.

図9は、他の実施形態に係るモデリング装置で隣接領域及び作用力を処理する過程を各モジュールの動作順により示す図である。図9を参照すると、他の実施形態に係るモデリング装置は、タイムステップ選択部910、格子モジュール920、変形体モデリングモジュール930、及び流体モデリングモジュール940を含む。   FIG. 9 is a diagram illustrating a process of processing an adjacent area and an acting force in a modeling device according to another embodiment in the order of operation of each module. Referring to FIG. 9, a modeling device according to another embodiment includes a time step selecting unit 910, a grid module 920, a deformation modeling module 930, and a fluid modeling module 940.

タイムステップ選択部910は、流体粒子と変形体粒子の間の相互作用をモデリングするタイムステップ(time step)を選択する。例えば、モデリングが行われる1周期を1秒と仮定すると、モデリング装置は、1秒の間の変形体と流体との間の相互作用を一回にモデリングすることなく、0.5秒あるいは0.3秒単位のように徐々にモデリングしてもよい。ここで、タイムステップは、1周期を0.5秒あるいは0.3秒単位のように何回のステップに分けるかを決定する過程である。タイムステップは、タイムステップ選択部910あるいはモデリング装置のユーザによって適切な値に選択されてもよい。   The time step selector 910 selects a time step for modeling the interaction between the fluid particles and the deformable particles. For example, assuming that one cycle in which the modeling is performed is one second, the modeling device may perform 0.5 seconds or 0.1 seconds without modeling the interaction between the deformant and the fluid during one second. It may be modeled gradually, such as every three seconds. Here, the time step is a process of determining how many steps are divided into one cycle in units of 0.5 seconds or 0.3 seconds. The time step may be selected to an appropriate value by the time step selecting unit 910 or a user of the modeling device.

また、タイムステップ選択部910は、変形体モデリングモジュール930及び流体モデリングモジュール940に対してそれぞれ個別的にタイムステップを設定してもよい。モデリング装置は、タイムステップ選択部910を介して、どのような時間における流体粒子又は変形体粒子の動きをモデリングするかを選択してもよい。   In addition, the time step selecting unit 910 may individually set a time step for the deformable body modeling module 930 and the fluid modeling module 940. The modeling device may select, via the time step selecting unit 910, at what time the movement of the fluid particle or the deformable particle is modeled.

格子モジュール920は、タイムステップ選択部910で選択されたタイムステップにより流体モデリングモジュール940から情報を受信する。ここで、格子モジュール920が流体モデリングモジュール940から受信する情報は、例えば、流体粒子が受ける作用力及び流体粒子の最終速度などを含んでもよい。ここで、流体粒子が受ける作用力は制約力のように表現されてもよい。   The grid module 920 receives information from the fluid modeling module 940 according to the time step selected by the time step selecting unit 910. Here, the information received by the grid module 920 from the fluid modeling module 940 may include, for example, an acting force applied to the fluid particles and a final velocity of the fluid particles. Here, the acting force received by the fluid particles may be expressed as a constraint force.

格子モジュール920は、流体モデリングモジュール940から受信した情報を加工して変形体モデリングモジュール930に提供する。格子モジュール920が加工して変形体モデリングモジュール930に提供した情報は、流体フィールドに含まれた流体粒子と変形体との間の相互作用力であってもよい。ここで、相互作用力は、例えば、変形体に対する流体粒子の反作用力及び抗力などのように変形体に対する流体粒子の作用力として理解してもよい。   The lattice module 920 processes the information received from the fluid modeling module 940 and provides the processed information to the deformation modeling module 930. The information processed by the lattice module 920 and provided to the deformation modeling module 930 may be an interaction force between the fluid particles included in the fluid field and the deformation. Here, the interaction force may be understood as an action force of the fluid particles on the deformable body such as a reaction force and a drag force of the fluid particles on the deformable body.

変形体モデリングモジュール930は、格子モジュール920から受信した相互作用力を変形体に対する形状モデルに反映する。変形体モデリングモジュール930は、相互作用力が反映された形状モデルから変形体の形状情報を生成してもよい。変形体モデリングモジュール930は、格子モジュール920に変形体の形状情報を提供してもよい。   The deformation modeling module 930 reflects the interaction force received from the lattice module 920 on a shape model for the deformation. The deformation modeling module 930 may generate the shape information of the deformation from the shape model in which the interaction force is reflected. The deformation modeling module 930 may provide the grid module 920 with the shape information of the deformation.

格子モジュール920は、変形体の形状情報から変形体の輪郭に関する情報を把握する。格子モジュール920は、形状情報を用いて変形体に対する流体粒子の作用力を算出してもよい。格子モジュール920は、流体モデリングモジュール940に形状情報を送信してもよい。   The lattice module 920 grasps information on the contour of the deformed object from the shape information of the deformed object. The grid module 920 may calculate the acting force of the fluid particles on the deformed body using the shape information. The grid module 920 may send the shape information to the fluid modeling module 940.

流体モデリングモジュール940は、形状情報を用いて流体粒子と変形体との間の衝突によって流体粒子が受ける制約力及び流体粒子の最終速度を算出する。流体モデリングモジュール940は、流体粒子が受ける制約力及び流体粒子の最終速度を再び格子モジュール920に提供してもよい。   The fluid modeling module 940 uses the shape information to calculate a constraint force applied to the fluid particle due to a collision between the fluid particle and the deformed object and a final velocity of the fluid particle. The fluid modeling module 940 may again provide the constraint force experienced by the fluid particles and the final velocity of the fluid particles to the grid module 920.

一実施形態において、相対モデリングモジュール(例えば、流体の場合には変形体モデリングモジュール930、変形体の場合には流体モデリングモジュール940)が格子モジュール920に格納した情報をフィードバックし、自身のオブジェクト粒子のモデリング時に反映することで、変形体と流体との間の相互作用をリアルタイムに処理することができる。   In one embodiment, the relative modeling module (e.g., the deformation modeling module 930 for fluids, the fluid modeling module 940 for deformations) feeds back information stored in the grid module 920, and provides information about its own object particles. By reflecting at the time of modeling, the interaction between the deformed body and the fluid can be processed in real time.

一実施形態によると、変形体と流体との間の相互作用をリアルタイムに処理することで、高品質の現実的な映像再現を必要とする映画の特殊効果のみならず、リアルタイムが最も重要とされるゲームやモバイルUI分野で流体及び流体と混合した変形体の事実的なモデリングを可能にする。   According to one embodiment, real-time processing of the interaction between the deformed object and the fluid makes real-time the most important, as well as cinematic special effects that require high quality realistic video reproduction. It enables the virtual modeling of fluids and fluid-mixed variants in the field of games and mobile UI.

図10は、他の実施形態に係るモデリング装置で格子モジュールの中継を介して流体と変形体との間の相互作用を処理する過程を説明するための図である。図10を参照すると、流体モデリングモジュール1010、格子モジュール1030及び変形体モデリングモジュール1050が示されている。   FIG. 10 is a diagram illustrating a process of processing an interaction between a fluid and a deformable object via a grid module relay in a modeling apparatus according to another embodiment. Referring to FIG. 10, a fluid modeling module 1010, a grid module 1030, and a variant modeling module 1050 are shown.

流体モデリングモジュール1010は、モデリングステップにおいて、例えば、重力のような外力を処理し、流体フィールドの粘性をモデリングした後、流体粒子の位置を更新する。流体モデリングモジュール1010は、流体フィールドに含まれた各流体粒子が変形体と衝突したか否か、及び流体粒子の体積又は密度が体積保存条件を満足するかを判断して流体粒子をモデリングする。例えば、流体フィールドに含まれた各流体粒子が変形体と衝突し、衝突時の流体粒子の体積が体積保存条件を満足すると仮定する。流体モデリングモジュール1010は、流体粒子が受ける制約力及び流体粒子の最終速度を算出する。流体モデリングモジュール1010は、例えば、衝突及び体積保存条件がない場合に流体粒子に作用する力と、衝突及び体積保存条件がある場合に流体粒子に作用する力とを比較して、流体粒子が受ける制約力を算出してもよい。流体モデリングモジュール1010は、前で算出した制約力及び流体粒子の最終速度に関する情報を格子モジュール1030に提供してもよい。   In the modeling step, the fluid modeling module 1010 processes an external force, such as gravity, and models the viscosity of the fluid field, and then updates the positions of the fluid particles. The fluid modeling module 1010 models the fluid particles by determining whether each fluid particle included in the fluid field collides with the deformed object and whether the volume or density of the fluid particles satisfies the volume storage condition. For example, assume that each fluid particle included in the fluid field collides with the deformed body, and that the volume of the fluid particle at the time of the collision satisfies the volume preservation condition. The fluid modeling module 1010 calculates a constraint force applied to the fluid particles and a final velocity of the fluid particles. The fluid modeling module 1010 may, for example, compare the force acting on the fluid particles in the absence of collision and volume conservation conditions to the force acting on the fluid particles in the presence of collision and volume conservation conditions, and receive the fluid particles. The constraint force may be calculated. The fluid modeling module 1010 may provide the grid module 1030 with information regarding the previously calculated constraint forces and the final velocity of the fluid particles.

格子モジュール1030は、流体モデリングモジュール1010と変形体モデリングモジュール1050が相手側のモデリングモジュールの存在を非明示的に認識するように助けることができる。格子モジュール1030は流体粒子の作用力を変形体モデリングモジュール1050に提供し、変形体の形状情報を流体モデリングモジュール1010に提供してもよい。流体粒子の作用力は、変形体に対する流体粒子の反作用力及び抗力を含んでもよい。格子モジュール1030は、流体粒子と変形体が予め設定された距離以内に隣接する場合、制約力及び流体粒子の最終速度に基づいて作用力を算出してもよい。   The grid module 1030 can help the fluid modeling module 1010 and the deformation modeling module 1050 to implicitly recognize the presence of a counterpart modeling module. The lattice module 1030 may provide the acting force of the fluid particles to the deformation modeling module 1050, and may provide shape information of the deformation to the fluid modeling module 1010. The acting force of the fluid particles may include a reaction force and a drag force of the fluid particles on the deformable body. The lattice module 1030 may calculate the acting force based on the constraining force and the final velocity of the fluid particle when the fluid particle and the deformed body are adjacent within a predetermined distance.

格子モジュール1030は、流体粒子には変形体の形状情報を伝達し、変形体の形状モデルには流体が受けた相互作用と抵抗力を送信して、各モデリングモジュール1010、1050が物理的に正しい相互作用結果を導き出すようにする。格子モジュール1030は、相互作用が正しく送信されるように最小限の流体と変形体が隣接する領域を対象に動作する。   The lattice module 1030 transmits the shape information of the deformed body to the fluid particles, and transmits the interaction and the resistance received by the fluid to the shape model of the deformed body, so that each of the modeling modules 1010 and 1050 is physically correct. Try to derive interaction results. The grid module 1030 operates on areas where a minimum of fluids and deformations are adjacent so that the interactions are transmitted correctly.

変形体モデリングモジュール1050は、流体と同様に重力、弾性力などをモデリングした後、格子モジュール1030を参照して流体との相互作用領域で発生した力を追加的に反映してもよい。変形体モデリングモジュール1050は距離フィールドで、形状モデルに作用力を適用して形状モデルの最終位置を決定する。ここで、作用力は変形体に対する流体粒子の作用力を考慮したものであり、作用力によって流体粒子による摩擦力と抵抗を変形体に反映してもよい。変形体モデリングモジュール1050は、形状モデルの最終位置で変形体及び流体粒子の間の衝突を考慮し、形状モデル及び流体粒子を除いた変形体の障害物が体積保存条件を満足するよう変形体の形状情報を生成してもよい。変形体モデリングモジュール1050は、変形体の形状モデル及び変形体の障害物が体積保存条件を満足するように変形体の形状情報を生成する。ここで、変形体の形状モデルは、変形体に対する流体粒子の作用力が反映されたものであってもよい。変形体モデリングモジュール1050は形状情報を、例えば、格子で符号のある距離値に自身の位置を示すレベルセット情報として格子モジュール1030に送信してもよい。   The deformation modeling module 1050 may model the force generated in the interaction region with the fluid by referring to the lattice module 1030 after modeling the gravitational force, the elastic force, and the like in the same manner as the fluid. In the distance field, the deformation modeling module 1050 applies an acting force to the shape model to determine a final position of the shape model. Here, the acting force takes into account the acting force of the fluid particles on the deformable body, and the acting force may reflect the frictional force and resistance of the fluid particles on the deformed body. The deformation modeling module 1050 considers the collision between the deformation and the fluid particles at the final position of the shape model, and determines the obstacle of the deformation except the shape model and the fluid particles to satisfy the volume preservation condition. Shape information may be generated. The deformation modeling module 1050 generates the shape information of the deformation so that the shape model of the deformation and the obstacle of the deformation satisfy the volume storage condition. Here, the shape model of the deformed body may reflect the acting force of the fluid particles on the deformed body. The deformed body modeling module 1050 may transmit the shape information to the grid module 1030 as, for example, level set information indicating its position at a distance value with a sign on the grid.

一実施形態によると、流体モデリングモジュール1010及び変形体モデリングモジュール1050を分離して変形体及び流体それぞれの粒子モデリング時に求められる体積保存などのような制約条件を個別的に達成することができる。   According to an exemplary embodiment, the fluid modeling module 1010 and the deformation modeling module 1050 may be separated to individually achieve constraints such as volume conservation required when modeling particles of the deformation and the fluid.

また、一実施形態において、流体モデリングモジュール1010及び変形体モデリングモジュール1050は、それぞれのモデリングを独自に実行しながら変形体と流体との間の相互作用領域については格子モジュール1030によって融合処理することができる。実施形態において、格子モジュール1030以外に仮想の格子化が用いられてもよい。   Also, in one embodiment, the fluid modeling module 1010 and the deformation modeling module 1050 may perform the fusion processing on the interaction region between the deformation and the fluid by the lattice module 1030 while independently performing each modeling. it can. In the embodiment, virtual lattice formation other than the lattice module 1030 may be used.

図11は、他の実施形態に係るモデリング装置の動作方法を示したフローチャートである。図11を参照すると、一実施形態に係るモデリング装置は、流体フィールド(fluid field)に含まれた流体粒子と変形体粒子との間の衝突及び流体粒子が第1制約条件の体積保存条件が満足されるか否かを判断する(S1110)。   FIG. 11 is a flowchart illustrating an operation method of the modeling device according to another embodiment. Referring to FIG. 11, in the modeling apparatus according to an embodiment, the collision between the fluid particles and the deformable particles included in the fluid field and the volume preservation condition of the fluid particles satisfying the first constraint condition are satisfied. It is determined whether or not it is performed (S1110).

ステップS1110の判断結果に応じて、モデリング装置は、流体粒子が受ける制約力及び流体粒子の最終速度を算出する(S1120)。流体粒子と変形体粒子が衝突する場合、モデリング装置は、流体粒子を変形体を貫通しない最終位置に移動させる。モデリング装置は、最終位置で流体粒子が体積保存条件を満足するようにモデリングした後、流体粒子が受ける制約力及び流体粒子の最終速度を算出する。また、モデリング装置は、形状情報を用いて制約力及び流体粒子の最終速度を算出してもよい。   According to the result of the determination in step S1110, the modeling device calculates the constraint force applied to the fluid particles and the final velocity of the fluid particles (S1120). If the fluid particles and the deformable particles collide, the modeling device moves the fluid particles to a final position that does not penetrate the deformable. The modeling device performs modeling so that the fluid particle satisfies the volume preservation condition at the final position, and then calculates a constraint force applied to the fluid particle and a final velocity of the fluid particle. Further, the modeling device may calculate the constraint force and the final velocity of the fluid particle using the shape information.

モデリング装置は、ステップS1120で算出した制約力及び最終速度を用いて変形体に対する流体粒子の作用力を算出する(S1130)。作用力は反作用力及び抗力を含んでもよい。ステップS1130でモデリング装置は、制約力に基づいて変形体に対する流体粒子の反作用力を算出する。ここで、反作用力は、形状情報をさらに用いて算出されてもよい。モデリング装置は、制約力を反映した流体粒子の最終位置における最終速度に基づいて変形体に対する流体粒子の抗力を算出してもよい。その他にも、モデリング装置は、流体粒子と変形体粒子が予め設定された距離内に隣接するか否かを判断し、判断結果に応じて作用力を算出してもよい。   The modeling device calculates the acting force of the fluid particles on the deformable body using the constraint force and the final speed calculated in step S1120 (S1130). The acting force may include a reaction force and a drag force. In step S1130, the modeling device calculates a reaction force of the fluid particles on the deformable body based on the constraint force. Here, the reaction force may be calculated by further using the shape information. The modeling device may calculate the drag of the fluid particle on the deformable body based on the final velocity at the final position of the fluid particle reflecting the constraint force. In addition, the modeling device may determine whether the fluid particles and the deformable particles are adjacent within a predetermined distance, and calculate the acting force according to the determination result.

モデリング装置は、変形体の形状モデル及び流体粒子を除いた変形体の障害物が体積保存条件を満足するように変形体の形状情報を生成する(S1140)。変形体の形状モデルは、変形体に対する流体粒子の作用力が反映されたものである。ステップS1140でモデリング装置は、形状モデルに作用力を適用し、作用力を適用した結果に応じて形状モデルの最終位置を決定する。モデリング装置は、形状モデルの最終位置で形状モデル及び変形体の障害物が体積保存条件を満足するように変形体の形状情報を生成する。   The modeling device generates the shape information of the deformed object such that the shape model of the deformed object and the obstacle of the deformed object excluding the fluid particles satisfy the volume storage condition (S1140). The shape model of the deformed body reflects the acting force of the fluid particles on the deformed body. In step S1140, the modeling device applies an acting force to the shape model, and determines a final position of the shape model according to a result of applying the acting force. The modeling device generates shape information of the deformed object such that the obstacle of the shape model and the deformed object satisfies the volume storage condition at the final position of the shape model.

図12は、他の実施形態に係るモデリング装置で流体モデリングモジュールの動作方法を示したフローチャートである。図12を参照すると、一実施形態に係る流体モデリングモジュールは、流体フィールドで流体粒子に影響を与える外力及び流体フィールドの粘性を反映して流体粒子の位置を算出する(S1210)。ステップS1210において、流体モデリングモジュールは、流体粒子の間の運動量格納方程式(momentum equation)を算出してもよい。流体モデリングモジュールは、例えば、第1粒子に隣接する第2粒子を考慮して第1粒子に対する運動量格納方程式を算出し、第1粒子及び第2粒子を含む全ての粒子に対する密度、外力及び粘性などを算出してもよい。流体モデリングモジュールは、運動量格納方程式の算出結果を用いて、第1粒子及び第2粒子それぞれに対して非圧縮性制約条件を満足する変化量を算出してもよい。非圧縮性制約条件は、流体内部の体積の不変条件を意味し、一定の流体フィールド内で粒子速度を反映した粒子間の出入り量制御及び流体と変形体との間の相互作用による輪郭の高精密なモデリングを可能にする。流体モデリングモジュールは、流体粒子それぞれの流体フィールドにおけるダイバージェンス(divergence)を求め、ダイバージェンスが「0」になるようにして非圧縮性制約条件を満たすことができる。流体モデリングモジュールは、算出された変化量に応じて流体粒子の位置を算出してもよい。   FIG. 12 is a flowchart illustrating a method of operating a fluid modeling module in a modeling device according to another embodiment. Referring to FIG. 12, the fluid modeling module according to an exemplary embodiment calculates a position of a fluid particle by reflecting an external force that affects the fluid particle in the fluid field and a viscosity of the fluid field (S1210). In operation S1210, the fluid modeling module may calculate a momentum equation between the fluid particles. The fluid modeling module calculates, for example, a momentum storage equation for the first particle in consideration of the second particle adjacent to the first particle, and calculates a density, an external force, and a viscosity for all particles including the first particle and the second particle. May be calculated. The fluid modeling module may calculate a variation that satisfies the incompressibility constraint for each of the first particle and the second particle using the calculation result of the momentum storage equation. The incompressibility constraint refers to the invariant condition of the volume inside the fluid, controls the amount of flow between particles reflecting the particle velocity in a constant fluid field, and increases the contour height due to the interaction between the fluid and the deformed body. Enables precise modeling. The fluid modeling module determines the divergence in the fluid field of each of the fluid particles and allows the divergence to be "0" to satisfy the incompressibility constraint. The fluid modeling module may calculate the position of the fluid particle according to the calculated amount of change.

ステップS1210の以前に、流体モデリングモジュールは、流体をモデリングするための粒子を初期化してもよい。初期化過程でモデリング装置は、例えば、一定空間又は領域にある流体を示す粒子量、密度、速度及び位置などの情報を初期化してもよい。   Prior to step S1210, the fluid modeling module may initialize particles for modeling a fluid. In the initialization process, the modeling device may initialize information such as a particle amount, a density, a velocity, and a position indicating a fluid in a certain space or region.

流体モデリングモジュールは、流体フィールドに含まれた流体粒子と変形体との間の衝突が発生したかを判断する(S1220)。   The fluid modeling module determines whether a collision has occurred between the fluid particles included in the fluid field and the deformed body (S1220).

ステップS1220で衝突が発生したと判断される場合、流体モデリングモジュールは、流体粒子の位置を変形体を貫通しない最終位置に移動させる(S1230)。流体モデリングモジュールは、最終位置で流体粒子が第1制約条件(例えば、体積保存条件)を満足するようにモデリングする(S1240)。流体モデリングモジュールは、衝突によって流体粒子が受ける制約力を算出し(S1250)、最終位置で流体粒子の最終速度を算出する(S1260)。ステップS1250及びステップS1260において、流体モデリングモジュールは、格子モジュールから受信した変形体の形状情報を用いて制約力及び流体粒子の最終速度を算出してもよい。流体モデリングモジュールは、流体粒子が受ける制約力及び流体粒子の最終速度に関する情報を格子モジュールに提供する(S1270)。   If it is determined in step S1220 that a collision has occurred, the fluid modeling module moves the position of the fluid particle to a final position that does not penetrate the deformed body (S1230). The fluid modeling module performs modeling such that the fluid particle satisfies a first constraint condition (for example, a volume storage condition) at a final position (S1240). The fluid modeling module calculates a constraint force applied to the fluid particles due to the collision (S1250), and calculates a final velocity of the fluid particles at a final position (S1260). In steps S1250 and S1260, the fluid modeling module may calculate the constraint force and the final velocity of the fluid particles using the shape information of the deformed object received from the grid module. The fluid modeling module provides the grid module with information on the constraint force applied to the fluid particles and the final velocity of the fluid particles (S1270).

ステップS1220において、衝突が発生しないと判断された場合、流体モデリングモジュールは動作を終了したり、又はステップS1210で算出された流体粒子の位置を格子モジュールに提供してもよい。   If it is determined in step S1220 that no collision occurs, the fluid modeling module may end the operation or provide the position of the fluid particle calculated in step S1210 to the grid module.

図13は、他の実施形態に係るモデリング装置で変形体モデリングモジュールの動作方法を示したフローチャートである。図13を参照すると、一実施形態に係る変形体モデリングモジュールは、外力を反映して変形体に対する粒子基盤の形状モデルをモデリングする(S1310)。変形体モデリングモジュールは、ステップS1310でモデリングされた形状モデルに変形体に対する流体粒子の作用力を反映する(S1320)。変形体モデリングモジュールは、作用力の適用結果に応じて形状モデルの最終位置を決定する(S1330)。   FIG. 13 is a flowchart illustrating an operation method of a deformable object modeling module in a modeling device according to another embodiment. Referring to FIG. 13, the deformable body modeling module according to an embodiment models a particle-based shape model of the deformable body by reflecting an external force (S1310). The deformation model modeling module reflects the acting force of the fluid particles on the deformation in the shape model modeled in step S1310 (S1320). The deformable body modeling module determines the final position of the shape model according to the application result of the acting force (S1330).

変形体モデリングモジュールは、変形体と流体粒子の間の衝突が発生したかを判断する(S1340)。   The deformation modeling module determines whether a collision between the deformation and the fluid particle has occurred (S1340).

ステップS1340で衝突が発生したと判断された場合、変形体モデリングモジュールは、形状モデルの最終位置で形状モデル及び変形体の障害物が第2制約条件が満足されるようにモデリングする(S1350)。変形体モデリングモジュールは、ステップS1350でモデリングされた変形体の形状モデルに対する形状情報を生成する(S1360)。変形体モデリングモジュールは、ステップS1360で生成された形状情報を格子モジュールに送信する(S1370)。   If it is determined in step S1340 that a collision has occurred, the deformation modeling module models the shape model and the obstacle of the deformation so that the second constraint is satisfied at the final position of the shape model (S1350). The deformation modeling module generates shape information for the shape model of the deformation modeled in step S1350 (S1360). The deformed object modeling module transmits the shape information generated in step S1360 to the lattice module (S1370).

ステップS1340において、衝突が発生していないと判断された場合、変形体モデリングモジュールは形状モデルに対する形状情報を生成し(S1360)、形状情報を格子モジュールに送信する(S1370)。   If it is determined in step S1340 that no collision has occurred, the deformable body modeling module generates shape information for the shape model (S1360), and transmits the shape information to the lattice module (S1370).

図14は、他の実施形態に係るモデリング装置で格子モジュールの動作方法を示したフローチャートである。図14を参照すると、一実施形態に係る格子モジュールは、変形体モデリングモジュールから変形体の形状情報を受信する(S1410)。格子モジュールは、変形体の形状情報を流体モデリングモジュールに提供する(S1420)。格子モジュールは流体モデリングモジュールから、流体粒子が受ける制約力及び流体粒子の最終速度を受信する(S1430)。格子モジュールは、変形体の形状情報及び流体粒子が受ける制約力を用いて変形体に対する流体粒子の反作用力を算出する(S1440)。格子モジュールは、流体粒子の最終位置での最終速度に基づいて変形体に対する流体粒子の抗力を算出する(S1450)。格子モジュールは、反作用力及び抗力を含む流体粒子の作用力を変形体モデリングモジュールに提供する(S1460)。   FIG. 14 is a flowchart illustrating a method of operating a lattice module in a modeling device according to another embodiment. Referring to FIG. 14, the lattice module according to an embodiment receives shape information of a deformed object from a deformed object modeling module (S1410). The lattice module provides shape information of the deformed object to the fluid modeling module (S1420). The grid module receives from the fluid modeling module the constraining force on the fluid particles and the final velocity of the fluid particles (S1430). The lattice module calculates a reaction force of the fluid particles on the deformable object using the shape information of the deformed object and the constraint force applied to the fluid particles (S1440). The lattice module calculates a drag force of the fluid particle on the deformable body based on the final velocity of the fluid particle at the final position (S1450). The lattice module provides the fluid modeling force including the reaction force and the drag to the deformation modeling module (S1460).

以上で説明された装置は、ハードウェア構成要素、ソフトウェア構成要素、及び/又はハードウェア構成要素及びソフトウェア構成要素の組合せで実現してもよい。例えば、プロセッサ、コントローラ、ALU(arithmetic logic unit)、デジタル信号プロセッサ(digital signal processor)、マイクロコンピュータ、FPA(field programmable array)、PLU(programmable logic unit)、マイクロプロセッサー、または、命令(instruction)を実行して応答できる異なる装置のように、1つ以上の汎用コンピュータまたは特殊目的のコンピュータを用いて実現されてもよい。処理装置は、オペレーティングシステム(OS)及び前記オペレーティングシステム上で行われる1つ以上のソフトウェアアプリケーションを実行してもよい。また、処理装置は、ソフトウェアの実行に応答してデータをアクセス、格納、操作、処理及び生成してもよい。理解の便宜のために、処理装置は1つ使用されるものと説明される場合もあるが、当該の技術分野で通常の知識を有する者は、処理装置が複数の処理要素(processing element)及び/又は複数類型の処理要素を含んでいることが分かる。例えば、処理装置は、複数のプロセッサまたは1つのプロセッサ及び1つのコントローラを含んでもよい。また、並列プロセッサ(parallel processor)のような、他の処理構成も可能である。   The devices described above may be implemented with hardware components, software components, and / or combinations of hardware components and software components. For example, a processor, a controller, an arithmetic logical unit (ALU), a digital signal processor (digital signal processor), a microcomputer, a field programmable array (FPA), a programmable logic unit (PLU), a microprocessor, or an instruction (instruction) are executed. It may be implemented using one or more general-purpose or special-purpose computers, such as different devices capable of responding to a request. The processing device may execute an operating system (OS) and one or more software applications running on the operating system. The processing device may also access, store, operate, process and generate data in response to execution of the software. For convenience of understanding, a single processing device may be described as being used, but those of ordinary skill in the art will appreciate that a processing device may include a plurality of processing elements and a plurality of processing elements. It can be seen that it includes multiple types of processing elements. For example, a processing device may include multiple processors or one processor and one controller. Other processing configurations, such as a parallel processor, are also possible.

ソフトウェアはコンピュータプログラム、コード、命令、またはこのうちの1つ以上の組合せを含んでもよく、希望の通りに動作するよう処理装置を構成したり独立的または結合的に処理装置を命令してもよい。ソフトウェア及び/又はデータは、処理装置によって解釈されたり処理装置に命令またはデータを提供するためどのような類型の機械、構成要素、物理的装置、仮想装置、コンピュータ格納媒体または装置、送信される信号波に永久的または一時的に具体化できる。ソフトウェアは、ネットワークに接続されたコンピュータシステム上に分散し、分散された方法で格納されたり実行されてもよい。ソフトウェア及びデータは1つ以上のコンピュータで読み出し可能な記録媒体に格納されてもよい。   The software may comprise a computer program, code, instructions, or a combination of one or more of these, and may configure the processing unit to operate as desired or may independently or cooperatively instruct the processing unit. . Software and / or data, the machine of any type for providing instructions or data to the processing apparatus or is interpreted by the processing device, component, physical devices, virtual devices, computer storage media or device, the signal transmitted Can be permanently or temporarily embodied in waves. The software may be distributed on computer systems connected to a network and stored and executed in a distributed manner. The software and data may be stored on one or more computer readable storage media.

実施形態に係る方法は、多様なコンピュータ手段を介して様々な処理を実行することができるプログラム命令の形態で実現され、コンピュータで読取可能な記録媒体に記録されてもよい。コンピュータ読取可能な媒体は、プログラム命令、データファイル、データ構造などのうち1つまたはその組合せを含んでもよい。媒体に記録されるプログラム命令は、本発明の目的のために特別に設計されて構成されたものでもよく、コンピュータソフトウェア分野の技術を有する当業者にとって公知のものであり、使用可能なものであってもよい。コンピュータ読取可能な記録媒体の例としては、ハードディスク、フロッピー(登録商標)ディスク及び磁気テープのような磁気媒体、CD−ROM、DVDのような光記録媒体、光ディスクのような光磁気媒体、及びROM、RAM、フラッシュメモリなどのようなプログラム命令を保存して実行するように特別に構成されたハードウェア装置が含まれてもよい。プログラム命令の例には、コンパイラによって作られるような機械語コードだけでなく、インタープリタなどを用いてコンピュータによって実行できる高級言語コードが含まれる。前記したハードウェア装置は、本発明の動作を行うために1つ以上のソフトウェアモジュールとして動作するように構成されてもよく、その逆も同様である。   The method according to the embodiment may be implemented in the form of program instructions capable of executing various processes via various computer means, and may be recorded on a computer-readable recording medium. The computer-readable medium may include one or a combination of program instructions, data files, data structures, and the like. The program instructions recorded on the medium may be specially designed and configured for the purpose of the present invention, and are known and usable by those skilled in the computer software art. You may. Examples of the computer-readable recording medium include a magnetic medium such as a hard disk, a floppy (registered trademark) disk and a magnetic tape, an optical recording medium such as a CD-ROM and a DVD, a magneto-optical medium such as an optical disk, and a ROM. , A RAM device, a specially configured hardware device for storing and executing program instructions, such as a flash memory, etc., may be included. Examples of program instructions include not only machine language codes produced by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like. The hardware device described above may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.

上述したように、本発明を限定された実施形態と図面によって説明したが、本発明は、上記の実施形態に限定されることなく、本発明が属する分野における通常の知識を有する者であれば、このような実施形態から多様な修正及び変形が可能である。   As described above, the present invention has been described with reference to the limited embodiments and the drawings. However, the present invention is not limited to the above embodiments, and any person having ordinary knowledge in the field to which the present invention belongs can be used. Various modifications and variations are possible from such embodiments.

したがって、本発明の範囲は、開示された実施形態に限定されるものではなく、特許請求の範囲だけではなく特許請求の範囲と均等なものなどによって定められるものである。   Therefore, the scope of the present invention is not limited to the disclosed embodiments, but is defined not only by the claims but also by the equivalents of the claims.

700:モデリング装置
710:メモリ
730:プロセッサ
750:通信部
700: Modeling device 710: Memory 730: Processor 750: Communication unit

Claims (18)

コンピュータグラフィクスによるシミュレーションとしてオブジェクトをモデリングする方法であって、該モデリングするコンピュータのプロセッサが、
粒子からモデリングされた第1オブジェクトと粒子からモデリングされた第2オブジェクトとの間の隣接領域を検出するステップと、
前記隣接領域に対して格子を定義するステップと、
前記格子の格子点に格納された情報を用いて、前記隣接領域における前記第1オブジェクトと前記第2オブジェクトとの間の作用力を算出するステップと、
前記作用力に基づいて前記第1オブジェクトと前記第2オブジェクトをモデリングするステップと、
を含み、
前記格子を定義するステップは、
前記隣接領域で前記第1オブジェクト又は前記第2オブジェクトの輪郭と前記輪郭に隣接する前記格子の格子点との距離値を抽出するステップと、
前記抽出された距離値を前記格子点に格納するステップと、
を含む、
オブジェクトをモデリングする方法。
A method of modeling an object as a simulation by computer graphics, wherein the processor of the modeling computer comprises:
Detecting an adjacent region between a first object modeled from the particle and a second object modeled from the particle;
Defining a grid for the adjacent region;
Calculating an acting force between the first object and the second object in the adjacent area using information stored at grid points of the grid;
Modeling the first object and the second object based on the acting force;
Including
The step of defining the grid comprises:
Extracting a distance value between a contour of the first object or the second object and a grid point of the grid adjacent to the contour in the adjacent area;
Storing the extracted distance value in the grid point;
including,
How to model objects.
前記作用力を算出するステップは、
前記隣接領域で前記第1オブジェクトの粒子と前記第2オブジェクトの粒子との間に衝突が発生したか否かを判断するステップと、
前記判断結果に基づいて、前記第1オブジェクトの粒子と前記第2オブジェクトの粒子との間の作用力を算出するステップと、
を含む、
請求項1に記載のオブジェクトをモデリングする方法。
The step of calculating the acting force includes:
Determining whether a collision has occurred between the particles of the first object and the particles of the second object in the adjacent area;
Calculating an acting force between the particles of the first object and the particles of the second object based on the determination result;
including,
A method for modeling an object according to claim 1.
前記衝突が発生したか否かを判断するステップは、前記第1オブジェクトの粒子の位置に隣接する格子点に格納された距離値を用いて前記衝突が発生したか否かを判断するステップを含む、
請求項2に記載のオブジェクトをモデリングする方法。
The step of determining whether or not the collision has occurred includes the step of determining whether or not the collision has occurred using a distance value stored at a grid point adjacent to the position of the particle of the first object. ,
A method for modeling an object according to claim 2.
前記衝突が発生したか否かを判断するステップは、前記第1オブジェクトの粒子が体積保存条件を満足するか否かをさらに考慮する、
請求項3に記載のオブジェクトをモデリングする方法。
The step of determining whether the collision has occurred may further consider whether the particles of the first object satisfy a volume storage condition.
A method for modeling an object according to claim 3.
前記作用力を算出するステップは、
前記衝突が発生したと判断される場合、前記隣接領域で前記第1オブジェクトの粒子と前記第2オブジェクトの粒子のうち衝突が発生した第1オブジェクトの粒子を検出するステップと、
前記検出された第1オブジェクトの粒子の位置を再定義するステップと、
前記第1オブジェクトの粒子の再定義された位置に基づいて、前記衝突によって前記第2オブジェクトに及ぼす作用力を算出するステップと、
を含む、
請求項2または3に記載のオブジェクトをモデリングする方法。
The step of calculating the acting force includes:
Detecting the collision of the first object particles among the particles of the first object and the particles of the second object in the adjacent area, when it is determined that the collision has occurred;
Redefining the position of the particles of the detected first object;
Calculating an acting force exerted on the second object by the collision based on the redefined position of the particles of the first object;
including,
A method for modeling an object according to claim 2 or 3.
前記検出された第1オブジェクトの粒子の位置を再定義するステップは、前記検出された第1オブジェクトの粒子の位置を前記第2オブジェクトを貫通しない位置に再定義するステップを含む、
請求項5に記載のオブジェクトをモデリングする方法。
The step of redefining the positions of the detected particles of the first object includes the step of redefining the positions of the detected particles of the first object so as not to penetrate the second object.
A method for modeling an object according to claim 5.
前記検出された第1オブジェクトの粒子の位置を再定義するステップは、
前記検出された第1オブジェクトの粒子を含むセルに該当する格子点に格納された距離値及び傾斜度を用いて、前記第2オブジェクトを貫通しない前記第1オブジェクトの粒子の移動方向及び最短移動距離を算出するステップと、
前記算出された移動方向及び最短移動距離により前記第1オブジェクトの粒子の位置を移動させるステップと、
を含む、
請求項5または6に記載のオブジェクトをモデリングする方法。
Redefining the position of the detected particles of the first object,
The moving direction and the shortest moving distance of the particles of the first object that do not penetrate the second object using the distance value and the inclination stored at the grid point corresponding to the cell including the detected particles of the first object. Calculating
Moving the position of the particles of the first object according to the calculated moving direction and the shortest moving distance;
including,
A method for modeling an object according to claim 5.
前記格子点に格納された距離値及び前記算出された最短移動距離を用いて前記第1オブジェクトの粒子の移動速度を算出するステップと、
前記算出された移動速度を前記検出された第1オブジェクトの粒子を含むセルに該当する格子点に格納するステップと、
をさらに含む、
請求項7に記載のオブジェクトをモデリングする方法。
Calculating the moving speed of the particles of the first object using the distance value stored at the grid point and the calculated shortest moving distance;
Storing the calculated moving speed at a grid point corresponding to a cell including the detected particles of the first object;
Further comprising,
A method for modeling an object according to claim 7.
前記衝突によって前記第2オブジェクトに及ぼす作用力を算出するステップは、
前記第1オブジェクトの粒子の再定義された位置で前記第1オブジェクトの粒子が前記第2オブジェクトから受けると推定される力を算出するステップと、
前記推定される力に基づいて前記衝突によって前記第2オブジェクトに及ぼす作用力を算出するステップと、
を含む、
請求項5に記載のオブジェクトをモデリングする方法。
Calculating the acting force exerted on the second object by the collision;
Calculating a force at which the particles of the first object are estimated to be received from the second object at the redefined positions of the particles of the first object;
Calculating an acting force exerted on the second object by the collision based on the estimated force;
including,
A method for modeling an object according to claim 5.
前記算出された作用力を、前記第1オブジェクトの粒子の再定義された位置に該当する格子の格子点に格納するステップをさらに含む、
請求項9に記載のオブジェクトをモデリングする方法。
Storing the calculated acting force at a grid point of a grid corresponding to a redefined position of the particles of the first object.
A method for modeling an object according to claim 9.
前記第1オブジェクトと前記第2オブジェクトは互いに異種である、
請求項1乃至10いずれか一項に記載のオブジェクトをモデリングする方法。
The first object and the second object are different from each other;
A method for modeling an object according to any of the preceding claims.
前記第1オブジェクトは流体であり、前記第2オブジェクトは変形体である、
請求項11に記載のオブジェクトをモデリングする方法。
The first object is a fluid, and the second object is a deformed body;
A method for modeling an object according to claim 11.
請求項1乃至12いずれか一項に記載の方法を実行させるためのプログラムが記録されたコンピュータ読み出し可能な記録媒体。   A computer-readable recording medium on which a program for executing the method according to claim 1 is recorded. 粒子からモデリングされた第1オブジェクトと、粒子からモデリングされた第2オブジェクトとの間の隣接領域を検出し、前記隣接領域に対して格子を定義する格子変換モジュールと、
前記格子の格子点に格納された情報を用いて前記隣接領域における前記第1オブジェクトと前記第2オブジェクトとの間の作用力を算出し、前記作用力に基づいて前記第1オブジェクトと前記第2オブジェクトをモデリングするオブジェクトモデリングモジュールと、
前記格子変換モジュール及び前記オブジェクトモデリングモジュールを制御するプロセッサと、
を含み、
前記格子変換モジュールは、前記隣接領域で前記第1オブジェクト又は前記第2オブジェクトの輪郭と前記輪郭に隣接する前記格子の格子点との距離値を抽出し、前記抽出された距離値を前記格子の格子点に格納する、
オブジェクトをモデリングする装置。
A grid conversion module for detecting an adjacent region between the first object modeled from the particle and the second object modeled from the particle, and defining a grid for the adjacent region;
An action force between the first object and the second object in the adjacent area is calculated using information stored at a grid point of the grid, and the first object and the second object are calculated based on the action force. An object modeling module for modeling objects,
A processor that controls the grid conversion module and the object modeling module;
Including
The grid conversion module extracts a distance value between an outline of the first object or the second object in the adjacent area and a grid point of the grid adjacent to the outline, and calculates the extracted distance value of the grid. Store at grid points,
A device for modeling objects.
粒子からモデリングされた第1オブジェクトと、粒子からモデリングされた第2オブジェクトとの間の隣接領域を検出し、前記隣接領域に対して格子を定義する格子変換モジュールと、
前記格子の格子点に格納された情報を用いて前記隣接領域における前記第1オブジェクトと前記第2オブジェクトとの間の作用力を算出し、前記作用力に基づいて前記第1オブジェクトと前記第2オブジェクトをモデリングするオブジェクトモデリングモジュールと、
前記格子変換モジュール及び前記オブジェクトモデリングモジュールを制御するプロセッサと、
を含み、
前記オブジェクトモデリングモジュールは、
前記隣接領域で前記第1オブジェクトの粒子と前記第2オブジェクトの粒子との間に衝突が発生したか否かを判断する判断部と、
前記判断結果に基づいて、前記隣接領域で前記第1オブジェクトの粒子と前記第2オブジェクトの粒子のうち衝突が発生した第1オブジェクトの粒子を検出する検出部と、
前記検出された第1オブジェクトの粒子の位置を再定義する再定義部と、
前記第1オブジェクトの粒子の再定義された位置に基づいて、前記衝突によって前記第2オブジェクトに及ぼす作用力を算出する算出部と、
を含む、
オブジェクトをモデリングする装置。
A grid conversion module for detecting an adjacent region between the first object modeled from the particle and the second object modeled from the particle, and defining a grid for the adjacent region;
An action force between the first object and the second object in the adjacent area is calculated using information stored at a grid point of the grid, and the first object and the second object are calculated based on the action force. An object modeling module for modeling objects,
A processor that controls the grid conversion module and the object modeling module;
Including
The object modeling module comprises:
A determining unit that determines whether a collision has occurred between the particles of the first object and the particles of the second object in the adjacent region;
A detection unit configured to detect, based on the determination result, particles of the first object in which the collision has occurred among particles of the first object and particles of the second object in the adjacent region;
A redefinition unit for redefining the positions of the particles of the detected first object;
A calculating unit that calculates an acting force exerted on the second object by the collision based on the redefined position of the particles of the first object;
including,
A device for modeling objects.
前記再定義部は、前記検出された第1オブジェクトの粒子を含むセルに該当する格子点に格納された距離値及び傾斜度を用いて、前記第2オブジェクトを貫通しない前記第1オブジェクトの粒子の移動方向及び最短移動距離を算出し、前記算出された移動方向及び最短移動距離により前記第1オブジェクトの粒子の位置を移動させる、
請求項15に記載のオブジェクトをモデリングする装置。
The redefinition unit may use a distance value and a gradient stored at a grid point corresponding to a cell including the detected particles of the first object to detect particles of the first object that do not penetrate the second object. Calculating a moving direction and a shortest moving distance, and moving the position of the particles of the first object according to the calculated moving direction and the shortest moving distance;
An apparatus for modeling an object according to claim 15 .
前記算出部は、前記第1オブジェクトの粒子の再定義された位置で前記第1オブジェクトの粒子が前記第2オブジェクトから受けると推定される力を算出し、前記推定される力に基づいて前記衝突によって前記第2オブジェクトに及ぼす作用力を算出し、前記算出された作用力を、前記衝突が発生した第1オブジェクトの粒子を含むセルに該当する格子の格子点に格納する、
請求項15または16に記載のオブジェクトをモデリングする装置。
The calculation unit calculates a force estimated that the particles of the first object are received from the second object at the redefined position of the particles of the first object, and performs the collision based on the estimated force. Calculating the acting force exerted on the second object, and storing the calculated acting force at a grid point of a grid corresponding to a cell including the particle of the first object in which the collision has occurred.
An apparatus for modeling an object according to claim 15.
オブジェクトをモデリングする装置において、
前記モデリングする装置の動作を制御するプログラムを記録するメモリと、
前記プログラムを駆動させる1つ以上のプロセッサと、
を含み、
前記プログラムは、
粒子からモデリングされた第1オブジェクトと粒子からモデリングされた第2オブジェクトとの間の隣接領域を検出し、前記隣接領域に対して複数のセルを含む格子を定義し、前記格子の格子点に格納された情報を用いて前記隣接領域における算出した前記第1オブジェクトと前記第2オブジェクトとの間の作用力に基づいて前記第1オブジェクトと前記第2オブジェクトをモデリングし、かつ、
前記隣接領域で前記第1オブジェクト又は前記第2オブジェクトの輪郭と前記輪郭に隣接する前記格子の格子点との距離値を抽出し、前記抽出された距離値を前記格子の格子点に格納する、
オブジェクトをモデリングする装置。
In a device for modeling objects,
A memory for recording a program for controlling the operation of the modeling device,
One or more processors for driving the program;
Including
The program is
Detecting an adjacent region between a first object modeled from particles and a second object modeled from particles, defining a grid including a plurality of cells for the adjacent region, and storing the grid at grid points of the grid Modeling the first object and the second object based on the acting force between the first object and the second object calculated in the adjacent area using the obtained information, and
Extracting a distance value between a contour of the first object or the second object in the adjacent area and a lattice point of the lattice adjacent to the contour, and storing the extracted distance value in a lattice point of the lattice;
A device for modeling objects.
JP2015153329A 2014-08-26 2015-08-03 Method and apparatus for modeling objects Active JP6663183B2 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR20140111467 2014-08-26
KR10-2014-0111467 2014-08-26
KR1020150059496A KR102399671B1 (en) 2014-08-26 2015-04-28 Method and apparatus for modeling objects
KR10-2015-0059496 2015-04-28

Publications (2)

Publication Number Publication Date
JP2016045945A JP2016045945A (en) 2016-04-04
JP6663183B2 true JP6663183B2 (en) 2020-03-11

Family

ID=55540187

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015153329A Active JP6663183B2 (en) 2014-08-26 2015-08-03 Method and apparatus for modeling objects

Country Status (2)

Country Link
JP (1) JP6663183B2 (en)
KR (1) KR102399671B1 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102611430B1 (en) * 2018-06-22 2023-12-08 삼성전자주식회사 Storage medium including instructions for semiconductor design simulation, semiconductor design system, and method of semiconductor design simulation
KR102245898B1 (en) * 2019-06-27 2021-04-29 한국과학기술원 Method and apparatus of providing tactile feedback
KR102286160B1 (en) * 2019-12-12 2021-08-05 한국과학기술원 Method and apparatus of providing tactile feedback
KR102200443B1 (en) * 2019-12-13 2021-01-08 이에이트 주식회사 Apparatus, method and computer program for lattice boltzmann method based fluid analysis simulation

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101219534B1 (en) * 2008-12-22 2013-01-08 한국전자통신연구원 Method for interaction between fluids having an immiscible property
KR101214903B1 (en) * 2011-03-04 2012-12-24 (주)에프엑스기어 System and method for fluid simulation using interaction between particles
US8903693B2 (en) * 2011-06-24 2014-12-02 Siemens Aktiengesellschaft Boundary handling for particle-based simulation
WO2013042234A1 (en) * 2011-09-21 2013-03-28 富士通株式会社 Object motion analyzer, object motion analysis method and object motion analysis program

Also Published As

Publication number Publication date
JP2016045945A (en) 2016-04-04
KR102399671B1 (en) 2022-05-20
KR20160024738A (en) 2016-03-07

Similar Documents

Publication Publication Date Title
JP6598090B2 (en) Storage medium, method for planning robot operation, hardware for planning robot operation, and robot
JP6663183B2 (en) Method and apparatus for modeling objects
JP6282798B2 (en) Simulation of workpiece machining
US9953109B2 (en) Object modeling method and apparatus
US8169438B1 (en) Temporally coherent hair deformation
US10360319B2 (en) Particle-based modeling method and apparatus
CN102982192A (en) Boundary handling for particle-based simulation
KR20230111188A (en) Scene layout estimation
US20200110911A1 (en) Particle simulation device, particle simulation method, and particle simulation program
US10503561B2 (en) Particle simulation apparatus and computer resource allocating method
KR102459848B1 (en) Modeling method and modeling apparatus of target object at high speed based on particles
US11410363B2 (en) Modeling method and apparatus and apparatus using fluid animation graph
US20170161413A1 (en) Method and apparatus for modeling movement of air bubble based on fluid particles
KR102263096B1 (en) Method and apparatus for modeling objects consisting of particles
Talley et al. Coalescence prevention algorithm for level set method
Mierke et al. GPU-accelerated large-eddy simulation of ship-ice interactions
JP6065616B2 (en) Simulation program, simulation method, and simulation apparatus
CN106560818B (en) Method for modelling an object in a virtual space
KR101170909B1 (en) System and method for fluid simulation using moving grid
Kopper et al. A framework for high-fidelity particle tracking on massively parallel systems
KR102399601B1 (en) Method and apparatus of modeling based on particles for efficient constraints processing
KR102558101B1 (en) Method and system for automatic generation of 2d drawings from bim models through deep learning-based information search of regerence drawings
Kim et al. Depth cube-based Six degree-of-freedom haptic rendering for rigid bodies
US20060020456A1 (en) Object oriented acoustic modeling tools and methods
KR101174791B1 (en) Method Of Water Surface Simulation Based On Particle System And Storage Medium Thereof

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180404

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190625

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190925

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191015

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200115

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200128

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200214

R150 Certificate of patent or registration of utility model

Ref document number: 6663183

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250