KR100729149B1 - 제어가능한 다상 기체 시뮬레이션 방법, 그 기록 매체 및그 장치 - Google Patents

제어가능한 다상 기체 시뮬레이션 방법, 그 기록 매체 및그 장치 Download PDF

Info

Publication number
KR100729149B1
KR100729149B1 KR1020060046600A KR20060046600A KR100729149B1 KR 100729149 B1 KR100729149 B1 KR 100729149B1 KR 1020060046600 A KR1020060046600 A KR 1020060046600A KR 20060046600 A KR20060046600 A KR 20060046600A KR 100729149 B1 KR100729149 B1 KR 100729149B1
Authority
KR
South Korea
Prior art keywords
gas
control value
cell
target
uncompressed condition
Prior art date
Application number
KR1020060046600A
Other languages
English (en)
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 KR1020060046600A priority Critical patent/KR100729149B1/ko
Application granted granted Critical
Publication of KR100729149B1 publication Critical patent/KR100729149B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Algebra (AREA)
  • Computational Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Analysis (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Processing Or Creating Images (AREA)

Abstract

제어가능한 다상 기체 시뮬레이션 방법, 그 기록 매체 및 그 장치가 개시된다.
본 발명은 복수의 목표 형상으로 구성된 다상의 목표 형상에 대하여, 임의의 셀에 존재하는 다상의 기체와 상기 다상의 목표 형상과의 거리가 감소하는 방향의 힘인 셀 제어값을 상기 셀 및 상기 목표 형상마다 산출하는 단계, 상기 기체의 비압축 조건에 상기 셀 제어값을 적용하여 상기 기체의 비압축 조건을 만족하는 속도장을 산출하는 단계;및 상기 속도장에 따라 상기 기체를 구성하는 파티클들을 이동시키는 단계를 포함한다.
본 발명에 의하면, 셀 제어값, 파티클 제어값, 내부 제어값을 기체의 비압축 조건에 적용함으로써, 종래의 지나친 연산 시간이 요구되는 단점 및 가장 가까운 목표 형상을 향하는 움직임밖에 보여줄 수 없었던 단점을 극복하여 애니메이터의 의도를 충분히 표현할 수 있고, 여러 개의 목표 형상으로 다상의 기체가 수렴하도록 제어할 수 있으며, 확장이 매우 용이한 효과가 있다.

Description

제어가능한 다상 기체 시뮬레이션 방법, 그 기록 매체 및 그 장치 {Method for simulating controllable multiphase gas, Recording medium and Apparatus thereof}
도 1은 종래의 기체 시뮬레이션 방법에 따른 시뮬레이션 과정을 도시한 것이다.
도 2는 본 발명의 일 실시예에 따른 제어가능한 다상 기체 시뮬레이션 장치의 블럭도이다.
도 3은 본 발명의 다른 실시예에 따른 제어가능한 다상 기체 시뮬레이션 장치의 블럭도이다.
도 4는 본 발명의 또다른 실시예에 따른 제어가능한 다상 기체 시뮬레이션 장치의 블럭도이다.
도 5는 본 발명의 일 실시예에 따른 제어가능한 다상 기체 시뮬레이션 방법의 블럭도이다.
도 6은 본 발명의 다른 실시예에 따른 제어가능한 다상 기체 시뮬레이션 방법의 블럭도이다.
도 7은 본 발명에 적용되는 2차원 거리장의 일 예를 도시한 것이다.
도 8은 도 5의 셀 제어값을 산출하는 과정을 도시한 것이다.
도 9는 도 6의 파티클 제어값을 산출하는 과정을 도시한 것이다.
도 10은 도 6의 내부 제어값을 산출하는 과정을 도시한 것이다.
도 11은 본 발명에 따라 원하는 방향으로 기체를 제어하는 과정을 도시한 것이다.
도 12는 본 발명에 따라 다상의 기체가 상호작용하는 과정을 도시한 것이다.
도 13은 본 발명에 따라 다상의 기체가 서로 다른 목표 형상을 찾아가는 과정을 도시한 것이다.
도 14a 내지 도 14f는 본 발명에 따라 3차원 환경에서 목표 형상을 찾아가는 과정을 도시한 것이다.
본 발명은 기체 시뮬레이션에 관한 것으로, 특히, 제어가능한 다상 기체 시뮬레이션 방법, 그 기록 매체 및 그 장치에 관한 것이다.
액체나 기체와 같은 자연 현상을 사실적으로 시뮬레이션하고 가시화하는 유체 애니메이션에 관한 많은 연구들이 진행되어 왔다. 최근 들어서는 사실적인 시뮬레이션에 그치지 않고, 애니메이터의 의도에 따라 유체의 형상 제어를 수행하는 연구들이 새롭게 각광받고 있다.
그동안 3차원 애니메이션이나 영화와 같은 분야에서 유체를 가시화하고 형상제어를 수행하는 기법은 많이 시도되었지만, 대개의 경우 물리적인 법칙을 무시한 채로 애니메이터의 키프레임 정의에 의한 수작업으로 생성되는 경우가 많았다.
그 중의 하나는 애니메이터로 하여금 유체의 속성을 제어하는 매개변수들을 조절하여 다양한 성질의 유체 움직임을 생성하는 방법이다. 그러나, 이 방법에서는 애니메이터들이 원하는 움직임의 유체를 생성하기 위해서 그에 관련된 역학을 이해하고 있어야만 했고, 형상 자체를 제어하지는 못했다.
최근 물리법칙에 따라 유체의 사실적인 움직임을 생성하여 목표 형상으로 변화시키는 방법들이 발표됨으로써, 유체 역학에 근거한 사실적인 형상제어 시뮬레이션이 가능하게 되었다. 이러한 유체의 형상 제어에 관련된 종래의 방법에서는 애니메이터가 초기 상태와 목표 형상만 제시하면 유체가 물리적인 법칙에 따라 사실적인 움직임을 보이며 목표 형상에 수렴하도록 하였다.
그 중 하나의 방법은 원하는 목표 형상을 키프레임으로 입력받아 각각의 키프레임으로 변화하기 위한 최적화된 바람의 방향 및 힘을 계산하여, 기체의 형상 제어를 수행하는 방법이다.
다른 하나의 방법은 목표 형상에 대한 거리 장을 바탕으로 유체를 제어하는 방법이다. 이 방법은 계산 복잡도가 크지 않고, 애니메이터가 유체 역학을 전혀 모르는 상황에서 쉽게 사용할 수 있는 방법이다.
그러나, 종래의 방법들은 각각의 파티클이 현재 위치에서 가까운 목표 형상만을 향해가기 때문에, 도 1에서 하단의 두 기체가 서로 교차되면서 대각선 방향으로 이동하여 목표 형상에 수렴하길 원한다 하더라도, 가장 가까운 목표 형상을 향해 수직으로 상승하는 움직임밖에 보여줄 수 없다는 한계가 있었다.
따라서, 종래의 기체 시뮬레이션 방법들은 최적화된 바람의 방향 및 힘을 구하기 위한 목적 함수(Objective Function)를 계산하기 위해서 상당히 많은 시간이 소요되고, 목표 형상까지의 거리 장을 구성한 후 가장 가까운 형상으로 찾아가도록 힘을 가해 기체를 제어하기 때문에 애니메이터가 원치 않는 결과를 가져오거나 그 형상 변화에 있어서 한계를 갖는 문제점이 있다.
본 발명이 이루고자 하는 첫번째 기술적 과제는 종래의 지나친 연산 시간이 요구되는 단점 및 가장 가까운 목표 형상을 향하는 움직임밖에 보여줄 수 없었던 단점을 극복하여 애니메이터의 의도를 충분히 표현할 수 있고, 여러 개의 목표 형상으로 다상의 기체가 수렴하도록 제어할 수 있으며, 확장이 매우 용이한 제어가능한 다상 기체 시뮬레이션 방법을 제공하는데 있다.
본 발명이 이루고자 하는 두번째 기술적 과제는 상기의 제어가능한 다상 기체 시뮬레이션 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는데 있다.
본 발명이 이루고자 하는 세번째 기술적 과제는 상기의 제어가능한 다상 기체 시뮬레이션 방법이 적용된 제어가능한 다상 기체 시뮬레이션 장치를 제공하는데 있다.
본 발명이 이루고자 하는 네번째 기술적 과제는 상기의 제어가능한 다상 기체 시뮬레이션 방법을 컴퓨터 상에서 구현하는 제어가능한 다상 기체 시뮬레이션 장치를 제공하는데 있다.
상기의 첫번째 기술적 과제를 이루기 위하여, 본 발명은 복수의 목표 형상으로 구성된 다상의 목표 형상에 대하여, 임의의 셀에 존재하는 다상의 기체와 상기 다상의 목표 형상과의 거리가 감소하는 방향의 힘인 셀 제어값을 상기 셀 및 상기 목표 형상마다 산출하는 단계, 상기 기체의 비압축 조건에 상기 셀 제어값을 적용하여 상기 기체의 비압축 조건을 만족하는 속도장을 산출하는 단계;및 상기 속도장에 따라 상기 기체를 구성하는 파티클들을 이동시키는 단계를 포함하는 제어가능한 다상 기체 시뮬레이션 방법을 제공한다.
상기의 두번째 기술적 과제를 이루기 위하여, 본 발명은 상기의 제어가능한 다상 기체 시뮬레이션 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.
상기의 세번째 기술적 과제를 이루기 위하여, 본 발명은 복수의 목표 형상으로 구성된 다상의 목표 형상에 대하여, 임의의 셀에 존재하는 다상의 기체와 상기 다상의 목표 형상과의 거리가 감소하는 방향의 힘인 셀 제어값을 상기 셀 및 상기 목표 형상마다 산출하는 셀 제어값 산출부, 상기 기체의 비압축 조건에 상기 셀 제어값을 적용하여 상기 기체의 비압축 조건을 만족하는 속도장을 산출하는 비압축 조건 연산부 및 상기 속도장에 따라 상기 기체를 구성하는 파티클들을 이동시키는 이류부를 포함하는 제어가능한 다상 기체 시뮬레이션 장치를 제공한다.
상기의 네번째 기술적 과제를 이루기 위하여, 본 발명은 복수의 목표 형상으로 구성된 다상의 목표 형상에 대하여, 임의의 셀에 존재하는 다상의 기체와 상기 다상의 목표 형상과의 거리가 감소하는 방향의 힘인 셀 제어값을 상기 셀 및 상기 목표 형상마다 산출하는 단계, 상기 기체의 비압축 조건에 상기 셀 제어값을 적용하여 상기 기체의 비압축 조건을 만족하는 속도장을 산출하는 단계 및 상기 속도장에 따라 상기 기체를 구성하는 파티클들을 이동시키는 단계를 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체, 상기 기록매체에 기록된 프로그램을 독출하여 실행시키는 컴퓨터 및 상기 컴퓨터에서 실행된 결과를 시각적으로 표시하는 디스플레이부를 포함하는 제어가능한 다상 기체 시뮬레이션 장치를 제공한다.
본 발명은 애니메이터의 의도를 직관적으로 입력받아, 기체가 목표 형상으로 수렴하도록 하는 사실적인 움직임을 빠르고 정확하게 표현할 수 있도록 하는 방법을 제공한다.
본 발명에 따른 기체 시뮬레이션 방법은 기본적으로 목표 형상에 이르는 거리를 사용하여 기체를 제어한다. 또한, 본 발명은 여러 종류의 기체(즉, 다상의 기체) 및 여러 개의 목표 형상(즉, 다상의 목표 형상)을 제어할 수 있는 새로운 방법을 제공한다.
사실적인 기체의 움직임을 시뮬레이션하기 위해서는 나비어 스톡스(Navier-stokes) 또는 오일러(Euler) 방정식을 수치적으로 근사하여 계산하여야 한다. 우리는 다상의 기체를 시뮬레이션하기 위해 비점성 유체를 다루는 오일러(Euler) 방정식을 사용하였다. 시간 t에서 유체의 속도 장을
Figure 112006036402241-pat00001
라 하고, 이것을 시간에 대해서 미분한 것을
Figure 112006036402241-pat00002
라 할 때, 비압축 조건을 만족하는 오일러(Euler) 방정식은 다음의 수학식 1 및 수학식 2와 같다.
Figure 112006036402241-pat00003
Figure 112006036402241-pat00004
이때
Figure 112006036402241-pat00005
는 유체 정역학적인 압력이고,
Figure 112006036402241-pat00006
는 중력, 부력과 같이 유체의 흐름에 영향을 주는 외부 힘을 의미한다. 수학식 1은 유체의 흐름을 정의하는 오일러(Euler) 방정식이며, 수학식 2는 유체의 부피 보존에 관한 식이다.
수학식 1에서 외부 힘
Figure 112006036402241-pat00007
는 유체를 제어할 때 중요하게 쓰이는 변수인데,
Figure 112006036402241-pat00008
를 적절히 조절하여 기체를 목표 형상으로 제어할 수 있지만, 정확한 제어가 어렵고, 앞에서 언급한 바와 같이 단일 목표 형상으로의 제어를 다룰 수 있을 뿐이다.
본 발명은 다상의 목표 형상을 제어하기 위해, 목표 형상을 좀 더 정확하게 찾아가기 위한 새로운 방법인 제어값(내부 제어값(internal target force))을 정의한다.
먼저, 셀 제어값(Target forces on cell)은 기체를 목표 형상으로 제어하기 위한 힘(
Figure 112006036402241-pat00009
)이다. 힘
Figure 112006036402241-pat00010
를 계산하기 위해서는 우선 목표 형상 모델에 대해서 거 리 장(distance field)
Figure 112006036402241-pat00011
(
Figure 112006036402241-pat00012
목표 형상의 개수
Figure 112006036402241-pat00013
)를 생성시킨다.
이렇게 거리 장을 구하게 되면 목표 형상으로 제어하는 힘
Figure 112006036402241-pat00014
는 수학식 3에서와 같이 거리 장
Figure 112006036402241-pat00015
의 gradient 값을 계산함으로써 구할 수 있다.
Figure 112006036402241-pat00016
Figure 112006036402241-pat00017
는 거리가 감소하는 방향(목표 형상으로의 방향)으로의 힘을 나타내야 하기 때문에, 증가하는 방향의 값에 -1을 곱해주며,
Figure 112006036402241-pat00018
값 역시
Figure 112006036402241-pat00019
와 마찬가지로 목표 형상의 개수만큼 구한다.
기체를 i번째 목표 형상으로 제어하는 힘
Figure 112006036402241-pat00020
를 계산한 다음에는 셀 x에 들어있는 파티클이 어떠한 방향으로 움직일지 정하는
Figure 112006036402241-pat00021
를 계산하여야 한다.
시간 t에서의 기체 밀도를
Figure 112006036402241-pat00022
라 하고, 최종적으로 도달해야 하는 목표 형상의 기체 밀도를
Figure 112006036402241-pat00023
라 할 때, 시간 t에서 셀 x에 주어져야 하는 힘
Figure 112006036402241-pat00024
Figure 112006036402241-pat00025
로 쓰여 질 수 있으며 다음의 수학식 4와 같이 정의된다.
Figure 112006036402241-pat00026
이 때
Figure 112006036402241-pat00027
은 셀 x에 존재하는 모든 파티클의 개수이며,
Figure 112006036402241-pat00028
는 셀 x에 존재하는 i번째 파티클의 개수이다.
이하에서는 도면을 참조하여 본 발명의 바람직한 실시예를 설명하기로 한다. 그러나, 다음에 예시하는 본 발명의 실시예는 여러 가지 다른 형태로 변형될 수 있으며, 본 발명의 범위가 다음에 상술하는 실시예에 한정되는 것은 아니다.
도 2는 본 발명의 일 실시예에 따른 제어가능한 다상 기체 시뮬레이션 장치의 블럭도이다.
셀 제어값 산출부(210)는 복수의 목표 형상으로 구성된 다상의 목표 형상(200)에 대하여, 임의의 셀에 존재하는 다상의 기체와 다상의 목표 형상(200)과의 거리가 감소하는 방향의 힘인 셀 제어값을 다상의 기체가 존재하는 셀마다 산출한다. 또한, 셀 제어값 산출부(210)는 셀 제어값을 목표 형상마다 산출하는 한다.
비압축 조건 연산부(240)는 기체의 비압축 조건에 셀 제어값을 적용하여 기체의 비압축 조건을 만족하는 속도장을 산출한다.
이류부(250)는 비압축 조건 연산부(240)에 의해 산출된 속도장에 따라 기체를 구성하는 파티클들을 이동시킨다.
도 3은 본 발명의 다른 실시예에 따른 제어가능한 다상 기체 시뮬레이션 장치의 블럭도이다.
셀 제어값 산출부(310)는 복수의 목표 형상으로 구성된 다상의 목표 형상(300)에 대하여, 임의의 셀에 존재하는 다상의 기체와 다상의 목표 형상과(300)의 거리가 감소하는 방향의 힘인 셀 제어값을 다상의 기체가 존재하는 셀마다 산출한다. 또한, 셀 제어값 산출부(310)는 셀 제어값을 목표 형상마다 산출하는 한다.
파티클 제어값 산출부(320)는 다상의 기체를 구성하는 파티클들과 다상의 목표 형상(300)과의 거리가 감소하는 방향의 힘인 파티클 제어값을 파티클마다 산출한다.
파티클 제어값(particle target force)은 다음과 같이 정의된다.
여러 개의 목표 형상을 제어하기 위해서 셀 x에 힘
Figure 112006036402241-pat00029
만을 가해주게 되면, 적은 양의 파티클은 자신의 목표 형상으로 움직이지 못하고 목표 형상으로부터 점점 더 멀어지는 경우가 생길 수 있는데, 이러한 현상을 방지하기 위해서 파티클 제어값(particle target force)라는 힘을 가한다.
내부 목표 제어값 산출부(330)는 다상의 기체가 다상의 목표 형상(300) 내부에 존재하면, 기체의 밀도가 감소하는 방향으로 다상의 기체에 인가하기 위한 힘인 내부 목표 제어값을 산출한다.
내부 제어값(내부 제어값(internal target force))은 목표 형상 내부에서의 움직임을 정의하여, 복잡하고 날카로운 목표 형상까지도 표현할 수 있다.
시간
Figure 112006036402241-pat00030
에서의 기체 밀도를
Figure 112006036402241-pat00031
라 할 때 내부 제어값(internal target force)
Figure 112006036402241-pat00032
는 다음의 수학식 5와 같이 정의된다.
Figure 112006036402241-pat00033
Figure 112006036402241-pat00034
는 목표 형상 내부에서 파티클이 감소하는 방향으로 힘을 가해줌으로써, 목표 형상 내부에서 파티클이 많은 곳에서 파티클이 적은 곳으로 파티클을 이동시켜 파티클이 목표 형상 전체에 고르게 분포시킨다.
비압축 조건 연산부(340)는 기체의 비압축 조건에 셀 제어값을 적용하여 기체의 비압축 조건을 만족하는 속도장을 산출한다.
바람직하게는, 비압축 조건 연산부(340)는 기체의 비압축 조건에 셀 제어값 및 파티클 제어값을 적용하여 기체의 비압축 조건을 만족하는 속도장을 산출할 수 있다.
바람직하게는, 비압축 조건 연산부(340)는 기체의 비압축 조건에 셀 제어값 및 내부 목표 제어값을 적용하여 기체의 비압축 조건을 만족하는 속도장을 산출할 수 있다.
이류부(350)는 비압축 조건 연산부(340)에 의해 산출된 속도장에 따라 기체를 구성하는 파티클들을 이동시킨다.
도 4는 본 발명의 또다른 실시예에 따른 제어가능한 다상 기체 시뮬레이션 장치의 블럭도이다.
기록매체(410)는 복수의 목표 형상으로 구성된 다상의 목표 형상에 대하여, 임의의 셀에 존재하는 다상의 기체와 다상의 목표 형상과의 거리가 감소하는 방향의 힘인 셀 제어값을 셀 및 목표 형상마다 산출하는 단계, 기체의 비압축 조건에 셀 제어값을 적용하여 기체의 비압축 조건을 만족하는 속도장을 산출하는 단계 및 속도장에 따라 기체를 구성하는 파티클들을 이동시키는 단계를 컴퓨터에서 실행시키기 위한 프로그램을 기록한 매체이다. 기록매체(410)는 컴퓨터(420)로 읽을 수 있는 형태이다.
컴퓨터(420)는 기록매체(410)에 기록된 프로그램을 독출하여 실행시킨다. 컴퓨터(420)는 기록매체(410)에 기록된 프로그램을 독출하는 독출 수단(421) 및 독출된 프로그램을 실행시키는 실행 수단(422)을 포함한다. 독출 수단(421)는 자기 헤드, 광 픽업 장치, 플래쉬 메모리 리더 등을 포함한다. 실행 수단(422)는 마이크로 프로세서, 펌웨어에 의해 동작하는 칩, 메모리 등을 포함한다.
인터페이스(425)는 실행 수단(422)에 의해 수행된 시뮬레이션 결과 정보를 디스플레이부(430)에 전달한다.
디스플레이부(430)는 컴퓨터에서 실행된 결과를 시각적으로 표시한다. 디스플레이부(430)는 CRT 모니터, LCD 모니터, PDP 표시장치, 프로젝터 등을 포함한다.
도 5는 본 발명의 일 실시예에 따른 제어가능한 다상 기체 시뮬레이션 방법의 흐름도이다.
먼저, 복수의 목표 형상으로 구성된 다상의 목표 형상에 대하여, 임의의 셀 에 존재하는 다상의 기체와 다상의 목표 형상과의 거리가 감소하는 방향의 힘인 셀 제어값을 셀 및 목표 형상마다 산출한다(510 과정).
다음, 기체의 비압축 조건에 셀 제어값을 적용하여 기체의 비압축 조건을 만족하는 속도장을 산출한다(540 과정).
마지막으로, 위에서 산출된 속도장에 따라 기체를 구성하는 파티클들을 이동시킨다(550 과정).
도 6은 본 발명의 다른 실시예에 따른 제어가능한 다상 기체 시뮬레이션 방법의 흐름도이다.
먼저, 다상의 기체와 대응하는 목표 형상 사이의 거리장을 산출한다(610 과정).
다음, 산출된 거리장의 경사도에 -1을 곱한 셀 제어값을 산출한다(611 과정).
이때, 셀 제어값은
Figure 112006036402241-pat00035
는 시간 t에서의 상기 기체의 밀도이고,
Figure 112006036402241-pat00036
는 목표 형상의 기체 밀도이며, Pn은 목표 형상의 개수이고,
Figure 112006036402241-pat00037
은 셀 x에 존재하는 다상의 파티클 개수이며,
Figure 112006036402241-pat00038
는 셀 x에 존재하는 i번째 파티클의 개수인 경우에, 시간 t에서 셀 x에 주어져야 하는 힘
Figure 112006036402241-pat00039
로 정의된다.
다음, 다상의 기체를 구성하는 파티클들과 다상의 목표 형상과의 거리가 감소하는 방향의 힘인 파티클 제어값을 파티클마다 산출한다(620 과정).
다음, 다상의 기체가 다상의 목표 형상 내부에 존재하면, 기체의 밀도가 감소하는 방향으로 인가하기 위한 힘인 내부 목표 제어값을 산출한다(630 과정).
셀 제어값, 파티클 제어값, 내부 제어값이 산출되면, 기체의 비압축 조건에 셀 제어값, 파티클 제어값 및 내부 제어값을 적용하여 기체의 비압축 조건을 만족하는 속도장을 산출한다(640 과정).
다음, 위에서 산출된 속도장에 따라 기체를 구성하는 파티클들을 이동시킨다(650 과정).
마지막으로, 파티클들이 목표 형상에 도달했는지 판단하여, 파티클들이 목표 형상에 소정의 오차 범위 이내로 도달하였으면 모든 과정을 종료하고, 파티클들이 목표 형상에 도달하지 않았으면 위의 과정(610-650 과정)을 반복한다(660 과정).
본 발명의 다른 실시예에 따른 비압축 조건은 수학식 1을 다음의 수학식 6과 같이 변형시킨다.
Figure 112006036402241-pat00040
수학식 6은 기존의 오일러(Euler) 방정식에 3가지의 외부 힘
Figure 112006036402241-pat00041
를 추가시킨 것이다.
Figure 112006036402241-pat00042
Figure 112006036402241-pat00043
에 비해서 매우 작은 값이며, 힘
Figure 112006036402241-pat00044
를 통하여 파티클이 목표 형상 내부에서 고르게 퍼질 수 있도록 해준다.
도 7은 본 발명에 적용되는 2차원 거리장의 일 예를 도시한 것이다.
도 7과 같이, 거리 장(distance field)
Figure 112006036402241-pat00045
(
Figure 112006036402241-pat00046
목표 형상의 개수
Figure 112006036402241-pat00047
)를 생성시킬 수 있다.
거리 장은 각각의 셀에서 목표 형상에 이르는 거리 값이 들어간다. 목표 형상은 0으로 표기되며, 이러한 거리 장은 목표 형상의 개수만큼 구한다.
도 8은 도 5의 셀 제어값을 산출하는 과정(510 과정)을 도시한 것이다.
파란 파티클은
Figure 112006036402241-pat00048
방향에 목표 형상이 존재하고 빨간 파티클은
Figure 112006036402241-pat00049
방향에 목표 형상이 존재할 때, 셀 x에 파란 파티클이 3개 있고 빨간 파티클이 7개가 있으므로 셀 x에 주어지는 힘은
Figure 112006036402241-pat00050
가 된다.
도 9는 도 6의 파티클 제어값을 산출하는 과정(620 과정)을 도시한 것이다.
파티클 제어값(particle target force)는 셀에 가해지는 힘인 셀 제어값
Figure 112006036402241-pat00051
와 비교하여 매우 작은 힘이며, 셀에 가해지는 힘에 저항하여 다른 셀로 이동할 수 있는 가능성을 제공한다.
도 10은 도 6의 내부 제어값을 산출하는 과정(630 과정)을 도시한 것이다.
A와 C는 파티클이 많이 분포하고 B에는 파티클이 적게 분포하기 때문에, A와 C에서 B로 힘인 내부 제어값
Figure 112006036402241-pat00052
가 작용한다.
도 11 내지 도 14f의 기체 시뮬레이션은 MS Visual C++7.0을 사용하여 구현한 것으로, 3차원 렌더링의 경우 Maya 6.5를 사용하여 가시화한 것이다.
2차원 시뮬레이션을 위해
Figure 112006036402241-pat00053
격자를 사용하였으며 프레임 당 생성시간은 0.5초가 소요되었다. 3차원 시뮬레이션을 위해서는
Figure 112006036402241-pat00054
격자가 사용되었으며 프레임 당 생성시간은 11초 가량 소요되었다. 본 발명은 종래의 시스템을 이용할 수 있어, 적은 비용으로 정교한 효과를 낼 수 있다.
도 11은 본 발명에 따라 원하는 방향으로 기체를 제어하는 과정을 도시한 것이다.
도 11은 종래의 기체 시뮬레이션 방법으로 표현할 수 없었던 것으로, 하단의 두 기체가 서로 교차되면서 상단의 기체로 이동하는 과정을 보여주고 있다. 이 결과에서 볼 수 있듯이 본 발명을 이용하면 종래에 표현하지 못했던 애니메이터의 의도를 쉽게 표현할 수 있다.
도 12는 본 발명에 따라 다상의 기체가 상호작용하는 과정을 도시한 것이다.
도 12는 2차원 환경에서 목표 형상을 찾아가는 과정을 보여준다. 특히, 단일 밀도 장을 사용하였기 때문에 각각의 파티클들이 서로 상호 작용하여, 태극 문양의 가운데 부분에서 노란색 소용돌이 무늬가 생김을 볼 수 있다.
도 13은 본 발명에 따라 다상의 기체가 서로 다른 목표 형상을 찾아가는 과정을 도시한 것이다.
도 13은 2차원 환경에서 다상의 기체가 다상의 형상을 찾아가는 과정을 보여 준다.
도 14a 내지 도 14f는 본 발명에 따라 3차원 환경에서 목표 형상을 찾아가는 과정을 도시한 것이다.
도 14a 내지 도 14f는 3차원 환경에서 평판을 구성하는 다상의 기체가 비행기 모델이 링 모양의 모델을 통과하는 형상으로 찾아가는 과정을 보여준다.
본 발명은 종래의 기체 시뮬레이션 방법에서 가장 가까운 목표 형상을 향하는 움직임밖에 보여줄 수 없었던 단점을 극복하여 애니메이터의 의도를 충분히 표현할 수 있는 방법을 제공한다. 또한, 본 발명은 종래의 방법에서 볼 수 없었던 여러 개의 목표 형상으로 다상의 기체가 수렴하도록 제어하는 방법을 제공한다.
본 발명은 종래의 시스템 및 방법을 활용할 수 있어, 확장이 매우 용이하다.
바람직하게는, 본 발명의 제어가능한 다상 기체 시뮬레이션 방법을 컴퓨터에서 실행시키기 위한 프로그램을 컴퓨터로 읽을 수 있는 기록매체에 기록하여 제공할 수 있다.
본 발명은 소프트웨어를 통해 실행될 수 있다. 소프트웨어로 실행될 때, 본 발명의 구성 수단들은 필요한 작업을 실행하는 코드 세그먼트들이다. 프로그램 또는 코드 세그먼트들은 프로세서 판독 가능 매체에 저장되거나 전송 매체 또는 통신망에서 반송파와 결합된 컴퓨터 데이터 신호에 의하여 전송될 수 있다.
컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 테이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 장치의 예로는 ROM, RAM, CD-ROM, DVD±ROM, DVD-RAM, 자기 테이프, 플로피 디 스크, 하드 디스크(hard disk), 광데이터 저장장치 등이 있다. 또한, 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 장치에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
본 발명은 도면에 도시된 일 실시예를 참고로 하여 설명하였으나 이는 예시적인 것에 불과하며 당해 분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 실시예의 변형이 가능하다는 점을 이해할 것이다. 그러나, 이와 같은 변형은 본 발명의 기술적 보호범위내에 있다고 보아야 한다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해서 정해져야 할 것이다.
상술한 바와 같이, 본 발명에 의하면, 셀 제어값, 파티클 제어값, 내부 제어값을 기체의 비압축 조건에 적용함으로써, 종래의 지나친 연산 시간이 요구되는 단점 및 가장 가까운 목표 형상을 향하는 움직임밖에 보여줄 수 없었던 단점을 극복하여 애니메이터의 의도를 충분히 표현할 수 있고, 여러 개의 목표 형상으로 다상의 기체가 수렴하도록 제어할 수 있으며, 확장이 매우 용이한 효과가 있다.

Claims (10)

  1. 복수의 목표 형상으로 구성된 다상의 목표 형상에 대하여, 임의의 셀에 존재하는 다상의 기체와 상기 다상의 목표 형상과의 거리가 감소하는 방향의 힘인 셀 제어값을 상기 셀 및 상기 목표 형상마다 산출하는 단계;
    상기 기체의 비압축 조건에 상기 셀 제어값을 적용하여 상기 기체의 비압축 조건을 만족하는 속도장을 산출하는 단계; 및
    상기 속도장에 따라 상기 기체를 구성하는 파티클들을 이동시키는 단계를 포함하는 제어가능한 다상 기체 시뮬레이션 방법.
  2. 제 1 항에 있어서,
    상기 셀 제어값을 상기 셀 및 상기 목표 형상마다 산출하는 단계는
    상기 다상의 기체와 대응하는 목표 형상 사이의 거리장을 각각 산출하고, 상기 거리장의 경사도에 -1을 곱한 셀 제어값을 산출하는 단계를 포함하는 것을 특징으로 하는 제어가능한 다상 기체 시뮬레이션 방법.
  3. 제 1 항에 있어서,
    상기 셀 제어값은
    Figure 112006036402241-pat00055
    는 시간 t에서의 상기 기체의 밀도이고,
    Figure 112006036402241-pat00056
    는 상기 목표 형상의 기 체 밀도이며, Pn은 상기 목표 형상의 개수이고,
    Figure 112006036402241-pat00057
    은 셀 x에 존재하는 다상의 파티클 개수이며,
    Figure 112006036402241-pat00058
    는 셀 x에 존재하는 i번째 파티클의 개수인 경우에, 시간 t에서 셀 x에 주어져야 하는 힘
    Figure 112006036402241-pat00059
    로 정의되는 것을 특징으로 하는 제어가능한 다상 기체 시뮬레이션 방법.
  4. 제 1 항에 있어서,
    상기 속도장을 산출하는 단계는
    다상의 기체를 구성하는 파티클들과 상기 다상의 목표 형상과의 거리가 감소하는 방향의 힘인 파티클 제어값을 상기 파티클마다 산출하는 단계; 및
    상기 기체의 비압축 조건에 상기 셀 제어값 및 상기 파티클 제어값을 적용하여 상기 기체의 비압축 조건을 만족하는 속도장을 산출하는 단계를 포함하는 것을 특징으로 하는 제어가능한 다상 기체 시뮬레이션 방법.
  5. 제 1 항에 있어서,
    상기 속도장을 산출하는 단계는
    상기 다상의 기체가 상기 다상의 목표 형상 내부에 존재하면, 상기 기체의 밀도가 감소하는 방향으로 인가하기 위한 힘인 내부 목표 제어값을 산출하는 단계; 및
    상기 기체의 비압축 조건에 상기 셀 제어값 및 상기 내부 목표 제어값을 적용하여 상기 기체의 비압축 조건을 만족하는 속도장을 산출하는 단계를 포함하는 것을 특징으로 하는 제어가능한 다상 기체 시뮬레이션 방법.
  6. 제 1 항 내지 제 5 항 중 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
  7. 복수의 목표 형상으로 구성된 다상의 목표 형상에 대하여, 임의의 셀에 존재하는 다상의 기체와 상기 다상의 목표 형상과의 거리가 감소하는 방향의 힘인 셀 제어값을 상기 셀 및 상기 목표 형상마다 산출하는 셀 제어값 산출부;
    상기 기체의 비압축 조건에 상기 셀 제어값을 적용하여 상기 기체의 비압축 조건을 만족하는 속도장을 산출하는 비압축 조건 연산부; 및
    상기 속도장에 따라 상기 기체를 구성하는 파티클들을 이동시키는 이류부를 포함하는 제어가능한 다상 기체 시뮬레이션 장치.
  8. 제 7 항에 있어서,
    다상의 기체를 구성하는 파티클들과 상기 다상의 목표 형상과의 거리가 감소하는 방향의 힘인 파티클 제어값을 상기 파티클마다 산출하는 파티클 제어값 산출부를 더 포함하고,
    상기 비압축 조건 연산부는
    상기 기체의 비압축 조건에 상기 셀 제어값 및 상기 파티클 제어값을 적용하여 상기 기체의 비압축 조건을 만족하는 속도장을 산출하는 것을 특징으로 하는 제어가능한 다상 기체 시뮬레이션 장치.
  9. 제 7 항에 있어서,
    상기 다상의 기체가 상기 다상의 목표 형상 내부에 존재하면, 상기 기체의 밀도가 감소하는 방향으로 인가하기 위한 힘인 내부 목표 제어값을 산출하는 내부 목표 제어값 산출부를 더 포함하고,
    상기 비압축 조건 연산부는
    상기 기체의 비압축 조건에 상기 셀 제어값 및 상기 내부 목표 제어값을 적용하여 상기 기체의 비압축 조건을 만족하는 속도장을 산출하는 것을 특징으로 하는 제어가능한 다상 기체 시뮬레이션 장치.
  10. 복수의 목표 형상으로 구성된 다상의 목표 형상에 대하여, 임의의 셀에 존재하는 다상의 기체와 상기 다상의 목표 형상과의 거리가 감소하는 방향의 힘인 셀 제어값을 상기 셀 및 상기 목표 형상마다 산출하는 단계, 상기 기체의 비압축 조건에 상기 셀 제어값을 적용하여 상기 기체의 비압축 조건을 만족하는 속도장을 산출하는 단계 및 상기 속도장에 따라 상기 기체를 구성하는 파티클들을 이동시키는 단계를 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체;
    상기 기록매체에 기록된 프로그램을 독출하여 실행시키는 컴퓨터; 및
    상기 컴퓨터에서 실행된 결과를 시각적으로 표시하는 디스플레이부를 포함하는 제어가능한 다상 기체 시뮬레이션 장치.
KR1020060046600A 2006-05-24 2006-05-24 제어가능한 다상 기체 시뮬레이션 방법, 그 기록 매체 및그 장치 KR100729149B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060046600A KR100729149B1 (ko) 2006-05-24 2006-05-24 제어가능한 다상 기체 시뮬레이션 방법, 그 기록 매체 및그 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060046600A KR100729149B1 (ko) 2006-05-24 2006-05-24 제어가능한 다상 기체 시뮬레이션 방법, 그 기록 매체 및그 장치

Publications (1)

Publication Number Publication Date
KR100729149B1 true KR100729149B1 (ko) 2007-06-19

Family

ID=38372596

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060046600A KR100729149B1 (ko) 2006-05-24 2006-05-24 제어가능한 다상 기체 시뮬레이션 방법, 그 기록 매체 및그 장치

Country Status (1)

Country Link
KR (1) KR100729149B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120070128A (ko) * 2010-12-21 2012-06-29 한국전자통신연구원 폭발 시뮬레이션 장치 및 방법
KR101875887B1 (ko) * 2017-04-12 2018-07-06 동서대학교산학협력단 질량중심점 및 열에너지를 이용한 객체의 폭파에 관한 시각 효과 구현방법

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Controlling fluid animation(논문)
Target-driven smoke animation(논문)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120070128A (ko) * 2010-12-21 2012-06-29 한국전자통신연구원 폭발 시뮬레이션 장치 및 방법
KR101694304B1 (ko) * 2010-12-21 2017-01-09 한국전자통신연구원 폭발 시뮬레이션 장치 및 방법
KR101875887B1 (ko) * 2017-04-12 2018-07-06 동서대학교산학협력단 질량중심점 및 열에너지를 이용한 객체의 폭파에 관한 시각 효과 구현방법

Similar Documents

Publication Publication Date Title
US8749588B2 (en) Positioning labels in an engineering drawing
KR101328739B1 (ko) 형상 제어가 가능한 다상유체 시뮬레이션 장치 및 방법
EP3038060B1 (en) 3D modeled object defined by a grid of control points
Yuan et al. Pattern-guided smoke animation with lagrangian coherent structure
JP5724814B2 (ja) 熱流体シミュレーションプログラム,熱流体シミュレーション装置および熱流体シミュレーション方法
KR102205845B1 (ko) 입자에 기반한 모델링 방법 및 장치
CA2783770A1 (en) Fluid dynamics framework for animated special effects
CN103729555A (zh) 一种模拟血流与血管壁作用的方法和装置
JP5892257B2 (ja) シミュレーションプログラム、シミュレーション方法及びシミュレーション装置
KR20080050970A (ko) 물 파티클 데이터를 이용한 물결과 거품 표현 장치 및 방법
KR100779993B1 (ko) 압력장에 제어값을 적용하는 유체 시뮬레이션 방법, 그기록 매체 및 그 장치
KR100729149B1 (ko) 제어가능한 다상 기체 시뮬레이션 방법, 그 기록 매체 및그 장치
KR102399671B1 (ko) 객체들을 모델링하는 방법 및 장치
KR100963114B1 (ko) 유체형상 표현장치 및 방법
KR20170067374A (ko) 유체 입자에 기반하여 공기 방울의 움직임을 모델링하는 방법 및 장치
KR101159163B1 (ko) 비압축 상태의 유체 시뮬레이션 방법, 기록매체, 장치
Shi et al. A mixed-depth visual rendering method for bleeding simulation
CN117078876A (zh) 一种三维流场模拟方法、***及电子设备
Zhou et al. A model for physics-based fire simulation and analysis
JP5645120B2 (ja) 粒子状態計算装置及び粒子状態計算方法
Pan et al. Wake synthesis for shallow water equation
KR102392067B1 (ko) 전산유체역학(Computational Fluid Dynamics) 모델을 이용한 체승 도시 협곡의 단계별 3차원 바람장 분석 시스템 및 이를 이용한 분석 방법
KR20120110439A (ko) 거품 파티클 생성 장치 및 거품 파티클 생성 방법
JP2012198610A (ja) 熱流体シミュレーションプログラム,熱流体シミュレーション装置および熱流体シミュレーション方法
JP2021196883A (ja) 機械学習プログラム,機械学習装置,機械学習方法,流速場推定プログラム,データ生成装置およびデータ生成方法

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120319

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20130405

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee