KR101023996B1 - 입자법에 기초한 유체 시뮬레이션의 표면 구축 방법, 및 그 프로그램을 저장한 기억 매체 - Google Patents

입자법에 기초한 유체 시뮬레이션의 표면 구축 방법, 및 그 프로그램을 저장한 기억 매체 Download PDF

Info

Publication number
KR101023996B1
KR101023996B1 KR1020080073989A KR20080073989A KR101023996B1 KR 101023996 B1 KR101023996 B1 KR 101023996B1 KR 1020080073989 A KR1020080073989 A KR 1020080073989A KR 20080073989 A KR20080073989 A KR 20080073989A KR 101023996 B1 KR101023996 B1 KR 101023996B1
Authority
KR
South Korea
Prior art keywords
fluid
vertices
calculating
vertex
particle
Prior art date
Application number
KR1020080073989A
Other languages
English (en)
Other versions
KR20090027142A (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 프로메텍·소프트웨어 가부시키가이샤
Publication of KR20090027142A publication Critical patent/KR20090027142A/ko
Application granted granted Critical
Publication of KR101023996B1 publication Critical patent/KR101023996B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/23Design optimisation, verification or simulation using finite element methods [FEM] or finite difference methods [FDM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/10Numerical modelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/24Fluid dynamics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/56Particle system, point based geometry or rendering

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)

Abstract

본 발명은 입자법에 기초한 유체 시뮬레이션의 표면 구축 방법, 그 프로그램, 및 그 프로그램을 저장한 기억 매체에 관한 것으로서, 입자법의 유체 시뮬레이션의 표시로, 유체에서의 얇은 막이나 예리한 에지를 표현한다. 이 표면 구축 방법은, CPU 등으로 실행된 입자법에 기초한 유체 시뮬레이션의 계산으로 얻어진 데이터를 사용하여 표시 장치의 화면에 계산 결과를 렌더링하는 방법에 적용되는 방법이며, 계산 대상인 입자에 대하여 농도구를 할당하여 음함수 곡면을 산출하고, 음함수 곡면에 의해 유체 표면을 만드는 복수개의 기초 정점 V0를 산출하는 제1 단계와, 제1 단계에서 산출된 유체 표면을 만드는 복수개의 기초 정점 V0 각각에 대하여 표면의 예리함을 조정하기 위해 적어도 1회 실행되는 제2 단계를 포함한다.

Description

입자법에 기초한 유체 시뮬레이션의 표면 구축 방법, 및 그 프로그램을 저장한 기억 매체{METHOD FOR CONSTRUCTING SURFACE OF FLUID-BODY SIMULATION BASED ON PARTICLE METHOD, AND STORAGE MEDIUM FOR STORING PROGRAM FOR THE SAME}
본 발명은, 입자법의 계산으로 실현되는 유체 시뮬레이션의 표현 등으로, 표면 형상의 표현의 자유도를 높이기에 적합한 표면 구축 방법, 그 프로그램, 및 그 프로그램을 저장한 기억 매체에 관한 것이다.
「입자법 시뮬레이션」은, 대상으로 하는 물체를 다수의 입자의 모임(집합)으로 간주하고, 다수의 입자 각각의 거동에 주목하여 계산을 행하는 시뮬레이션 방법이다. 컴퓨터에서의 계산 상, 입자에는, 통상, 직경이 일정한 「구」가 사용된다. 물체의 형상을 구의 집합체에 의해 표현할 때, 상기 구의 크기(직경)의 결정 방법에 의존하여 물체의 형상의 근사도 또는 공간 해상도가 변화한다. 또한, 구의 직경을 변화시키고, 공간 해상도를 변화시킴으로써, 컴퓨터에 의한 시뮬레이션 계산에서의 계산 정밀도와 계산 속도를 제어하는 것이 가능하게 된다.
최근, 입자법 시뮬레이션을 이용하여, 다수의 강체(剛體)의 충돌 계산, 유체 나 분체 등의 거동(擧動) 계산이 행해지고, 컴퓨터의 표시 장치의 화면 상에서 충돌이나 유동 등의 시뮬레이션의 연구가 행해지고 있다. 이 연구는, 예를 들면, 다나카 마사유키 등, 「입자법을 이용한 강체 계산 방법의 개발과 컴퓨터·그래픽스로의 적용」, 일본 기계 학회, 제19회 계산 역학 강연회 강연 논문집, 701-702페이지, 2006에 기재되어 있다. 이들 시뮬레이션 기술의 연구는, 컴퓨터 그래픽스 CG의 기초가 되는 기술로서 중요하다.
입자법의 유체 시뮬레이션의 계산에서는, 입자 자체가 유체를 표현하므로, 계면 추적을 행할 필요가 없고, 자유 표면의 흐름을 용이하게 계산할 수 있다. 유체 표면의 계산에서는, 입자법에 따른 계산 결과를 렌더링(rendering)하여 표시 화면에 표시할 때는, 계산으로 얻은 복수개의 입자에 대하여 농도구(濃度球)를 할당하고, 음함수 곡면을 구축하여 유체의 표면을 산출하도록 하고 있었다. 이 계산예는, 예를 들면, J. Blinn, A generation of algebrac surface drawing. ACM Transactions on Graphics, 1(3): 235-256, 1982, 또는 M. Muller, D. Charypar, and M. Gross. Particle-based fluid simulation for interactive applications. Inproc. of SIGGRAPH Symposium on Computer Animation, pages 154-159, 2003.에 기재되어 있다.
그러나, 이와 같은 계산으로 표면을 구하면, 유체의 변화 상태에서 생기는 얇은 막이나 예리한 에지를 표현하기 곤란했다.
입자법의 유체 시뮬레이션의 표시에서, 종래부터, 유체에서의 얇은 막이나 예리한 에지의 표현을 산출하고, 표현할 수 있는 것이 요구되고 있었다.
본 발명의 목적은, 전술한 과제를 감안하여, 입자법의 유체 시뮬레이션의 표시로, 유체에서의 얇은 막이나 예리한 에지를 표현할 수 있는 입자법에 기초한 유체 시뮬레이션의 표면 구축 방법, 그 프로그램, 및 그 프로그램을 저장한 기억 매체를 제공하는 것에 있다.
본 발명에 따른 입자법에 기초한 유체 시뮬레이션의 표면 구축 방법, 그 프로그램, 및 그 프로그램을 저장한 기억 매체는, 전술한 목적을 달성하기 위하여, 다음과 같이 구성된다.
제1 표면 구축 방법은, CPU나 GPU 등의 연산 프로세서로 실행된 입자법에 기초한 유체 시뮬레이션의 계산으로 얻어진 데이터를 사용하여 표시 장치의 화면에 계산 결과를 렌더링하는 방법에 적용되는 방법이며, 계산 대상인 입자에 대하여 농도구를 할당하여 음함수 곡면을 산출하고, 음함수 곡면에 의해 유체 표면을 만드는 복수개의 기초 정점 V0를 산출하는 제1 단계와, 제1 단계에서 산출된 유체 표면을 만드는 복수개의 기초 정점 V0 각각에 대하여 표면의 예리함을 조정하기 위해 적어도 1회 실행되는 제2 단계를 가진다.
제2 표면 구축 방법은, 전술한 방법에서, 제2 단계는, 유체 표면을 만드는 복수개의 기초 정점 V0 각각에 대하여, 각 정점의 주위에 존재하는 입자의 좌표의 가중치합을 취하여, 가중치합을 복수개의 기초 정점의 가중치의 총계로 나눔으로써 제1 정점 Tt를 계산하는 단계와, 복수개의 제1 정점 Tt 각각과 복수개의 기초 정점 V0 각각을 사용하면서, 또한 하나의 파라미터 c를 포함하는 식 「vi t +1 = f(vi t, ti t, c)」에 기초하여, 제2 정점 Tt +1을 계산하는 단계를 포함한다.
제3 표면 구축 방법은, 전술한 방법에서, 전술한 식 「vi t +1 = f(vi t, ti t, c)」의 f(vi t, ti t, c)는 「(1-c)vi t + cti t」이다.
제1 표면 구축 프로그램은, 연산 프로세서에, 입자법에 기초한 유체 시뮬레이션의 계산을 실행시켜서, 얻어진 화상 데이터를 사용하여 표시 장치의 화면에 계산 결과를 렌더링하는 것을 실행시키는 프로그램에 관련되고, 또한 컴퓨터에, 계산 대상인 입자에 대하여 농도구를 할당하여 음함수 곡면을 산출하고, 음함수 곡면에 의해 유체 표면을 만드는 복수개의 기초 정점 V0를 산출하는 제1 단계와, 제1 단계에서 산출된 유체 표면을 만드는 복수개의 기초 정점 V0 각각에 대하여 표면의 예리 함을 조정하기 위해 적어도 1회 실행되는 제2 단계를 실행시킨다.
제2 표면 구축 프로그램은, 전술한 표면 구축 프로그램에서, 제2 단계에서는, 나아가서는 연산 프로세서에, 유체 표면을 만드는 복수개의 기초 정점 V0 각각에 대하여, 각 정점의 주위에 존재하는 입자의 좌표의 가중치합을 취하여, 가중치합을 복수개의 기초 정점의 가중치의 총계로 나눔으로써 제1 정점 Tt를 계산하는 단계와, 복수개의 제1 정점 Tt 각각과 복수개의 기초 정점 V0 각각을 사용하면서, 또한 하나의 파라미터 c를 포함하는 식 「vi t +1 = f(vi t, ti t, c)」에 기초하여, 제2 정점 Tt +1을 계산하는 단계를 실행시킨다.
제3 표면 구축 프로그램은, 상기 프로그램에서, 「vi t +1 = f(vi t, ti t, c)」의 f(vi t, ti t, c)는 「(1-c)vi t + cti t」이다.
본 발명에 따른 컴퓨터 판독 가능한 기록 매체는, 전술한 제1 내지 제3 중 어느 하나의 표면 구축 프로그램을 기록한 기록 매체이다.
본 발명에 의하면, 입자법에 기초한 유체 시뮬레이션으로 표시 장치의 화면에 유체를 묘화할 때, 얇은 막이나 예리한 에지와 같은 유체 표면의 예리함을 높일 수 있고, 비교적 짧은 계산 시간에 얇은 막 등의 유체 표면을 표현할 수 있고, 또 한 유체 표면의 표현의 자유도를 높일 수 있다.
이하에, 본 발명의 바람직한 실시예를 첨부 도면을 참조하여 설명한다.
도 1은, 입자법에 기초한 유체 시뮬레이션의 표면 구축 방법이 실시되는 컴퓨터 시스템의 기본적인 구성을 나타낸다.
컴퓨터 시스템(10)은, 예를 들면, PC(Personal Computer)를 이용하여 구성되며, 연산 처리부(연산 프로세서)로서 CPU(중앙 연산처리장치)(11)를 구비한다. CPU(11)는, 예를 들면, PC 등에 장비되는 통상적인 연산 처리부이다. 컴퓨터 시스템(10)은, 기억 장치로서 메인 메모리(13A)를 구비하고, 주변 장치로서 적어도 입력 장치(14) 및 표시 장치(15)를 구비하고 있다. CPU(11)와 메인 메모리(13A)와 입력 장치(14)와 표시 장치(15)는 버스(16)를 통하여 서로 접속되어 있다. 입력 장치(14)는 입력 인터페이스(17)를 통하여 버스(16)에 접속되고, 표시 장치(15)는 출력 인터페이스(18)를 통하여 버스(16)에 접속되어 있다.
전술한 컴퓨터 시스템(10)에서는, 또한, 다른 연산 처리부로서 GPU(12)와, 이에 관련된 비디오 메모리 VRAM(13B)을 설치하고 있다. GPU(12)는 「Graphics Processing Unit(그래픽스 연산 프로세서)」이며, 화상 연산 처리를 실행한다. 비디오 메모리(13B)는 GPU(12)에 직접 접속되고, 비디오 메모리(13B)에 대하여 GPU(12)를 통하여 데이터의 입출력이 행해진다.
전술한 CPU(11)는, 기본적인 처리 동작으로서, 메인 메모리(13A)에 저장된 시뮬레이션 프로그램(13A-1)에 기초하여, 입자법에 의한 유체 시뮬레이션에서의 계 산을 실시한다. 다음에, CPU(11)는, 메인 메모리(13A)에 저장된 통상적인 화상 표시 프로그램(13A-2)을 실행하고, 유체 시뮬레이션의 계산으로 얻어진 데이터를 사용하여 화상 처리를 실시하고, 작성된 데이터를 사용하여 표시 장치(15)의 화면에 묘화(표시를 위한 렌더링)한다. 표시 장치(15)의 화면에는, 입자법 시뮬레이션의 계산에 기초하여, CG 화상이 표시된다.
본 실시예에서는, 나아가서는 메인 메모리(13A)에서, 입자법에 기초한 유체 시뮬레이션의 표면 구축 방법을 실행하기 위한 표면 연산 프로그램(13A-3)이 구비되어 있다.
본 실시예의 이하의 설명에서는, 입자법에 기초한 유체 시뮬레이션의 계산이 행해지면서, 또한 상기 유체 시뮬레이션의 계산 결과에 따라 표시 장치(15)의 화면에 유체를 묘화(렌더링)하는 것을 전제로 하여, 전술한 표면 연산 프로그램(13A-3)에 기초하여, 화면에 묘화되는 유체의 자유 표면을 얇은 막이나 예리한 에지를 가지는 예리한 표면으로서 표현(표면 구축)한다.
도 2에 따라 표면 연산 프로그램(13A-3)으로 실행되는 표면 구축 방법을 설명한다. 도 2는, CPU(11)가 메인 메모리(13A)로부터 표면 연산 프로그램(13A-3)을 판독 실행함으로써 상기 표면 구축 방법을 실행하는 단계를 나타낸 흐름도이다.
도 2에 나타낸 바와 같이, 본 실시예에 따른 표면 구축 방법은, 제1 단계 S100에 따른 조작과 제2 단계 S200에 따른 조작으로 구성되어 있다. 유체의 표면은, 제1 단계 S100와 제2 단계 S200에 의해 구축된다. 제1 단계 S100은 농도구를 사용하여 입자로부터 정점을 만들어 유체 표면을 구축하는 단계이며, 제2 단계 S200는 얻어진 유체 표면을 처리하는 단계이다.
제1 단계 S100의 프로세스에 대하여 설명한다. 제1 단계 S100는, 농도구를 사용하여 입자로부터 정점을 만들어 유체 표면을 구축한다.
제1 단계 S101에서는, 입자법에 기초하여 유체를 표현하므로 설정된 다수의 입자에 대하여, 모든 입자 각각에 대하여 농도구를 할당하고, 또한 어떤 가중치 함수 ω를 갖게 한다. 여기서 「농도구」는, 대상으로 하는 입자가 존재하는 좌표값을 중심으로 하여 임의의 정의량에 관하여 부여되는 분포 특성을 가지는 가상적인 수학적 존재물이다. 또한 「가중치 함수」는, 후술하는 바와 같이 변화 특성을 가지고, 전술한 변화 특성을 가지는 한 임의로 설정할 수 있다.
그 후, 전술한 다수의 입자 각각에 대하여 음함수 곡면을 형성한다(단계 S102). 이 음함수 곡면은, 농도구를 할당하면서, 어떤 가중치 함수 ω를 갖도록 한 전술한 입자에 대하여 할당된 농도 및 가중치 함수의 총계를 구함으로써 구축된다. 수학적으로는, 좌표 x에서의 농도값 φ(x)는, 모든 입자의 가중치 함수 ω의 합으로서 이하의 수식 1에서 구해진다. 가중치 함수 ω는, 실제로는 후술하는 바와 같이 좌표 x의 함수 ω(x)로 되어 있다.
(수식 1)
Figure 112008054633665-pat00001
전술한 수식 1에서 rj는 j번째 입자의 좌표이다. 가중치 함수 ω는, 정점으로부터 입자 j까지의 거리 |x-rj|가 가까울수록 가중치가 커지고, 거리가 멀수록 가중치가 작아지도록 한 변화 특성을 가지는 가중치 함수를 사용하고 있다. 실제 계산 상, 정점으로부터 무한원(無限遠)으로 존재하는 입자에 대해서는 가중치가 0(영)이 아니면, 계산 비용은 매우 높아진다. 그래서, 본 실시예의 계산에서 사용되는 가중치 함수에 대해서는, 어떤 거리로부터 먼 입자에 대한 가중치는 0이 되도록 한다. 본 실시예에서는, 일례로서 하기 수식 2에 나타낸 가중치 함수 ω(x)를 사용하였다.
(수식 2)
Figure 112008054633665-pat00002
상기 공식 2에서, 0≤|x|<re, and re≤|x|.
전술한 수식 2에서 re는 영향 반경이며, 가중치 함수 ω(x)는|x|가 re 이상일 때는 0이다. 좌표 x에 관하여 |x|가 영향 반경 re에 가까워짐에 따라 가중치 함수 ω(x)의 값은 점차 작은 값이 된다.
전술한 바와 같이 구해진 농도값 φ(x)는, 임계값 r0인 위치에서 유체의 표면을 구축한다. 이와 같이 하여 유체의 표면을 구축하는 위치를 정점으로 하여, 이들 정점이 n개 존재하는 것으로서, 이들을 V0로서 하기 수식 3으로 표기한다.
(수식 3)
V0 = {V0 0, V1 0, V2 0, . . ., Vn 0}
전술한 바와 같이 하여, 입자법에 기초한 유체 시뮬레이션의 계산에서, 묘화되는 유체의 자유 표면의 계산으로서 유체 표면을 구축하는 n개의 정점에 관한 계산 결과를 얻을 수 있다. 이상의 농도구를 사용하여 입자로부터 유체 표면을 구축하기 위한 처리(제1 단계 S100)는, 종래부터 알려져 있는 방법이다.
다음에, 제2 단계 S200의 프로세스에 대하여 설명한다. 제2 단계 S200은, 제1 단계 S100에서 얻어진 유체 표면을 더 처리하여, 얇은 막 또는 예리한 에지 등과 같은 유체 표면을 예리하게 표현하는 것을 가능하게 하는 방법이다.
제2 단계 S200에서는, 유체 표면을 구축하는 전술한 n개의 정점 각각에 대하여, 수식 4에 나타낸 바와 같이, 각 정점(원래의 정점)의 주위에 존재하는 입자의 좌표의 가중치합을 취하여, 또한 이들 가중치의 총계로 나눔으로써 새로운 정점을 계산한다(단계 S201).
(수식 4)
Figure 112008054633665-pat00003
전술한 수식 4에서, 가중치 함수 ω'는 전술한 가중치 함수 ω와 같은 것을 사용하고 있다. 이상과 같이, 전술한 n개의 정점(원래의 정점)의 모두에 대하여 하기 수식 5에서 표현되는 값을 산출하고(단계 S202), 새로운 정점과 원래의 정점을 사용함으로써 하기의 수식 6에서 더 표현되는 새로운 정점 vi t +1을 계산한다(단 계 S203).
(수식 5)
Tt = {t0 t, t1 t, t2 t, . . ., tn t}
(수식 6)
vi t +1 = (1-c) vi t + cti t
전술한 수식 6에서, c는 0 내지 1 사이의 값을 취하는 파라미터이며, 이 값을 조절함으로써 표면의 예리함을 조정하는 것이 가능하게 된다. 표시 장치(15)의 화면에 계산 결과에 기초하여, 유체 표면을 렌더링하기 위해서는, 각 정점에서의 법선 벡터를 구하는 것이 필요하다. 계산된 정점의 법선 벡터는 농도값의 구배(勾配)(gradient)를 취하는 것에 의해 구할 수 없으므로, 원래의 정점의 법선은 2차원의 경우에는 정점을 공유하는 변, 3차원의 경우에는 공유하는 면의 법선의 합을 취하여, 정규화하여 구한다.
그리고, 새로운 정점 vi t +1을 계산하기 위해 사용되는 식에는 수식 6의 식에 한정되지 않는다. 1개의 파라미터 c와 반복 횟수 t를 포함하는 일반적인 식 「vi t +1 = f(vi t, ti t, c)」를 사용할 수 있고, 전술한 식 「vi t +1 = (1-c)vi t + ctit)」는 일례에 지나지 않는다.
전술한 바와 같이 하여 구한 정점 vi t +1을 사용하고, 또한 전술한 수식 4와 수식 6을 다시 계산함으로써, 정점 Vi t +2를 얻을 수 있다(단계 S204). 판정 단계 S204에서 “YES”인 한, 전술한 단계 S201∼S203에 기초한 조작을 반복함으로써, 유체 표면 형상을 보다 입자 배치에 밀착된 예리한 표면 형상으로 할 수 있다. 이들 조작(단계 S201∼S204)에 의해, 유체의 표면 상의 어떤 점은 공간에 분포되어 있는 입자 좌표의 가중치 중심으로 수속(收束)되어 간다.
다음에, 도 3을 참조하여, 유체 표면을 예리하게 표현하기 위한 전술한 제2 단계 S200의 계산예를 이미지적으로 설명한다. 도 3은 2차원으로 계산 한 예이며, (a)∼(i)의 9단계의 계산 상태의 변화를 나타내고 있다. (b)∼(i)의 각각의 t는, t=1, 2, 3, 4, 5, 6, 7, 8이다.
최초의 단계에서는, 일례로서 6개의 입자(도면 중의 검은 점)를 배치하고, 이들 6개의 입자로부터 음함수 곡면을 추출한다(도 3의 (a)). 도 3의 (a)에서는, 6개의 입자의 주위에 농도구에 기초하여 표면을 표현한 곡선(31)이 그려져 있다. 실선으로 그려진 곡선(31)은, 전술한 정점 V0에 기초하여 표현된 것이다.
도 3의(b) 이후의 도면에서는, 정점 Tt를 표현한 곡선(32)이 파선으로 그려지고, 또한 정점 Vt를 표현한 곡선(33)이 실선으로 그려져 있다. 예를 들면, 도 3의 상단인 (b)에서는 t = 1에서의 표면이 표시되어 있고, (c)에서는 t = 2에서의 표면이 나타나 있다. 도 3에서, 중단 (d)∼(f), 하단 (g)∼(i)로 진행됨에 따라 t는 증가해 나간다. 이와 같이 하여 제2 단계 S200의 계산을 반복함으로써, 정점 (Tt, Vt)에 의해 그려지는 유체 표면이 입자의 좌표에 가까워지고, 도 3의 (f)∼(i) 등에 나타낸 바와 같이 예리한 유체 표면을 실현할 수 있다. 그리고, 도 3의 예에서는, 파라미터 c로서 0.3을 사용하고 있다.
이상과 같이, 입자법에 기초한 유체 시뮬레이션의 계산 결과로 얻어진 유체에 대하여, 상기 유체 끝의 입자 주위의 표면은, 농도구를 사용한 경우는, 넓게 퍼져서 만들어지게 된다(도 3의 (a)). 이 표면의 근방을 보면, 1개의 입자만 가까이에 존재하고 있으므로, 이 표면에서 계산되는 입자의 좌표의 가중치 중심은 대략 그 입자의 좌표가 된다. 그 후 t를 증가시키는 것에 의해 유체의 표면은 그 입자의 좌표에 수속되어 간다.
또한, 전술한 제2 단계 S200에서, 전술한 파라미터 c와 반복 횟수 t를 사용함으로써 유체 표면의 형상을 제어할 수 있다.
도 4에, 전술한 수식 6에서의 c의 값을 변화시켰을 때의 유체 표면의 변화를 나타내고 있다. 도 4에서는, 도 3 것(b)에 나타낸 t = 2(2회 반복)의 경우의 유체 표면의 변화를 나타내고 있다. 도 4에서, (a)는 c = 0의 표면을 나타내고, 변화는 생기지 않는다. 즉, 이 표면은 음함수 곡면을 추출했을 때의 표면을 나타내고 있다. 도 4에서, (a)로부터 (e)로 진행됨에 따라 c의 값은 커지고, Vt는 Tt에 근접해 간다. 그리고, 도 4에서도, 정점 Tt를 표현한 파선의 곡선(32), 및 정점 Vt를 표현 한 실선의 곡선(33)이 각각 그려져 있다.
도 3과 도 4의 설명으로부터 명백한 바와 같이, 반복 횟수 t를 바꾸거나, 또는 파라미터 c를 변경함으로써, 다양한 유체 표면을 구축할 수 있다. 종래의 방법에 따르는 농도구만을 사용한 표면 구축 방법에 의하면, 가중치 함수를 바꾸는 것에 의해서 만 유체의 표면의 형상을 바꿀 수 있었다. 이에 비해, 본 발명에 의한 유체 표면의 구축 방법에 의하면, 반복 횟수 t와 파라미터 c를 조절함으로써 다양한 유체 표면을 표현할 수 있고, 특히 얇은 막이나 예리한 에지 등의 예리한 표면을 표현할 수 있다.
전술한 실시예의 설명에서는 2차원의 예를 설명하였으나, 3차원의 경우라도 마찬가지의 방법으로 예리한 유체 표면을 표현할 수 있다.
전술한 입자법에 의한 유체 시뮬레이션의 계산 결과에 기초한 유체 표면의 구축 방법은, 주로 도 1에 나타낸 표면 연산 프로그램(13A-3)이 GPU(12) 등으로 실행되는 것에 의해 실현된다. 표면 연산 프로그램(13A-3)은, 그 자체 CD-ROM 등의 기억 매체에 저장되고, 독립된 프로그램 제품으로서 구성될 수 있다.
도 1은, 본 발명에 따른 입자법에 기초한 유체 시뮬레이션의 표면 구축 방법이 실시되는 컴퓨터 시스템의 기본적인 구성을 나타낸 시스템 구성도이다.
도 2는, 유체 표면을 구축하는 방법의 프로세스를 나타낸 흐름도이다.
도 3은, 유체 표면을 예리하게 표현하기 위한 처리에 기초하여 변화하는 표면 상태의 변화를 나타내는 상태 천이도이다.
도 4는, 도 3에서 나타낸 t=2(2회 반복)의 경우의 유체 표면에서 파라미터 c를 0으로부터 점차 크게 한 경우의 유체의 표면 상태의 변화를 나타내는 상태 천이도이다.

Claims (9)

  1. 연산 프로세서로 실행된 입자법에 기초한 유체 시뮬레이션의 계산으로 얻어진 데이터를 사용하여 표시 장치의 화면에 계산 결과를 렌더링하는 방법으로서,
    계산 대상인 입자에 대하여 농도구(濃度球)를 할당하여 음함수 곡면을 산출하고, 상기 음함수 곡면에 의해 유체 표면을 만드는 복수개의 기초 정점 V0를 산출하는 제1 단계와,
    상기 제1 단계에서 산출된 상기 유체 표면을 만드는 상기 복수개의 기초 정점 V0 각각에 대하여 표면의 예리함을 조정하기 위해 적어도 1회 실행되는 제2 단계
    를 포함하는 입자법에 기초한 유체 시뮬레이션의 표면 구축 방법.
  2. 제1항에 있어서,
    상기 제2 단계는,
    상기 유체 표면을 만드는 상기 복수개의 기초 정점 V0 각각에 대하여, 각 정점의 주위에 존재하는 입자의 좌표의 가중치합을 취하고, 상기 가중치합을 상기 복수개의 기초 정점의 가중치의 총계로 나눔으로써 제1 정점 Tt를 계산하는 단계와,
    복수개의 상기 제1 정점 Tt 각각과 상기 복수개의 기초 정점 V0 각각을 사용하면서, 또한 하나의 파라미터 c를 포함하는 식 「vi t+1 = f(vi t, ti t, c)」에 기초하여 제2 정점 Tt+1을 계산하는 단계
    를 포함하는 입자법에 기초한 유체 시뮬레이션의 표면 구축 방법.
  3. 제2항에 있어서,
    상기 식 「vi t +1 = f(vi t, ti t, c)」의 f(vi t, ti t, c)는 「(1-c)vi t + cti t」인, 입자법에 기초한 유체 시뮬레이션의 표면 구축 방법.
  4. 삭제
  5. 삭제
  6. 삭제
  7. 연산 프로세서에, 입자법에 기초한 유체 시뮬레이션의 계산을 실행시켜서, 얻어진 데이터를 사용하여 표시 장치의 화면에 계산 결과를 렌더링하는 것을 실행시키는 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체로서,
    상기 프로그램은, 상기 연산 프로세서로 하여금,
    계산 대상인 입자에 대하여 농도구를 할당하여 음함수 곡면을 산출하고, 상기 음함수 곡면에 의해 유체 표면을 만드는 복수개의 기초 정점 V0를 산출하는 제1 단계와,
    상기 제1 단계에서 산출된 상기 유체 표면을 만드는 상기 복수개의 기초 정점 V0 각각에 대하여 표면의 예리함을 조정하기 위해 적어도 1회 실행되는 제2 단계
    를 실행시키는, 컴퓨터 판독 가능한 기록 매체.
  8. 제7항에 있어서,
    상기 프로그램은,
    상기 제2 단계에서, 상기 연산 프로세서로 하여금,
    상기 유체 표면을 만드는 상기 복수개의 기초 정점 V0 각각에 대하여, 각 정점의 주위에 존재하는 입자의 좌표의 가중치합을 취하고, 상기 가중치합을 상기 복수개의 기초 정점의 가중치의 총계로 나눔으로써 제1 정점 Tt를 계산하는 단계와,
    복수개의 상기 제1 정점 Tt 각각과 상기 복수개의 기초 정점 V0 각각을 사용하면서, 또한 1개의 파라미터 c를 포함하는 식 「vi t+1 = f(vi t, ti t, c)」에 기초하여 제2 정점 Tt+1을 계산하는 단계
    를 더 실행시키는, 컴퓨터 판독 가능한 기록 매체.
  9. 제8항에 있어서,
    상기 식 「vi t+1 = f(vi t, ti t, c)」의 f(vi t, ti t, c)는 「(1-c)vi t + cti t」인, 컴퓨터 판독 가능한 기록 매체.
KR1020080073989A 2007-09-11 2008-07-29 입자법에 기초한 유체 시뮬레이션의 표면 구축 방법, 및 그 프로그램을 저장한 기억 매체 KR101023996B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2007-00234988 2007-09-11
JP2007234988A JP5342761B2 (ja) 2007-09-11 2007-09-11 粒子法に基づく流体シミュレーションの表面構築方法、そのプログラム、およびそのプログラムを格納した記憶媒体

Publications (2)

Publication Number Publication Date
KR20090027142A KR20090027142A (ko) 2009-03-16
KR101023996B1 true KR101023996B1 (ko) 2011-03-28

Family

ID=40340228

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080073989A KR101023996B1 (ko) 2007-09-11 2008-07-29 입자법에 기초한 유체 시뮬레이션의 표면 구축 방법, 및 그 프로그램을 저장한 기억 매체

Country Status (7)

Country Link
US (1) US8040347B2 (ko)
JP (1) JP5342761B2 (ko)
KR (1) KR101023996B1 (ko)
CN (1) CN101388117B (ko)
DE (1) DE102008034518B4 (ko)
FR (1) FR2920904B1 (ko)
GB (1) GB2452809B (ko)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100984048B1 (ko) * 2008-10-14 2010-09-30 한국전자통신연구원 파티클 유체 시뮬레이션에서의 강성체 상호작용 처리 방법
WO2011093541A1 (ko) * 2010-01-28 2011-08-04 (주)에프엑스기어 유체 시뮬레이션 형상 제어 시스템 및 방법
US20110202327A1 (en) * 2010-02-18 2011-08-18 Jiun-Der Yu Finite Difference Particulate Fluid Flow Algorithm Based on the Level Set Projection Framework
US20160232704A9 (en) * 2011-05-11 2016-08-11 Daniel FONTIJNE Apparatus and method for displaying an image of an object on a visual display unit
CN102426691A (zh) * 2011-10-24 2012-04-25 克拉玛依红有软件有限责任公司 一种基于gpu的实时火焰效果的模拟方法
CN103714575B (zh) * 2013-12-30 2016-09-07 北京大学 一种sph与动态表面网格相结合的流体仿真方法
KR102459848B1 (ko) * 2014-10-24 2022-10-27 삼성전자주식회사 입자에 기반하여 대상 객체를 고속으로 모델링하는 방법 및 장치
CN104899913B (zh) * 2015-05-13 2018-04-24 中国科学院自动化研究所 一种虚拟舞台环境下的逼真流体特效制作方法
KR102399601B1 (ko) * 2015-07-20 2022-05-18 삼성전자주식회사 효율적인 제약 조건 처리를 위한 입자 기반 모델링 방법 및 장치
JP2017068817A (ja) 2015-10-01 2017-04-06 三星電子株式会社Samsung Electronics Co.,Ltd. オブジェクトをモデリングする方法及び装置
JP6671064B2 (ja) * 2016-03-03 2020-03-25 国立研究開発法人海洋研究開発機構 粒子シミュレーション装置、粒子シミュレーション方法及び粒子シミュレーションプログラム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07334484A (ja) * 1994-06-13 1995-12-22 Seiichi Koshizuka 流動解析装置及び流動解析方法
JP2005011027A (ja) 2003-06-18 2005-01-13 Sangaku Renkei Kiko Kyushu:Kk 衣服シミュレーション装置、衣服シミュレーションプログラムおよび衣服シミュレーション方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000033251A1 (fr) * 1998-11-30 2000-06-08 Yamatake Corporation Dispositif de reconnaissance de particules

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07334484A (ja) * 1994-06-13 1995-12-22 Seiichi Koshizuka 流動解析装置及び流動解析方法
JP2005011027A (ja) 2003-06-18 2005-01-13 Sangaku Renkei Kiko Kyushu:Kk 衣服シミュレーション装置、衣服シミュレーションプログラムおよび衣服シミュレーション方法

Also Published As

Publication number Publication date
GB2452809A (en) 2009-03-18
US8040347B2 (en) 2011-10-18
JP5342761B2 (ja) 2013-11-13
GB0813936D0 (en) 2008-09-03
US20090070080A1 (en) 2009-03-12
GB2452809B (en) 2012-03-28
KR20090027142A (ko) 2009-03-16
CN101388117A (zh) 2009-03-18
DE102008034518A1 (de) 2009-03-12
FR2920904A1 (fr) 2009-03-13
CN101388117B (zh) 2012-07-18
FR2920904B1 (fr) 2013-08-23
DE102008034518B4 (de) 2011-05-19
JP2009069929A (ja) 2009-04-02

Similar Documents

Publication Publication Date Title
KR101023996B1 (ko) 입자법에 기초한 유체 시뮬레이션의 표면 구축 방법, 및 그 프로그램을 저장한 기억 매체
JP5371221B2 (ja) 粒子法シミュレーションのためのスライスデータ構造、およびスライスデータ構造を利用した粒子法シミュレーションのgpuへの実装方法
Greer An improvement of a recent Eulerian method for solving PDEs on general geometries
US8368714B2 (en) Curved surface rendering system and method
KR102181989B1 (ko) 복수의 프로세서를 이용한 입자 기반의 유체 시뮬레이션 방법 및 유체 시뮬레이션 장치
EP2551825A2 (en) Fluid dynamics framework for animated special effects
US10019802B2 (en) Graphics processing unit
WO2012111082A1 (ja) シミュレーション装置、シミュレーション方法、及びプログラム
EP3674962A1 (en) Computer simulation of physical fluids on a mesh in an arbitrary coordinate system
Kim Fluid engine development
JP2016125934A (ja) シミュレーションプログラム、シミュレーション方法、およびシミュレーション装置
US11295050B2 (en) Structural analysis method and structural analysis apparatus
KR102181988B1 (ko) Sph 기반의 유체 해석 시뮬레이션 장치 및 유체 해석 시뮬레이션 방법
Fan et al. Adapted unstructured LBM for flow simulation on curved surfaces
US11610350B2 (en) Automatically filling a geometric shape with graphical cells aligned with the geometric shape
JP5400802B2 (ja) 階層化深さ画像を使用する接触シミュレーション方法及び装置
Hou Various remeshing arrangements for two-dimensional finite element crack closure analysis
KR102436658B1 (ko) 입자 기반의 유체 해석 시뮬레이션 방법 및 유체 해석 시뮬레이션 장치
Shi et al. Analysis enhanced particle-based flow visualization
Fuchs et al. Interactive Isogeometric Volume Visualization with Pixel-Accurate Geometry
Abdelnaim et al. Fluid-structure interactions simulation and visualization using ISPH approach
Dharma et al. Interactive fluid simulation based on material point method for mobile devices
Aristizabal et al. HARDWARE-ACCELERATED WEB VISUALIZATION OF VECTOR FIELDS-Case Study in Oceanic Currents
Kostorz et al. Semi‐analytical treatment of spherical solids in smoothed‐particle hydrodynamics fluid simulations
US20170365096A1 (en) Transmission and Configuration of Three Dimensional Digital Content

Legal Events

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

Payment date: 20140307

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150306

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160304

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20170303

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20180313

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20190314

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20200312

Year of fee payment: 10