KR20120110439A - Device and method for generating foam particle - Google Patents

Device and method for generating foam particle Download PDF

Info

Publication number
KR20120110439A
KR20120110439A KR1020110028293A KR20110028293A KR20120110439A KR 20120110439 A KR20120110439 A KR 20120110439A KR 1020110028293 A KR1020110028293 A KR 1020110028293A KR 20110028293 A KR20110028293 A KR 20110028293A KR 20120110439 A KR20120110439 A KR 20120110439A
Authority
KR
South Korea
Prior art keywords
bubble
information
position information
bubble particle
module
Prior art date
Application number
KR1020110028293A
Other languages
Korean (ko)
Inventor
김장희
Original Assignee
주식회사 매크로그래프
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 매크로그래프 filed Critical 주식회사 매크로그래프
Priority to KR1020110028293A priority Critical patent/KR20120110439A/en
Publication of KR20120110439A publication Critical patent/KR20120110439A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • G06T13/603D [Three Dimensional] animation of natural phenomena, e.g. rain, snow, water or plants
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/08Volume rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/24Fluid dynamics

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

PURPOSE: A bubble particle generating device and a bubble particle generating method are provided to express bubbles generated on a surface of fluid. CONSTITUTION: A fluid simulation module(10) models a fluid volume and updates a velocity field and a surface location of the fluid volume. A velocity field change analyzing module(20) analyzes a change of the velocity field. A water surface change analyzing module(30) analyzes a change of the surface location of the fluid volume. A bubble particle generating module(40) generates a bubble particle. A bubble particle simulation module(50) simulates the bubble particle. [Reference numerals] (10) Fluid simulation module; (20) Velocity field change analyzing module; (30) Water surface change analyzing module; (40) Bubble particle generating module; (50) Bubble particle simulation module

Description

거품 파티클 생성 장치 및 거품 파티클 생성 방법{Device and method for generating foam particle} Foam particle generating device and foam particle generating method {Device and method for generating foam particle}

본 발명의 개념에 따른 실시 예는 거품 파티클에 관한 것으로, 특히 애니메이션 또는 영화의 시각적 특수효과 생성을 위해 사용되는 유체 애니메이션(liquid animation)을 보다 효과적으로 수행하기 위한 거품 파티클 생성 장치 및 거품 파티클 생성 방법에 관한 것이다. Embodiment according to the concept of the present invention relates to a bubble particle, and in particular to a bubble particle generation device and bubble particle generation method for more effectively performing the liquid animation (liquid animation) used for generating the visual special effects of the animation or movie It is about.

최근 영화 또는 애니메이션에 유체 표현이 중요한 요소로 부각되어 상기 유체 표현을 위해 다양한 기술들이 개발되고 있다. 하지만 상기 다양한 기술은 기술적 제약들 때문에 일반 사용자들의 욕구를 충족시키지 못하고 있다.Recently, fluid expression is an important element in a movie or animation, and various technologies have been developed for the fluid expression. However, these various technologies do not meet the needs of general users due to technical constraints.

특히, 거품과 같은 수표면에 발생하는 상세 요소를 표현하는데 어려움이 있다. In particular, there is a difficulty in expressing detailed elements that occur on water surfaces such as bubbles.

따라서 본 발명이 이루고자 하는 기술적인 과제는 유체 시뮬레이션에 의해 업데이트되는 속도장과 업데이트되는 유체 볼륨의 표면 위치를 분석함으로써 거품 파티클을 생성할 수 있는 거품 파티클 생성 장치 및 거품 파티클 생성 방법을 제공하는 것이다. Accordingly, a technical problem of the present invention is to provide a bubble particle generation device and a bubble particle generation method capable of generating bubble particles by analyzing the velocity field updated by the fluid simulation and the surface position of the updated fluid volume.

본 발명의 실시 예에 따른 거품 파티클 생성 장치는 유체 볼륨(liquid volume)을 모델(model)하고 속도장과 상기 유체 볼륨의 표면 위치를 업데이트(update)하는 유체 시뮬레이션 모듈, 상기 속도장의 변화를 분석하여 거품 파티클(foam particles)이 생성될 제1위치 정보를 생성하는 속도장 변화 분석 모듈, 상기 유체 볼륨의 상기 표면 위치의 변화를 분석하여 상기 거품 파티클이 생성될 제2위치 정보를 생성하는 수표면 변화 분석 모듈, 상기 제1위치 정보와 상기 제2위치 정보에 따라 상기 거품 파티클을 생성하는 거품 파티클 생성 모듈, 및 상기 속도장을 이용하여 상기 거품 파티클을 시뮬레이션하는 거품 파티클 시뮬레이션 모듈을 포함한다.Bubble particle generation apparatus according to an embodiment of the present invention is a fluid simulation module for modeling a fluid volume (liquid volume) and updating the velocity field and the surface position of the fluid volume, by analyzing the change in the velocity field Velocity field change analysis module for generating first position information for generating foam particles, and water surface change for generating second position information for generating foam particles by analyzing the change of the surface position of the fluid volume. An analysis module, a bubble particle generation module for generating the bubble particles according to the first position information and the second position information, and a bubble particle simulation module for simulating the bubble particles using the velocity field.

상기 유체 볼륨의 상기 표면 위치는 등위 집합 기법(level set method)으로 표현된다.The surface location of the fluid volume is represented by a level set method.

상기 수표면 변화 분석 모듈은 상기 유체 볼륨의 상기 표면 위치의 법선정보와 곡률 정보를 추출하고 추출된 상기 법선 정보와 상기 곡률 정보에 따라 상기 제2위치 정보를 생성한다.The water surface change analysis module extracts normal information and curvature information of the surface position of the fluid volume and generates the second position information according to the extracted normal information and the curvature information.

상기 제1위치 정보와 상기 제2위치 정보 각각은 영역으로서 표현된다.Each of the first position information and the second position information is represented as an area.

실시 예에 따라 상기 거품 파티클 생성 모듈은 상기 제1위치 정보와 상기 제2위치 정보에 따라 상기 거품 파티클의 양을 결정한다.According to an embodiment, the bubble particle generation module determines an amount of the bubble particle based on the first position information and the second position information.

실시 예에 따라 상기 거품 파티클 생성 모듈은 상기 제1위치 정보와 상기 제2위치 정보에 따라 상기 거품 파티클의 수명을 결정한다.According to an embodiment, the bubble particle generation module determines the life of the bubble particle based on the first position information and the second position information.

상기 거품 파티클 생성 모듈은 상기 거품 파티클의 상기 수명을 결정하기 위해 노이즈 함수를 사용한다.The bubble particle generation module uses a noise function to determine the life of the bubble particle.

실시 예에 따라 상기 거품 파티클 생성 모듈은 상기 거품 파티클의 상기 수명에 따라 상기 거품 파티클을 제거하거나 상기 거품 파티클의 나이를 증가시킨다.According to an embodiment, the bubble particle generation module may remove the bubble particle or increase the age of the bubble particle according to the life of the bubble particle.

본 발명의 실시 예에 따른 거품 파티클 생성 방법은 유체 시뮬레이션 모듈이 유체 볼륨(liquid volume)을 모델(model)하고 속도장과 상기 유체 볼륨의 표면 위치를 업데이트(update)하는 단계, 속도장 변화 분석 모듈이 상기 속도장의 변화를 분석하여 거품 파티클(foam particles)이 생성될 제1위치 정보를 생성하는 단계, 수표면 변화 분석 모듈이 상기 유체 볼륨의 상기 표면 위치의 변화를 분석하여 상기 거품 파티클이 생성될 제2위치 정보를 생성하는 단계, 거품 파티클 생성 모듈이 상기 제1위치 정보와 상기 제2위치 정보에 따라 상기 거품 파티클을 생성하는 단계, 및 거품 파티클 시뮬레이션 모듈이 상기 속도장을 이용하여 상기 거품 파티클을 시뮬레이션하는 단계를 포함한다.In accordance with another aspect of the present invention, there is provided a method for generating bubble particles, in which a fluid simulation module models a fluid volume, updates a velocity field and a surface position of the fluid volume, and a velocity field change analysis module. Analyzing the change in the velocity field to generate first positional information in which foam particles are to be generated, and a surface change analysis module analyzes the change in position of the surface of the fluid volume to generate the foam particles. Generating second position information, bubble particle generation module generating the bubble particles according to the first position information and the second position information, and bubble particle simulation module using the velocity field; Simulating the step.

상기 제2위치 정보를 생성하는 단계는 상기 유체 볼륨의 상기 표면 위치를 추적하여 상기 유체 볼륨의 법선 정보를 추출하는 단계, 상기 추출된 법선 정보를 이용하여 곡률 정보를 추출하는 단계, 및 상기 추출된 법선 정보와 상기 추출된 곡률 정보에 따라 상기 제2위치 정보를 생성한다.The generating of the second position information may include extracting normal information of the fluid volume by tracking the surface position of the fluid volume, extracting curvature information using the extracted normal information, and extracting the extracted normal information. The second position information is generated according to the normal information and the extracted curvature information.

상기 유체 볼륨의 상기 표면 위치는 등위 집합 기법(level set method)으로 표현된다.The surface location of the fluid volume is represented by a level set method.

본 발명의 실시 예에 따른 컴퓨터로 읽을 수 있는 기록 매체는 거품 파티클 생성 방법을 실행할 수 있는 프로그램을 기록한다.A computer-readable recording medium according to an embodiment of the present invention records a program capable of executing the method for generating bubble particles.

본 발명의 실시 예에 따른 거품 파티클 생성 장치 및 거품 파티클 생성 방법은 거품 파티클을 생성시킴으로써 쉽게 표현될 수 없었던 유체 현상 중 유체 표면에 발생하는 거품 표현을 가능하게 하여 이에 따른 사실적인 애니메이션 또는 영상을 쉽고 빠르게 제공할 수 있는 효과가 있다.The bubble particle generating device and the bubble particle generating method according to the embodiment of the present invention enable the bubble expression generated on the fluid surface during the fluid phenomenon that could not be easily expressed by generating the bubble particle, thereby making it possible to easily make realistic animations or images accordingly. There is an effect that can be provided quickly.

본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 상세한 설명이 제공된다.
도 1은 본 발명의 실시 예에 따른 거품 파티클 생성 장치의 개략적인 블록도를 나타낸다.
도 2는 본 발명의 실시 예에 따른 그리드 셀을 나타낸다.
도 3은 본 발명의 실시 예에 따른 등위 집합(level set) 표현의 일 실시를 나타낸다.
도 4는 본 발명의 실시 예에 따른 거품 파티클 생성 동작을 나타내는 흐름도이다.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS In order to more fully understand the drawings recited in the detailed description of the present invention, a detailed description of each drawing is provided.
1 is a schematic block diagram of a bubble particle generating device according to an embodiment of the present invention.
2 illustrates a grid cell according to an embodiment of the present invention.
3 illustrates an embodiment of a level set representation according to an embodiment of the present invention.
4 is a flowchart illustrating a bubble particle generation operation according to an embodiment of the present invention.

본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시 예들에 대해서 특정한 구조적 또는 기능적 설명들은 단지 본 발명의 개념에 따른 실시 예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시 예들은 다양한 형태들로 실시될 수 있으며 본 명세서에 설명된 실시 예들에 한정되지 않는다.It is to be understood that the specific structural or functional descriptions of embodiments of the present invention disclosed herein are only for the purpose of illustrating embodiments of the inventive concept, But may be embodied in many different forms and is not limited to the embodiments set forth herein.

본 발명의 개념에 따른 실시 예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시 예들을 도면에 예시하고 본 명세서에 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시 예들을 특정한 개시 형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물, 또는 대체물을 포함한다.Embodiments in accordance with the concepts of the present invention are capable of various modifications and may take various forms, so that the embodiments are illustrated in the drawings and described in detail herein. It should be understood, however, that it is not intended to limit the embodiments according to the concepts of the present invention to the particular forms disclosed, but includes all modifications, equivalents, or alternatives falling within the spirit and scope of the invention.

제1 또는 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만, 예컨대 본 발명의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1구성요소는 제2구성요소로 명명될 수 있고, 유사하게 제2구성요소는 제1구성요소로도 명명될 수 있다.The terms first, second, etc. may be used to describe various elements, but the elements should not be limited by the terms. The terms are intended to distinguish one element from another, for example, without departing from the scope of the invention in accordance with the concepts of the present invention, the first element may be termed the second element, The second component may also be referred to as a first component.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.When a component is referred to as being "connected" or "connected" to another component, it may be directly connected to or connected to that other component, but it may be understood that other components may be present in between. Should be. On the other hand, when an element is referred to as being "directly connected" or "directly connected" to another element, it should be understood that there are no other elements in between. Other expressions describing the relationship between components, such as "between" and "immediately between," or "neighboring to," and "directly neighboring to" should be interpreted as well.

본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. Singular expressions include plural expressions unless the context clearly indicates otherwise. In this specification, the terms "comprises ", or" having ", or the like, specify that there is a stated feature, number, step, operation, , Steps, operations, components, parts, or combinations thereof, as a matter of principle.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Terms such as those defined in commonly used dictionaries are to be interpreted as having a meaning consistent with the meaning of the context in the relevant art and, unless explicitly defined herein, are to be interpreted as ideal or overly formal Do not.

이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시 예를 설명함으로써, 본 발명을 상세히 설명한다.BEST MODE FOR CARRYING OUT THE INVENTION Hereinafter, the present invention will be described in detail with reference to the preferred embodiments of the present invention with reference to the accompanying drawings.

도 1은 본 발명의 실시 예에 따른 거품 파티클 생성 장치의 개략적인 블록도를 나타낸다. 1 is a schematic block diagram of a bubble particle generating device according to an embodiment of the present invention.

도 1을 참조하면, 거품 파티클 생성 장치(1)는 유체 시뮬레이션 모듈(10), 속도장 변화 분석 모듈(20), 수표면 변화 분석 모듈(30), 거품 파티클 생성 모듈(40), 및 거품 파티클 시뮬레이션 모듈(50)을 포함한다.Referring to FIG. 1, the bubble particle generating device 1 includes a fluid simulation module 10, a velocity field change analysis module 20, a water surface change analysis module 30, a bubble particle generation module 40, and a bubble particle. Simulation module 50 is included.

도 1에서 유체 시뮬레이션 모듈(10)은 거품 파티클 생성 장치(1) 내에 포함되는 것으로 도시되었으나 실시 예에 따라 유체 시뮬레이션 모듈(10)은 별개의 장치로 구현될 수 있다.Although the fluid simulation module 10 is illustrated as being included in the bubble particle generation device 1 in FIG. 1, the fluid simulation module 10 may be implemented as a separate device.

본 명세서에서 거품 파티클 생성 장치(1)는 일반적인 PC 또는 컴퓨터 시스템이 될 수 있으며, 하드웨어(H/W), 소프트웨어(S/W), 또는 상기 하드웨어와 상기 소프트웨어의 결합된 장치로 구현될 수도 있다. In the present specification, the bubble particle generating device 1 may be a general PC or computer system, and may be implemented as hardware (H / W), software (S / W), or a combination of the hardware and the software. .

본 명세서에 모듈(module)이라 함은 본 발명의 실시 예에 따른 기술적 사상을 수행하기 위한 하드웨어 및 상기 하드웨어를 구동하기 위한 소프트웨어의 기능적 또는 구조적 결합을 의미할 수 있다.In the present specification, a module may mean a functional or structural combination of hardware for performing a technical idea and software for driving the hardware, according to an embodiment of the present invention.

예컨대, 상기 모듈은 소정의 프로그램 코드와 상기 프로그램 코드가 수행되기 위한 하드웨어 리소스의 논리적 또는 기능적 단위를 의미할 수 있으며 반드시 물리적으로 연결된 프로그램 코드를 의미하거나 한 종류의 하드웨어를 의미하는 것은 아니다.For example, the module may mean a logical or functional unit of predetermined program code and a hardware resource for executing the program code, and does not necessarily mean physically connected program code or one kind of hardware.

유체 시뮬레이션 모듈(10)은 유체(liquid)를 모델링(modeling)하고 애니메이팅(animating)한다. The fluid simulation module 10 models and animates the fluid.

유체 시뮬레이션 모듈(10)은 정적 환경(static environment)을 복셀 그리드(voxel grid)로 모델한다. 복셀(voxel)은 3D 공간의 한 점을 정의한 일단의 그래픽 정보를 의미한다.The fluid simulation module 10 models a static environment into a voxel grid. A voxel is a set of graphic information that defines a point in 3D space.

도 2는 본 발명의 실시 예에 따른 하나의 그리드 셀을 나타낸다.2 illustrates one grid cell according to an embodiment of the present invention.

도 2를 참조하면, 유체를 사이드 길이(Δτ)를 가진 직사각형 형태의 그리드(11)로 표현한다. Referring to FIG. 2, the fluid is represented by a grid 11 of rectangular shape with a side length Δτ.

실시 예에 따라 유체는 다른 형태의 그리드로 표현될 수 있다.According to an embodiment, the fluid may be represented by another type of grid.

그리드(11)는 중앙에 압력 변수를 가지며, 그리드(11)의 이웃들(neighbors)과 속도 변수를 공유한다. 유체 속도장(liquid velocity field, u)은 복수의 벡터들(ui, uk, uj +1)을 포함한다.The grid 11 has a pressure variable in the center and shares the speed variable with the neighbors of the grid 11. The fluid velocity field u includes a plurality of vectors u i , u k , u j +1 .

도 1을 참조하면, 유체 시뮬레이션 모듈(10)은 다음 수학식 1을 계산함으로써 속도장을 업데이트(update)한다.Referring to FIG. 1, the fluid simulation module 10 updates the velocity field by calculating the following equation (1).

[수학식 1][Equation 1]

Figure pat00001
Figure pat00001

여기서 ut는 상기 속도장의 벡터를,

Figure pat00002
는 점도(viscosity)를,
Figure pat00003
는 그래디언트 연산자를, u는 상기 속도장을,
Figure pat00004
는 밀도(density)를, p는 압력을, g는 중력을 나타낸다.Where u t is the vector of the velocity field,
Figure pat00002
Is the viscosity,
Figure pat00003
Is the gradient operator, u is the velocity field,
Figure pat00004
Where is density, p is pressure, and g is gravity.

상기 그래디언트 연산자(

Figure pat00005
)는 수학식 2와 같이 나타낼 수 있다.The gradient operator (
Figure pat00005
) Can be expressed as in Equation 2.

[수학식 2]&Quot; (2) "

Figure pat00006
Figure pat00006

여기서 x, y, 및 z 각각은 도 2에서의 x축 방향, y축 방향, 및 z축 방향을 의미한다. 그래디언트 연산자(

Figure pat00007
)는 도 2의 (i,j,k) 좌표와 수학식 2를 이용하여 표현될 수 있다.Here, each of x, y, and z means the x-axis direction, the y-axis direction, and the z-axis direction in FIG. 2. Gradient operator (
Figure pat00007
) May be expressed using the (i, j, k) coordinates of FIG.

상기 속도장은 점도(

Figure pat00008
), 대류(convection), 밀도(
Figure pat00009
), 압력(p), 또는 중력(g)의 영향 때문에 변할 수 있다. 또한 상기 속도장(u)은 유체 변화에 따라 변화하므로 유체 시뮬레이션 모듈(10)은 적분 시간 스텝을 통해 상기 수학식 1을 연산하여 상기 속도장을 업데이트한다. The velocity field is the viscosity (
Figure pat00008
), Convection, density (
Figure pat00009
), Pressure (p), or gravity (g) may change. In addition, since the velocity field u changes as the fluid changes, the fluid simulation module 10 updates the velocity field by calculating Equation 1 through an integration time step.

유체 시뮬레이션 모듈(10)은 수학식 3을 연산하여 비압축성(incompressibility)을 강화한다.The fluid simulation module 10 calculates Equation 3 to enhance incompressibility.

[수학식 3]&Quot; (3) "

Figure pat00010
Figure pat00010

여기서,

Figure pat00011
는 상기 그래디언트 연산자를, u는 상기 속도장을 의미한다.here,
Figure pat00011
Denotes the gradient operator and u denotes the velocity field.

도 3은 본 발명의 실시 예에 따른 등위 집합(level set) 표현의 일 실시를 나타낸다. 3 illustrates an embodiment of a level set representation according to an embodiment of the present invention.

도 1과 도 3을 참조하면, 유체 시뮬레이션 모듈(10)은 상기 유체 볼륨의 표면의 변화(evolution)를 트랙(track)하기 위해 등위 집합 기법(level set method)을 이용한다. 상기 유체 볼륨의 표면은 유체가 2차원 또는 3차원 공간상에서 형태를 유지하며 외부와의 경계를 만드는 선 또는 면을 의미한다.1 and 3, the fluid simulation module 10 uses a level set method to track the evolution of the surface of the fluid volume. The surface of the fluid volume refers to a line or face in which the fluid maintains its shape in two-dimensional or three-dimensional space and forms a boundary with the outside.

등위 집합 함수는 같이

Figure pat00012
표현된다.Isolating function
Figure pat00012
Is expressed.

여기서 P는 공간 내에서 포인트를 t는 시간을 의미한다.Where P is the time t is a point in space.

유체 시뮬레이션 모듈(10)은 수학식 4를 이용하여 유체 볼륨의 표면 위치를 업데이트(update)한다. The fluid simulation module 10 uses equation 4 to update the surface position of the fluid volume.

[수학식 4]&Quot; (4) "

Figure pat00013
Figure pat00013

상기

Figure pat00014
는 대류를 의미한다.remind
Figure pat00014
Means convection.

상기 유체 볼륨의 표면 위치는 계속하여

Figure pat00015
를 트랙킹(tracking)함으로써 변화된다.The surface position of the fluid volume continues
Figure pat00015
Is changed by tracking.

속도장 변화 분석 모듈(20)은 상기 속도장의 변화를 분석하여 거품 파티클(foam particles)이 생성될 제1위치 정보를 생성한다.The velocity field change analysis module 20 analyzes the variation of the velocity field to generate first position information in which bubble particles are to be generated.

실제로 수표면 위에 거품은 흐르던 유체의 급격한 속도 변화에 의해 발생한다. 속도가 일정한 유체가 직선 구간에서 흐르는 때에는 거품이 거의 발생하지 않는다. In fact, bubbles on the water's surface are caused by a sudden change in velocity of the fluid flowing through it. When a constant velocity fluid flows in a straight line, bubbles rarely occur.

하지만, 유체 속도를 방해하는 장애물이 존재하는 구간이거나 유체가 곡선 구간에서 흐를 때에서는 많은 양의 거품이 발생한다. However, a large amount of bubbles are generated when there is an obstacle that obstructs the fluid velocity or when the fluid flows in a curved section.

이러한 자연 현상을 모방하여 장애물이 존재하는 구간 또는 곡선 구간에 식별자(identifier)를 심는다. By imitating this natural phenomenon, an identifier is planted in a section or curve section in which an obstacle exists.

다만, 유체의 속도 변화가 존재한다고 해서 반드시 거품이 발생하는 것이 아니다. 따라서 속도장 변화 분석 모듈(20)은 이러한 요소들도 함께 고려하여 분석에 반영한다. However, the presence of a change in velocity of the fluid does not necessarily result in bubbles. Therefore, the velocity field change analysis module 20 also considers these factors and reflects them in the analysis.

수표면 변화 분석 모듈(30)은 상기 유체 볼륨의 상기 표면 위치의 변화를 분석하여 상기 거품 파티클이 생성될 제2위치 정보를 생성한다.The water surface change analysis module 30 analyzes the change of the surface position of the fluid volume to generate second position information for generating the bubble particles.

수표면 변화 분석 모듈(30)은 유체 볼륨의 표면 위치의 법선 정보와 곡률 정보를 추출하고 추출된 상기 법선 정보와 상기 곡률 정보에 따라 상기 제2위치 정보를 생성한다.The water surface change analysis module 30 extracts normal information and curvature information of the surface position of the fluid volume and generates the second position information according to the extracted normal information and the curvature information.

거품 파티클은 수표면 위에 존재하여야 하므로, 상기 유체 볼륨의 상기 표면 위치는 등위 집합 기법(level set method)에 의해 표현된다.Since bubble particles must be present on the water surface, the surface position of the fluid volume is represented by a level set method.

수표면 변화 분석 모듈(30)은 상기 유체 볼륨의 상기 표면 위치를 이용하여 거품 파티클이 생성될 수 있는 위치에 필터를 생성하고, 상기 위치에 식별자를 생성한다.The water surface change analysis module 30 uses the surface position of the fluid volume to create a filter at a position where bubble particles can be generated and to generate an identifier at that position.

수표면 변화 분석 모듈(30)은 상기 유체의 상기 표면 위치를 추적하여 법선 정보를 추출하고 추출된 법선 정보를 이용하여 곡률 정보를 생성한다. The surface change analysis module 30 extracts normal information by tracking the surface position of the fluid and generates curvature information using the extracted normal information.

수표면 변화 분석 모듈(30)은 추출된 상기 법선 정보와 생성된 상기 곡률 정보에 따라 제2위치 정보를 생성한다.The water surface change analysis module 30 generates second position information according to the extracted normal information and the generated curvature information.

실시 예에 따라 수표면 변화 분석 모듈(30)은 상기 법선 정보의 변화와 상기 곡률 정보의 변화에 따라 제2위치 정보를 생성할 수 있다.According to an embodiment, the water surface change analysis module 30 may generate second position information according to the change of the normal information and the change of the curvature information.

상기 제2위치 정보는 거품 파티클이 생성될 위치 정보뿐만 아니라 생성될 거품 파티클의 양에 대한 정보도 포함한다.The second position information includes information on the amount of bubble particles to be generated as well as position information on which bubble particles are to be generated.

거품 파티클 생성 모듈(40)은 상기 제1위치 정보와 상기 제2위치 정보에 따라 상기 거품 파티클을 생성한다.The bubble particle generation module 40 generates the bubble particle according to the first position information and the second position information.

상기 제1위치 정보와 상기 제2위치 정보 각각은 구체적인 수치가 아니라 영역으로 표현된다. Each of the first location information and the second location information is represented by an area instead of a specific numerical value.

거품 파티클 생성 모듈(40)은 상기 제1위치 정보와 상기 제2위치 정보 각각에 난수를 이용하여 상기 거품 파티클이 생성될 정확한 위치를 결정한다.The bubble particle generation module 40 determines the exact position at which the bubble particle is to be generated by using random numbers in each of the first position information and the second position information.

실시 예에 따라 거품 파티클 생성 장치(1)는 상기 난수를 생성하기 위해 난수 발생기(radndomizer, 미도시)를 더 포함할 수 있다.According to an embodiment, the bubble particle generating device 1 may further include a random number generator (not shown) to generate the random number.

거품 파티클 생성 모듈(40)은 상기 제1위치 정보와 상기 제2위치 정보에 따라 상기 거품 파티클의 양을 결정한다.The bubble particle generation module 40 determines the amount of the bubble particle according to the first position information and the second position information.

거품 파티클 생성 모듈(40)은 상기 제1위치 정보와 상기 제2위치 정보에 따라 상기 거품 파티클의 수명을 결정하며, 상기 거품 파티클의 수명을 결정하기 위해 노이즈 함수가 사용될 수 있다.The bubble particle generation module 40 determines the life of the bubble particle according to the first position information and the second position information, and a noise function may be used to determine the life of the bubble particle.

상기 노이즈 함수가 사용될 때, 거품 파티클 생성 모듈(40)은 보다 사실적인 거품 파티클을 생성할 수 있다.When the noise function is used, the bubble particle generation module 40 may generate more realistic bubble particles.

거품 파티클 생성 모듈(40)은 상기 거품 파티클의 수명에 따라 상기 거품 파티클을 제거하거나 상기 거품 파티클의 나이를 증가시킬 수 있다.The bubble particle generation module 40 may remove the bubble particles or increase the age of the bubble particles according to the life of the bubble particles.

실시 예에 따라 거품 파티클의 수명이 다하지 않더라도 상기 유체 볼륨의 상기 표면 위치에서 멀리 떨어진 때 거품 파티클 생성 모듈(40)은 상기 거품 파티클을 식별하여 제거할 수 있다.According to an embodiment, even when the life of the bubble particles is not reached, the bubble particle generation module 40 may identify and remove the bubble particles when they are far from the surface position of the fluid volume.

거품 파티클 시뮬레이션 모듈(50)은 유체 시뮬레이션 모듈(10)로부터 출력되는 상기 속도장을 이용하여 상기 거품 파티클을 시뮬레이션한다.The bubble particle simulation module 50 simulates the bubble particle using the velocity field output from the fluid simulation module 10.

거품 파티클 시뮬레이션 모듈(50)은 시뮬레이션 결과 상기 거품 파티클을 포함하는 현재 프레임을 생성하고 상기 거품 파티클을 포함하는 다음 프레임 생성을 위해 상기 시뮬레이션 결과 값을 유체 시뮬레이션 모듈(10)로 전달한다.The bubble particle simulation module 50 generates a current frame including the bubble particles as a result of the simulation and transfers the simulation result values to the fluid simulation module 10 for generation of a next frame including the bubble particles.

유체 시뮬레이션 모듈(10)은 시간에 따라 변화된 유체(liquid)를 다시 모델링(modeling)하고 애니메이팅(animating)한다. The fluid simulation module 10 remodels and animates the fluid that has changed over time.

도 4는 본 발명의 실시 예에 따른 거품 파티클 생성 동작을 나타내는 흐름도이다.4 is a flowchart illustrating a bubble particle generation operation according to an embodiment of the present invention.

도 1 내지 도 4를 참조하면, 유체 시뮬레이션 모듈(10)이 유체 볼륨(liquid volume)을 모델(model)하고 속도장과 상기 유체 볼륨의 표면 위치를 업데이트(update)한다(S10).1 to 4, the fluid simulation module 10 models a fluid volume and updates a velocity field and a surface position of the fluid volume (S10).

속도장 변화 분석 모듈(20)이 상기 속도장의 변화를 분석하여 거품 파티클(foam particles)이 생성될 제1위치 정보를 생성한다(S20).The velocity field change analysis module 20 analyzes the variation of the velocity field to generate first position information in which bubble particles are to be generated (S20).

수표면 변화 분석 모듈(30)이 상기 유체 볼륨의 상기 표면 위치의 변화를 분석하여 상기 거품 파티클이 생성될 제2위치 정보를 생성한다(S30). The water surface change analysis module 30 analyzes the change in the position of the surface of the fluid volume to generate second position information for generating the bubble particles (S30).

거품 파티클 생성 모듈(40)이 상기 제1위치 정보와 상기 제2위치 정보에 따라 상기 거품 파티클을 생성한다(S40).The bubble particle generation module 40 generates the bubble particle according to the first position information and the second position information (S40).

거품 파티클 시뮬레이션 모듈(50)이 상기 속도장을 이용하여 현재 프레임에 대한 상기 거품 파티클을 시뮬레이션한다(S50).The bubble particle simulation module 50 simulates the bubble particle for the current frame using the velocity field (S50).

거품 파티클 시뮬레이션 모듈(50)은 현재 프레임이 임의의 문턱값보다 큰 지여부를 판단하고(S60), 현재 프레임이 임의의 문턱값보다 클 때까지 S10에서 S50 까지의 동작을 반복하여 수행한다. The bubble particle simulation module 50 determines whether the current frame is larger than an arbitrary threshold (S60), and repeatedly performs operations S10 to S50 until the current frame is larger than an arbitrary threshold.

따라서 거품 파티클 시뮬레이션 모듈(50)은 복수의 프레임들에 대해 거품 파티클을 시뮬레이션할 수 있다.Accordingly, the bubble particle simulation module 50 may simulate bubble particles for a plurality of frames.

본 발명은 도면에 도시된 일 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.Although the present invention has been described with reference to one embodiment shown in the drawings, this is merely exemplary, and those skilled in the art will understand that various modifications and equivalent other embodiments are possible therefrom. Therefore, the true technical protection scope of the present invention will be defined by the technical spirit of the appended claims.

1; 거품 파티클 생성 장치
10; 유체 시뮬레이션 모듈
20; 속도장 변화 분석 모듈
30; 수표면 변화 분석 모듈
40; 거품 파티클 생성 모듈
50; 거품 파티클 시뮬레이션 모듈
One; Bubble particle generator
10; Fluid simulation module
20; Velocity field change analysis module
30; Water Surface Change Analysis Module
40; Bubble Particle Generation Module
50; Bubble Particle Simulation Module

Claims (12)

유체 볼륨(liquid volume)을 모델(model)하고 속도장과 상기 유체 볼륨의 표면 위치를 업데이트(update)하는 유체 시뮬레이션 모듈;
상기 속도장의 변화를 분석하여 거품 파티클(foam particles)이 생성될 제1위치 정보를 생성하는 속도장 변화 분석 모듈;
상기 유체 볼륨의 상기 표면 위치의 변화를 분석하여 상기 거품 파티클이 생성될 제2위치 정보를 생성하는 수표면 변화 분석 모듈;
상기 제1위치 정보와 상기 제2위치 정보에 따라 상기 거품 파티클을 생성하는 거품 파티클 생성 모듈; 및
상기 속도장을 이용하여 상기 거품 파티클을 시뮬레이션하는 거품 파티클 시뮬레이션 모듈을 포함하는 거품 파티클 생성 장치.
A fluid simulation module that models a fluid volume and updates the velocity field and the surface position of the fluid volume;
A velocity field change analysis module configured to analyze the change in the velocity field to generate first position information for generating foam particles;
A water surface change analysis module for analyzing the change of the position of the surface of the fluid volume to generate second position information for generating the bubble particles;
A bubble particle generation module configured to generate the bubble particles according to the first position information and the second position information; And
And a bubble particle simulation module for simulating the bubble particles using the velocity field.
제1항에 있어서, 상기 유체 볼륨의 상기 표면 위치는,
등위 집합 기법(level set method)으로 표현되는 거품 파티클 생성 장치.
The method of claim 1, wherein the surface position of the fluid volume,
Bubble particle generation device represented by a level set method.
제1항에 있어서, 상기 수표면 변화 분석 모듈은,
상기 유체 볼륨의 상기 표면 위치의 법선정보와 곡률 정보를 추출하고 추출된 상기 법선 정보와 상기 곡률 정보에 따라 상기 제2위치 정보를 생성하는 거품 파티클 생성 장치.
The method of claim 1, wherein the water surface change analysis module,
And extracting normal information and curvature information of the surface position of the fluid volume and generating the second position information according to the extracted normal information and the curvature information.
제1항에 있어서, 상기 제1위치 정보와 상기 제2위치 정보 각각은,
영역으로서 표현되는 거품 파티클 생성 장치.
The method of claim 1, wherein each of the first location information and the second location information,
Bubble particle generating device represented as an area.
제1항에 있어서, 상기 거품 파티클 생성 모듈은,
상기 제1위치 정보와 상기 제2위치 정보에 따라 상기 거품 파티클의 양을 결정하는 거품 파티클 생성 장치.
The method of claim 1, wherein the bubble particle generation module,
And determine the amount of the bubble particles based on the first position information and the second position information.
제1항에 있어서, 상기 거품 파티클 생성 모듈은,
상기 제1위치 정보와 상기 제2위치 정보에 따라 상기 거품 파티클의 수명을 결정하는 거품 파티클 생성 장치.
The method of claim 1, wherein the bubble particle generation module,
Bubble particle generation apparatus for determining the life of the bubble particles in accordance with the first position information and the second position information.
제6항에 있어서, 상기 거품 파티클 생성 모듈은,
상기 거품 파티클의 상기 수명을 결정하기 위해 노이즈 함수를 사용하는 거품 파티클 생성 장치.
The method of claim 6, wherein the bubble particle generation module,
And use a noise function to determine the lifetime of the bubble particles.
제6항에 있어서, 상기 거품 파티클 생성 모듈은,
상기 거품 파티클의 상기 수명에 따라 상기 거품 파티클을 제거하거나 상기 거품 파티클의 나이를 증가시키는 거품 파티클 생성 장치.
The method of claim 6, wherein the bubble particle generation module,
And remove the bubble particles or increase the age of the bubble particles according to the life of the bubble particles.
유체 시뮬레이션 모듈이 유체 볼륨(liquid volume)을 모델(model)하고 속도장과 상기 유체 볼륨의 표면 위치를 업데이트(update)하는 단계;
속도장 변화 분석 모듈이 상기 속도장의 변화를 분석하여 거품 파티클(foam particles)이 생성될 제1위치 정보를 생성하는 단계;
수표면 변화 분석 모듈이 상기 유체 볼륨의 상기 표면 위치의 변화를 분석하여 상기 거품 파티클이 생성될 제2위치 정보를 생성하는 단계;
거품 파티클 생성 모듈이 상기 제1위치 정보와 상기 제2위치 정보에 따라 상기 거품 파티클을 생성하는 단계; 및
거품 파티클 시뮬레이션 모듈이 상기 속도장을 이용하여 상기 거품 파티클을 시뮬레이션하는 단계를 포함하는 거품 파티클 생성 방법.
The fluid simulation module models a fluid volume and updates the velocity field and the surface position of the fluid volume;
Analyzing, by the velocity field change analyzing module, the change in the velocity field to generate first position information for generating foam particles;
A water surface change analysis module analyzing the change of the surface position of the fluid volume to generate second position information for generating the bubble particles;
Generating, by the bubble particle generation module, the bubble particle according to the first position information and the second position information; And
And a bubble particle simulation module for simulating the bubble particles using the velocity field.
제9항에 있어서, 상기 제2위치 정보를 생성하는 단계는,
상기 유체 볼륨의 상기 표면 위치를 추적하여 상기 유체 볼륨의 법선 정보를 추출하는 단계;
상기 추출된 법선 정보를 이용하여 곡률 정보를 추출하는 단계; 및
상기 추출된 법선 정보와 상기 추출된 곡률 정보에 따라 상기 제2위치 정보를 생성하는 거품 파티클 생성 방법.
The method of claim 9, wherein the generating of the second location information comprises:
Extracting normal information of the fluid volume by tracking the surface position of the fluid volume;
Extracting curvature information using the extracted normal information; And
And generating the second position information according to the extracted normal information and the extracted curvature information.
제9항에 있어서, 상기 유체 볼륨의 상기 표면 위치는,
등위 집합 기법(level set method)으로 표현되는 거품 파티클 생성 방법.
10. The method of claim 9, wherein the surface location of the fluid volume is
Bubble particle generation method represented by level set method.
제9항 내지 제11항 중 어느 한 항에 기재된 거품 파티클 생성 방법을 실행할 수 있는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체.A computer-readable recording medium having recorded thereon a program capable of executing the bubble particle generation method according to any one of claims 9 to 11.
KR1020110028293A 2011-03-29 2011-03-29 Device and method for generating foam particle KR20120110439A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110028293A KR20120110439A (en) 2011-03-29 2011-03-29 Device and method for generating foam particle

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110028293A KR20120110439A (en) 2011-03-29 2011-03-29 Device and method for generating foam particle

Publications (1)

Publication Number Publication Date
KR20120110439A true KR20120110439A (en) 2012-10-10

Family

ID=47281266

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110028293A KR20120110439A (en) 2011-03-29 2011-03-29 Device and method for generating foam particle

Country Status (1)

Country Link
KR (1) KR20120110439A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102938160A (en) * 2012-12-03 2013-02-20 上海交通大学 Fluid animation rendering method based on detail capturing and form correcting
KR20180062900A (en) * 2016-12-01 2018-06-11 동서대학교산학협력단 generating Method of crown-shaped dynamic emitter for the explosion effect implementation
US11928404B1 (en) * 2018-10-24 2024-03-12 Level Ex, Inc. Methods and systems for simulating fluid movement

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102938160A (en) * 2012-12-03 2013-02-20 上海交通大学 Fluid animation rendering method based on detail capturing and form correcting
KR20180062900A (en) * 2016-12-01 2018-06-11 동서대학교산학협력단 generating Method of crown-shaped dynamic emitter for the explosion effect implementation
US11928404B1 (en) * 2018-10-24 2024-03-12 Level Ex, Inc. Methods and systems for simulating fluid movement

Similar Documents

Publication Publication Date Title
US7983884B2 (en) Water particle manipulation
Génevaux et al. Simulating Fluid-Solid Interaction.
Feldman et al. Animating gases with hybrid meshes
Chentanez et al. Simultaneous coupling of fluids and deformable bodies
US9367956B2 (en) Windowed simulation in fluid flows
KR101307232B1 (en) Context Aware System For Monitoring River Flood and Computer Readable Media Using The Same
Ando et al. A particle-based method for preserving fluid sheets
Hong et al. Adaptive particles for incompressible fluid simulation
US11501481B2 (en) Method for simulating fluids interacting with submerged porous materials
CN103729555A (en) Method and device for simulating blood flow and vascular wall effects
Chentanez et al. Mass-conserving eulerian liquid simulation
KR100889601B1 (en) Ripple and foam creation apparatus and method using fluid particle data
US8199148B2 (en) System and method for surfacing of particle systems
JP2014146302A (en) Simulation program, simulation method, and simulation device
KR100588000B1 (en) Apparatus and method for capturing free surface of fluid in computer animation
KR20120110439A (en) Device and method for generating foam particle
KR100779993B1 (en) Method for simulating fluid with applying contol value to pressure field, recording medium and apparatus thereof
Wendt et al. Finite volume flow simulations on arbitrary domains
Ren et al. Real-time high-fidelity surface flow simulation
KR100705417B1 (en) An apparatus and a method for expressing wetting and drying on a surface of 3d object for visual effects
CN106560818B (en) Method for modelling an object in a virtual space
KR101174791B1 (en) Method Of Water Surface Simulation Based On Particle System And Storage Medium Thereof
US8010330B1 (en) Extracting temporally coherent surfaces from particle systems
Abderyim et al. Surface Reconstruction for Particle Simulation Using Level Set Method
Nie et al. An Efficient Sleepy Algorithm for Particle‐Based Fluids

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E601 Decision to refuse application