• 검색 결과가 없습니다.

SPH 기반의 유체 및 용해성 강체에 대한시각-촉각 융합 상호작용 시뮬레이션

N/A
N/A
Protected

Academic year: 2022

Share "SPH 기반의 유체 및 용해성 강체에 대한시각-촉각 융합 상호작용 시뮬레이션"

Copied!
9
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

DOI:http://dx.doi.org/10.5407/JKSV.2017.15.1.032 ISSN 2093-808X Online

School of Computing, Korea Advanced Institute of Science and Technology

E-mail: jinahpark@kaist.ac.kr

* School of Computing, Korea Advanced Institute of Science and Technology

SPH 기반의 유체 및 용해성 강체에 대한 시각-촉각 융합 상호작용 시뮬레이션

김석열

*

· 박진아

Real-time Simulation Technique for Visual-Haptic Interaction between SPH-based Fluid Media and Soluble Solids

Seokyeol Kim

*

and Jinah Park

Abstract Interaction between fluid and a rigid object is frequently observed in everyday life. However, it is difficult to simulate their interaction as the medium and the object have different representations.

One of the challenging issues arises especially in handling deformation of the object visually as well as rendering haptic feedback. In this paper, we propose a real-time simulation technique for multimodal interaction between particle-based fluids and soluble solids. We have developed the dissolution behavior model of solids, which is discretized based on the idea of smoothed particle hydrodynamics, and the changes in physical properties accompanying dissolution is immediately reflected to the object. The user is allowed to intervene in the simulation environment anytime by manipulating the solid object, where both visual and haptic feedback are delivered to the user on the fly. For immersive visualization, we also adopt the screen space fluid rendering technique which can balance realism and performance.

Key Words : Smoothed particle hydrodynamics(입자 완화 유체 동역학), Dissolution(용해), Unified particle model(통합 입자 모델), Haptic rendering(촉각 렌더링), Screen space fluid rendering(화면 공간 유체 렌더링)

1. 서 론

유체와 강체 간의 상호작용은 분자 단위의 용해 나 확산과 같은 미시적인 자연 현상에서부터 조선 해양, 토목 등의 거시적인 응용 분야에 이르기까지

다양한 영역에 걸쳐 폭넓게 관측되며 활용되고 있 다. 그리고 이러한 산업 분야의 기저에는 유체의 거동을 보다 신속하고 정확하게 분석하여 이를 제 품 개발에 적용하는 동시에 개발된 시제품에 대한 검증 및 훈련 수단으로서 유체 시뮬레이션에 대한 수요가 꾸준히 제기되고 있다. 하지만 인공 수조와 같이 실제 유체를 이용한 실험 환경은 그 규모가 커질수록 운용의 편의성이나 비용적 측면에서 부 담이 발생하며 전산 유체 역학에 기반한 오프라인 시뮬레이션은 정확도가 높고 실험 환경의 구축이 비교적 간편한 대신 복잡한 연산 과정으로 인해

(2)

사용자의 개입이나 각종 변수를 즉각적으로 반영 하기 어렵다는 문제점이 존재한다.

이로 인해 상호작용성이 중시되는 실시간 유체 시뮬레이션 환경에서는 라그랑주 기술법(Lagrangian specification)에 기초한 입자법을 주로 사용한다.

대표적인 입자 기반의 유체 모델로는 입자 완화 유체 동역학(smoothed particle hydrodynamics, 이하 SPH) 기법(1)을 들 수 있는데, 이는 인접한 입자들 의 물리량을 커널 함수(kernel function)에 따라 가 중합하여 현재 입자의 상태를 결정하는 방식으로 써 동적 유체를 표현하거나 외부 객체와의 상호작 용을 처리하기가 편리하다는 장점을 가진다.

하지만 입자로 이루어진 유체와는 달리 그래픽 스 분야에서 보편적으로 사용되는 강체 모델은 대 부분 폴리곤 메시(polygonal mesh)로 정의되어 있 기 때문에 이를 그대로 SPH 기반의 시뮬레이션 환 경에 적용할 경우 유체와 강체 간의 충돌 처리가 복잡해진다는 단점이 존재한다. 이러한 단점을 해 소하기 위하여 메시를 기반으로 가상의 표면 입자 를 생성하는 기법(2) 등이 제안되었으나 이는 표면 정보에만 국한되어 있기 때문에 객체의 위상 변화 를 수반하는 시뮬레이션에는 적합하지 않다. 이에 대한 해결책으로는 강체 모델의 내부 영역 전체를 입자로 정의하는 통합 입자 모델(unified particle model)(3)이 제시되어 이종 물질 간의 상호작용에 따른 변형이나 상변화(phase transition)를 유연하게 표현할 수 있게 되었다.(4,5)

한편 유체 시뮬레이션 결과에 대해 시각적인 정 보뿐만 아니라 유체의 흐름이나 저항 등을 촉각 피드백(haptic feedback)의 형태로 사용자에게 제공 하고자 하는 시도는 비교적 근래에 들어 활성화되 고 있다. 촉각 피드백 생성을 위한 렌더링 기술은 기본적으로 그래픽스 분야에 기반을 두고 있는 경 우가 많으나 화면 대신 기계적 구조를 지닌 햅틱 장치를 디스플레이로 사용하며 인간의 인지적 특 성상 시각 렌더링에 비해 보다 빠른 처리가 요구 되기 때문에 실제적인 접근 방식에 있어서는 상당 한 차이를 보인다. Baxter 등의 초기 연구는 격자 기반의 시뮬레이션을 이용하였으나(6) 이후 Cirio 등은 통합 입자 모델을 적용하여 상호작용의 자유 도를 대폭 확장하였으며(7) 최근에는 상호작용의

대상이 되는 일반 객체뿐만 아니라 사용자와 시뮬 레이션 환경 간의 매개체 역할을 담당하는 프록시 (proxy) 객체의 변형을 허용하는 연구도 등장하였 다.(8) 그러나 객체의 위상 변화를 수반하는 상호작 용 기법에 대한 연구는 대체로 시각 피드백만을 제공하거나 상호작용 범위가 제한적인 경우가 많 다. 또한 시-촉각 상호작용을 동시에 지원하는 연 구 사례에서도 기호적인 표현에서 탈피하여 양측 모두를 사실적으로 표현하기 위한 시도는 찾아보 기 드문 실정이다.

이에 본 연구에서는 SPH 및 통합 입자 모델을 기반으로 하여 유체와 강체 간의 상호작용을 처리 하고 그 결과를 시각 및 촉각 채널을 통해 실시간 으로 사용자에게 제공하기 위한 시뮬레이션 시스 템을 제안한다. 이때 강체 객체를 위한 시뮬레이션 모델은 단순히 유체와의 접촉뿐만 아니라 용해 현 상에 의한 비가역적 변형을 표현할 수 있도록 설 계되었다. 그리고 유체 영역의 가시화를 위해 화면 공간 유체 렌더링(screen space fluid rendering) 기법 을 응용하여 보다 사실적인 묘사를 시도하였다. 이 러한 요소 기술들을 통해 궁극적으로는 몰입감 높 은 대화형 멀티모달 유체 시뮬레이션 환경을 구축 하는 것을 목표로 하였다.

2. 이론 및 접근 방법

2.1 SPH 기반 용해 현상 시뮬레이션

용질 및 용매의 속성과 용해 속도 간의 관계는 일반적으로 노이스-휘트니 방정식(Noyes-Whitney equation)(9)을 따르는 것으로 알려져 있다. 본 방정 식에 의하면 실제 물질의 용해 속도는 용질과 용 매 간의 접촉 면적 및 농도차에 비례한다. 우리는 이를 통합 입자 모델에 적용할 수 있도록 다음과 같이 개별 강체 입자 단위로 이산화(discretization) 하였다.(10)





 (1)

(1)은 강체 입자 i가 인접한 유체 입자 j의 영

(3)

향으로 인해 용해가 진행될 경우 시간에 따른 농 도의 변화를 정의한다. 본 수식에서 C는 각 입자가 가지는 용질의 농도, D는 확산계수, W는 입자 간 의 거리를 인수로 받는 커널 함수를 의미한다. 정 의된 모델에 따르면 각각의 강체 입자는 인접한 유체 입자와의 거리가 가깝고 용질의 농도차가 클 수록 빠른 속도로 용해가 진행된다. 그리고 인접한 유체 입자의 수가 많을수록 단위시간당 용해량도 합산되어 증가하기 때문에 표면적에 따른 용해 속 도의 차이 또한 함께 반영된다.

Fig. 1. Conceptual illustration of the dissolution

process. All the numbers in the particles indicate the relative value of concentration.

Fig. 1은 입자로 정의된 강체와 유체 간의 용해 과정을 설명하는 모식도이다. 강체를 구성하는 입 자 중에서 유체 입자와 접촉하고 있는 부분은 식 (1)에 따라 점차 용해가 진행되며 해당 입자가 가 지고 있는 용질은 주변 유체 입자로 전이된다. 만 약 누적된 용해량이 각 입자가 가지는 용질의 초 기 질량보다 많아질 경우 해당 입자는 용해가 완 료된 것으로 간주하여 강체 모델에서 분리되며 유 체 입자와 동일하게 자유 운동을 하게 된다. 이와 동시에 강체 모델에서는 새롭게 유체에 노출된 입 자가 용해 과정을 시작한다. 이때 강체와 유체가 정적 상태를 유지한 채로 용해 현상이 지속될 경 우 강체 주변에 위치한 유체 입자들이 점차 포화 되면서 용해 속도가 느려지게 되는데 이는 실제 용해 과정에서의 확산층(diffusion layer)과 유사한 역할을 한다. 그리고 유체 입자 전체가 포화될 경 우에는 용해 과정이 완전히 정지한다.

2.2 유체-강체 간 양방향 상호작용

용해 현상을 포함한 유체와 강체 간의 상호작용 을 처리하고 이에 수반하는 피드백을 생성하기 위 해서는 먼저 입자 간의 충돌 검사가 선행되어야

한다. 충돌 검사 단계에서는 임의의 두 입자가 기 준 거리 이내로 인접해 있을 경우 이를 접촉 상태 로 간주하고 충돌쌍(collision pair)을 생성하여 상 호간의 접촉력(contact force)을 계산한다. 하지만 모든 입자에 대해 자기 자신을 제외한 다른 모든 입자와의 충돌 검사를 수행하는 것은 비효율적이 므로 시뮬레이션 공간을 균일한 격자로 분할하고 현재 입자가 위치한 격자 및 그 주변 격자에 속하 는 입자들과의 충돌 여부만을 검사함으로써 검사 과정에서 소요되는 시간을 대폭 절감할 수 있다.

충돌 검사가 종료되면 도출된 충돌쌍을 순회하 며 접촉력을 계산하여 이를 각 입자에 저장한다. 이때 유체의 경우에는 각각의 입자가 독립적으로 운동하기 때문에 계산된 접촉력이 해당 입자의 이 동 속도에 바로 반영되지만 강체의 경우 동일한 객체를 구성하는 입자들은 결합되어 함께 움직이 기 때문에 강체 전체의 이동 및 회전을 결정하기 위해서는 개별 입자들의 접촉력을 합산하여 적용 할 필요가 있다. 이를 위해 우리는 Cirio의 연구(7) 를 바탕으로 접촉력을 합산하여 강체가 받는 반력 을 구하는 한편 강체의 무게중심과 각 입자들 간 의 상대위치를 이용하여 돌림힘(torque)을 계산함 으로써 강체의 자세를 갱신한다. 이 과정에서 도출 되는 반력과 돌림힘은 햅틱 장치를 통해 사용자에 게도 전달되어 유체와의 상호작용에 수반하는 촉 각 피드백으로 작용하게 된다.

Fig. 2. Relationship between the rotational motion

and the moment of inertia. The yellow area indicates the remaining volume after dissolution.

강체의 자세가 갱신될 때의 회전량은 Fig. 2와 같이 강체가 가지는 관성 모멘트에 의해 결정된다. 이러한 관성 모멘트는 강체의 형태가 불변할 경우 에는 동일하게 유지되지만 용해에 의해 형태가 변 화할 경우에는 함께 변화하게 된다. 따라서 강체의 운동을 정확하게 표현하기 위해서는 용해에 수반

(4)

하는 관성 모멘트의 변화 또한 지속적으로 갱신할 필요가 있다.

I´   det (2)

det

 

  

(3)

용해가 발생할 경우 식 (2)와 같이 강체 전체의 관성 텐서 I에서 용해가 완료되어 분리된 입자들 에 해당하는 관성 텐서 Idetached를 빼는 방식으로 갱 신된 관성 텐서 I´를 구한다. 관성 텐서 Idetached의 각 성분은 식 (3)과 같이 계산된다. 이 수식에서 rk은 분리된 입자 k로부터 각 기준축으로의 직교 거리 (perpendicular distance)를 의미하며 δij는 크로네커 델타(Kronecker delta)로서 i = j일 경우에는 1을, 나 머지 경우에는 0을 반환한다.

cm   ∑

 ∑

(4)

또한 용해로 인해 강체의 무게중심 역시 변화할 수 있으므로 식 (4)를 이용하여 이를 보정한다. 여 기서 mkxk는 각각 분리된 입자 k의 질량과 위치 를 의미한다.

2.3 화면 공간 유체 렌더링

입자 기반의 유체 시뮬레이션 결과를 사실적으 로 가시화하기 위해서는 표면을 재구성하여 유체 영역의 경계를 정확하게 정의하고 영역 내에서 발 생하는 굴절 등의 광학적 현상을 추적하여 재현하 여야 한다. 하지만 이러한 조건을 모두 만족하는 오프라인 렌더링 방식의 경우 즉각적인 반응이 요 구되는 실시간 상호작용에는 적합하지 않기 때문 에 사실성과 실시간성을 절충한 포인트 기반 렌더 링 기법(11)이나 거리 영역(distance field) 기반의 광 선 투사(ray casting) 기법(12) 등이 제안되어 왔다.

우리는 이러한 실시간 유체 렌더링 기법 중 화면 공간 유체 렌더링(13) 기법을 응용하여 시뮬레이션 결과를 가시화하였다.

Fig. 3. Rendering passes for screen space fluid

rendering.

화면 공간 유체 렌더링 기법은 유체 영역에 대 한 표면 재구성 과정을 거치지 않고 각 입자의 위 치에 해당하는 포인트 스프라이트(point sprite)를 프레임 버퍼 상에 바로 그린 다음 이를 후처리하 여 유체를 표현하는 방식이다. 기본적으로는 유체 입자에 대한 깊이 맵(depth map)과 두께 맵(thickness map), 법선 맵(normal map)을 생성한 후 이를 최종 패스에서 모두 합성하게 되나 우리는 Fig. 3과 같 이 유체 영역 후면(backface)에 대한 깊이 맵을 추 가하여 유체 내부나 후면에 위치한 객체에 대한 사실성을 증진시키고자 하였다.

Fig. 4. (Left) Raw depth map of the point sprites.

(Right) Blurred depth map.

깊이 맵은 포인트 스프라이트에 색상 대신 깊이 값을 부여한 후 렌더링을 수행하여 얻는다. 이때 포인트 스프라이트는 실제로는 평면이지만 시각 적으로는 구와 같이 보일 수 있도록 중심에서부터 방사형으로 깊이 값에 차등을 둔다. 그리고 보다 자연스러운 유체 표면 생성을 위하여 취득한 깊이 맵에 Fig. 4와 같이 가우시안 흐림(Gaussian blur) 효과를 적용한다. 후면에 대한 깊이 맵을 생성할

(5)

때에는 깊이 테스트 기준을 반대로 설정한 후 나 머지는 동일한 과정으로 작업을 진행한다.

Fig. 5. Normal vector estimation in a view space.

깊이 맵이 준비되면 이를 바탕으로 뷰 공간 (view space)에서의 법선 맵을 생성한다. 우선 법선 벡터를 구하고자 하는 프래그먼트(fragment)의 텍 스처 좌표와 깊이 값을 이용하여 뷰 공간에서의 위치를 계산한다. 그리고 현재 프래그먼트를 기준 으로 깊이 맵의 X축과 Y축 방향을 따라 약간씩 이 동한 지점의 위치를 동일한 방법으로 계산한다. 그 후 Fig. 5와 같이 X축 및 Y축 방향으로의 변위 벡 터를 구하여 이들의 벡터곱(cross product)을 취하 면 현재 지점의 법선 벡터를 추정할 수 있다. 이를 화면 상의 모든 프래그먼트에 대해 수행하면 Fig.

6의 좌측과 같은 법선 맵을 얻을 수 있다.

Fig. 6. (Left) Estimated normal map in a view space.

(Right) Thickness map of the point sprites.

두께 맵은 기본적으로 깊이 맵을 생성할 때와 동일한 정점 셰이더(vertex shader)를 사용하여 포 인트 스프라이트를 그린다. 다만 프래그먼트 셰이 더에서 깊이 검사를 비활성화하여 중첩을 허용하 고 알파 블렌딩(alpha blending)을 설정하여 Fig. 6 의 우측과 같이 유체 영역의 두께가 두꺼운 부분 일수록 높은 픽셀 값을 가지도록 한다.

최종 패스에서는 선행 렌더링 패스에서 획득한 각종 텍스처를 바탕으로 굴절과 표면 반사, 색상

감쇠 효과 등을 계산하여 렌더링 결과물을 도출한 다. 굴절의 경우 유체의 후면 깊이 맵과 일반 객체 의 깊이 맵을 비교하여 유체 내부에 있거나 배경 에 있는 객체 영역을 구분한다. 만약 해당 객체가 유체 외부나 전경에 위치할 경우에는 객체만 렌더 링한 후 종료되며 유체의 내부나 배후에 위치할 경우에는 객체와 유체 영역 간의 깊이 차를 이용 하여 두께 값을 보정한 후 굴절 효과를 적용한다. 감쇠 효과는 비어-람베르트 법칙(Beer-Lambert law) 에 의거하여 각 색상 채널의 감쇠율과 두께 값에 의해 결정되며 표면 반사는 법선 벡터로부터 계산 된 계수에 반사될 색상을 곱하여 표현한다. 3. 구현 및 결과

3.1 시뮬레이션 시스템 구축

본 연구에서 제안한 시뮬레이션 기법은 오픈 소 스 그래픽스 엔진인 OGRE를 기반으로 개발되었 으며 충돌 처리 및 커널 함수 적용 부분은 병렬처 리를 통한 실시간성 확보를 위해 Krog 등의 연구

(14)를 참고하여 CUDA를 통해 구현하였다. 그리고 화면 공간 유체 렌더링에 필요한 각 렌더링 패스 는 OpenGL 셰이딩 언어(GLSL)로 작성되었으며 OGRE의 컴포지터(compositor)를 이용하여 각 패스 의 중간 결과물을 합성하고 최종 결과물을 도출하 였다. 사용자는 Fig. 7과 같이 화면을 통해서 시뮬 레이션 결과를 시각적으로 확인하는 한편 햅틱 장 치를 통해 강체 모델을 조작하고 이에 수반하는 촉각 피드백을 전달받는다.

Fig. 7. Device configuration of the simulation

system.

(6)

시뮬레이션 수행에 있어서 비정형적인 유체와 는 달리 강체는 사전에 정의된 형태가 필요하다. 그러나 보편적으로 취득할 수 있는 3차원 객체 모 델은 앞서 설명한 대로 대부분 폴리곤 메시로 이 루어진 표면 정보만을 가지고 있다. 따라서 이를 통합 입자 모델에 적용하기 위해서는 표면 모델의 내부 영역을 확인하여 이를 입자로 채우는 샘플링 과정을 필요로 한다. 본 연구에서는 Fig. 8과 같이 입력된 표면 모델에 대해 일정 간격으로 추적 광 선을 투사하여 홀수 번째 충돌이 일어나는 지점부 터를 모델의 내부, 짝수 번째 충돌이 일어나는 지 점부터를 모델의 외부로 간주하고 내부에 해당하 는 영역에 대해 광선을 따라 일정 간격으로 입자 를 생성하는 방식을 적용하였다.

Fig. 8. (Top) Concept of particle sampling.

(Bottom) Sampling result of the Stanford bunny model.

3.2 결과

구현된 시뮬레이션 시스템의 작동 검증 및 성능 평가를 위한 테스트 환경은 Intel Core i7-870 CPU 와 NVIDIA GeForce GTX 480 GPU로 구성되었다.

상기 테스트 환경에서 입자의 수를 31,247개(유체 입자 15,625개, 강체 입자 15,622개)로 설정하였을 때 렌더링 과정을 제외한 시뮬레이션 속도는 초당 평균 114 프레임을 기록하였으며 포인트 스프라이 트로 렌더링하였을 경우에는 초당 평균 73 프레임, 화면 공간 유체 렌더링을 적용하였을 때에는 초당 평균 55 프레임을 기록하였다. 이는 일반적으로 통 용되는 촉각 렌더링의 요구조건(초당 1,000 프레임 이상)에는 미달되지만 유체와의 상호작용은 높은

강성(stiffness)을 필요로 하지 않기 때문에 사용자 가 실제로 인지하는 촉각 피드백의 품질 차이는 크지 않을 것으로 판단된다.(15)

Fig. 9. (a) Initial state of the simulation environment.

(b) Interaction between the fluid media and the solid object. (c) Partially dissolved solid object after interaction. (d) Residual concentration of the solute contained in the solid object.

사용자가 햅틱 장치를 이용하여 강체 모델을 유 체 영역에 접한 상태로 움직일 경우 상호간의 접 촉력 발생과 이로 인한 유체의 거동이 의도한 대 로 묘사되었으며 강체의 용해 또한 Fig. 9와 같이 정상적으로 시뮬레이션되는 것을 확인하였다. 또 한 포인트 스프라이트 렌더링 상태에서는 입자의 현재 속도나 용질의 잔여 농도 등을 개별 입자 단 위로 색상화하여 표시함으로써 상호작용을 통해 발생하는 각종 변화를 직관적으로 확인할 수 있다.

Fig. 10. Difference in incompressibility according to

the state equation. (Left) Simulation result with the ideal gas state equation. (Right) Simulation result with the Tait equation.

(7)

Fig. 10은 시뮬레이션에 사용되는 상태 방정식 의 종류에 따른 유체의 압축성 차이를 나타낸다. 이상 기체 상태 방정식(ideal gas state equation)(16)의 경우 모델이 단순하여 구현이 간편하고 보다 신속 한 처리가 가능하나 Fig. 10의 좌측과 같이 압축성 이 높아 물과 같은 비압축성 유체를 표현하기에는 다소 한계가 있다. 반면 테이트 상태 방정식(Tait equation)(17)의 경우 합리적인 수준의 성능과 함께 매우 낮은 압축성을 보이기 때문에 비압축성 유체 를 표현하는 데에 있어서 보다 적합하다.

Fig. 11. Difference in stability and convergence

according to the time step size. (Left) Simulation result when Δ t is 16.7 ms.

(Right) Simulation result when Δ t is 5 ms.

입자 기반 유체 시뮬레이션의 안정성과 수렴성 을 보장하기 위해서는 시뮬레이션 대상의 외력과 점성 등을 고려하여 쿠란트-프리드리히-레비 조건 (Courant-Friedrichs-Lewy condition)을 만족하는 범 위 내에서 시뮬레이션 프레임당 시간 변화량을 설 정할 필요가 있다.(16) 이는 오프라인 시뮬레이션에 서는 큰 문제가 되지 않지만 실시간 상호작용에 있어서는 중요한 제약 조건으로 작용할 수 있다. 예를 들어 초당 60프레임으로 동작하는 렌더링 시 스템에 시뮬레이션 결과를 1:1로 대응시키기 위해 서는 시간 변화량이 약 16.7 ms로 설정되어야 하나 이 경우 Fig. 11의 좌측에서 볼 수 있듯이 시뮬레이 션이 불안정해지는 현상이 발생한다. 이를 개선하 기 위해 렌더링과 시뮬레이션 루프를 비동기적으 로 작동하도록 분리하고 시간 변화량을 5 ms 수준 으로 줄일 경우 우측과 같이 시뮬레이션의 안정성 은 확보할 수 있으나 시뮬레이션 루프가 초당 200 프레임 이상으로 동작할 수 있는 환경이 아니라면 실제 시간에 비해 시뮬레이션 상의 시간이 느리게 흘러가는 문제가 남는다. 이러한 성능 한계의 근본 적인 해결을 위해서는 알고리듬 및 하드웨어 측면

에서의 개선이 요구되지만 대상의 특성과 실행 환 경에 따라 시뮬레이션 규모를 최적화하는 것도 효 과적이고 즉각적인 해결책이 될 수 있을 것이다.

Fig. 12. Snapshots of the simulation results with

screen space fluid rendering.

Fig. 12는 화면 공간 유체 렌더링을 적용한 상태 에서의 시뮬레이션 과정을 보여준다. 광선 추적법 등을 이용한 유체 렌더링 기법에 비해 사실성은 다소 떨어지지만 시각적으로 수용 가능한 수준의 결과물을 일반적인 PC 환경에서도 실시간으로 생 성할 수 있음을 확인하였다.

Fig. 13. Examples of the artifacts that commonly

occur at the boundary of the fluid volume.

본 렌더링 기법의 한계점으로는 한정된 정보로 인해 발생하는 렌더링 결과물 상의 각종 시각적 결 함(artifact)을 들 수 있다. 그 중에서도 Fig. 13과 같 이 유체 영역의 경계면에서 법선 벡터의 계산이 부 정확해지는 현상이 빈번하게 발생하는데 이는 법 선 계산 시 경계를 넘어서게 되면 참고할 수 있는 값이 존재하지 않기 때문에 발생하는 것으로 보인 다. 이러한 현상을 완화하기 위해서는 법선 계산과 흐림 효과 적용을 위한 반경을 줄이면 되지만 이 경우 입자의 반경도 작아져야 하고 그 수는 늘어나 야 하기 때문에 시뮬레이션 성능에 악영향을 미칠 수 있으므로 적절한 수치로 조절하여야 한다.

또한 깊이 값은 대체로 카메라에서부터 멀어질 수록 지수적으로 증가하기 때문에 멀리 떨어진 영

(8)

역의 경우 정확도가 저하되고 이 역시 렌더링 시 에 시각적 결함을 발생시키는 주된 원인으로 작용 한다. 이에 대한 해결책으로는 클리핑 공간(clipping space)의 범위를 적절히 조절하거나 깊이 값을 선 형으로 변환하여 저장하는 방법 등이 있으며 하드 웨어가 지원할 경우 깊이 값을 저장하는 텍스처의 픽셀 당 비트 수를 확장하여 깊이 맵의 정확도를 높일 수도 있다.

4. 결 론

본 논문에서는 입자로 정의된 유체와 용해성 강 체 간의 양방향 상호작용을 실현하고 이에 수반하 는 시각 및 촉각 피드백을 사용자에게 충실히 전 달하기 위한 SPH 기반의 실시간 시뮬레이션 기법 을 제시하였다. 이를 통해 우리는 유체에 의한 강 체의 용해나 침식 현상 등을 간편하게 체감할 수 있으며 유체에 대한 가시화 기법을 선택적으로 적 용하여 사용자의 의도에 부합하는 렌더링 결과를 얻을 수 있다.

현 시점에서 제안한 기법은 시뮬레이션의 정확 성보다는 상호작용성에 초점을 맞추어 개발되었 기 때문에 실제 물질의 거동과는 다소 차이가 존 재할 수 있다. 추후 우리는 실측치에 기반한 물성 모델을 적용하고 검증하는 과정을 거쳐 시뮬레이 션의 사실성을 제고하는 한편 충돌 처리의 고속화 와 가시화 기법의 보완을 통해 시뮬레이션 환경의 전반적인 품질을 개선하고자 한다. 이와 더불어 현 재 연구가 활발하게 진행 중인 몰입형 가상현실 기술과의 접목을 통해 관련 분야에 대한 교육 및 훈련, 시제품 검증 등에 광범위하게 활용될 수 있 을 것으로 기대한다.

후 기

본 논문은 미래창조과학부 휴먼케어콘텐츠개발사 업 ‘치의학 의료기술향상을 위한 한국인 표준 구 강 모델 및 가상 시뮬레이션 솔루션 개발’ 과제 (1100-1141-305-024-16)의 지원을 받아 수행된 연 구임.

REFERENCES

1) Müller, M., Charypar, D., and Gross, M., 2003,

“Particle-based fluid simulation for interactive applications,” Proc. ACM SIGGRAPH/Eurographics Symposium on Computer Animation, pp. 154-159.

2) Bell, N., Yu, Y., and Mucha, P. J., 2005,

“Particle-based simulation of granular materials,”

Proc. ACM SIGGRAPH/Eurographics Symposium on Computer Animation, pp. 77-86.

3) Solenthaler, B., Schläfli, J., and Pajarola, R., 2007,

“A unified particle model for fluid-solid interactions,”

Computer Animation and Virtual Worlds, Vol. 18(1), pp. 69-82.

4) Macklin, M., Müller, M., Chentanez, N., and Kim, T., 2014, “Unified particle physics for real-time applications,” ACM Transactions on Graphics, Vol.

33(4), pp. 153:1-153:12.

5) Shao, X., Zhou, Z., Magnenat-Thalmann, T., and Wu, W., 2015, “Stable and fast fluid-solid coupling for incompressible SPH,” Computer Graphics Forum, Vol. 34(1), pp. 191-204.

6) Baxter, W. and Lin, M. C., 2004, “Haptic interaction with fluid media,” Proc. Graphics Interface, pp. 81-88.

7) Cirio, G., Marchal, M., Hillaire, S., and Lecuyer, A., 2011, “Six degrees-of-freedom haptic interaction with fluids,” IEEE Transactions on Visualization and Computer Graphics, Vol. 17(11), pp. 1714-1727.

8) Wang, Z. and Wang, Y., 2014, “Haptic interaction with fluid based on smooth particles and finite elements,” Computational Science and Its Applications – ICCSA 2014, Lecture Notes in Computer Science, Vol. 8579, pp. 808-823.

9) Noyes, A. A. and Whitney, R. W., 1897, “The rate of solution of solid substances in their own solutions,”

Journal of the American Chemical Society, Vol.

19(12), pp. 930-934.

10) Kim, S. and Park, J., 2014, A SPH-based dissolution behavior model for real-time fluid-solid interaction, ACM SIGGRAPH Asia 2014 Posters, p.

(9)

14:1.

11) Iwasaki, K., Dobashi, Y., Yoshimoto, F., and Nishita, T., 2006, “Real-time rendering of point based water surfaces,” Advances in Computer Graphics, CGI 2006, Lecture Notes in Computer Science, Vol.

4035, pp. 102-114.

12) Goswami, P., Schlegel, P., Solenthaler, B., and Pajarola, R., 2010, “Interactive SPH simulation and rendering on the GPU,” Proc. ACM SIGGRAPH/

Eurographics Symposium on Computer Animation, pp. 55-64.

13) Laan, W. J., Green, S., and Sainz, M., 2009,

“Screen space fluid rendering with curvature flow,”

Proc. Symposium on Interactive 3D Graphics and Games, pp. 91-98.

14) Krog, Ø. E. and Elster, A. C., 2012, “Fast GPU-based fluid simulations using SPH,” Applied Parallel and Scientific Computing, PARA 2010, Lecture Notes in Computer Science, Vol. 7134, pp.

98-109.

15) Hatzfeld, C. and Kern, T. A., 2014, Engineering Haptic Devices: A Beginner’s Guide, Springer, London, pp. 84-87.

16) Desbrun, M. and Gascuel, M. P., 1996,

“Smoothed particles: a new paradigm for animating highly deformable bodies,” Proc. Eurographics Workshop on Computer Animation and Simulation, pp. 61-76.

17) Becker, M. and Teschner, M., 2007, “Weakly compressible SPH for free surface flows,” Proc.

ACM SIGGRAPH/Eurographics Symposium on Computer Animation, pp. 209-217.

참조

관련 문서

• 감쇠는 대체로 쿨롱이나 마찰보다 점성 감쇠로 간주되고, 전기적 방 법이나 유체(기체도 포함하는)에 의해 이루어짐. • 점성 감쇠는 속도의 함수이며, 운동에

[r]

ABCD로 구성되는 검사체적이 dt시간 동안 A`B`C`D`검사체적으로 이동하였 다고 가정할 때 두 체적이 갖고 있는 총 에너지는 동일하다...  분류의 직경 d를

[r]

열교환기는 단열이 잘 되어서 주위로의 열손실을 무시할 만하고, 고온 유체로부터의 열전달은 저온 유체로의 열전달과 같다.. 유체

완전히 열면 유체 흐름의 단면적 변 화가 없어서 마찰저항이

– 철성분과 유리가 제거된 후에 공기선별된 폐기물처럼 알루미늄 성분 이 많은 폐기물은 높은 비중을 가진 유체 속에 투입하여 알루미늄 성 분을

자기장 부하 시 유체 흐름의 저항이 증가하는 MR 효과를 가진 유체로 Jacob Rabinow가 최초로 발견, 개발하였으며, Winslow의 ER 효과와