1 / 36

Adaptively Sampled Particle Fluids

Adaptively Sampled Particle Fluids. SIGGRAPH 2007. Bart Adams Stanford University / KU Leuven Richard Keiser LiberoVision Inc. / ETH Zurich Mark Pauly ETH Zurich Leonidas J. Guibas Stanford University. 그래픽스 연구실 하래주. Abstract. 파티클 기반의 유체 시뮬레이션을 위한 adaptive sampling 알고리즘을 제안함

ludlow
Download Presentation

Adaptively Sampled Particle Fluids

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Adaptively Sampled Particle Fluids SIGGRAPH 2007 Bart Adams Stanford University / KU Leuven Richard Keiser LiberoVision Inc. / ETH Zurich Mark Pauly ETH Zurich Leonidas J. Guibas Stanford University 그래픽스 연구실 하래주

  2. Abstract • 파티클 기반의 유체 시뮬레이션을 위한 adaptive sampling 알고리즘을 제안함 • 기하학적으로 복잡한 지역에 계산 자원을 집중할 수 있게 해주는 local feature size를 소개함 • 파티클과 표면 사이의 거리를 근사하는 방식의 유체 표면 정의를 제안함 • 파티클resampling에 안정적으로 동작 • 부드럽고 평평한 표면 표현에 적합 • Adaptive sampling과 거리 기반 표면 재생성 알고리즘은 시간과 메모리 효율을 크게 향상시킴

  3. Introduction- Physics-Based Fluid Simulation • 물리 기반 유체 시뮬레이션은 영화나 실시간 게임에 사용됨 • 물체와 상호작용을 포함하는 복잡한 유체 애니메이션 • Rigid object [Carlson et al.2004; Klingner et al. 2006] • Deformable object [Guendelman et al.2005; Feldman et al. 2005] • 계산 복잡도를 낮추기 위한 연구 • Octree[Losasso et al. 2004] • Coupled 2D/3D simulations [Irving et al. 2006] • Dynamic unstructured tetrahedral meshes [Klingner et al. 2006]

  4. Introduction- Mesh Free Method • Eulerian grid의 대안 방법인 Mesh free method • 유체를 파티클로sampling하여 governing equation을 lagrangian방법으로 계산 [Desbrun and Cani 1996; Muller et al. 2003; Kipfer and Westermann 2006] • 많은 작은 물방울 애니메이션이나 아주 크고 개방적인 시뮬레이션에서 격자 기반 방식의 실용적인 대안으로 되어 가고 있음 • Eulerian방식을 위한 adaptive 알고리즘과 데이터 구조는 많은 연구가 이루어진 반면에 파티클 기반 유체 애니메이션을 위한 연구는 미미함

  5. Introduction- Adaptively Sampled Particle Fluid • 계산비용을 크게 줄여 더욱 복잡하고 멋지게 시뮬레이션하는adaptivelysampled particle fluid 알고리즘을 제안함 • 기하학적으로 복잡하지 않은 곳은 적은 파티클을 사용하는 뛰어난 sampling 조건을 소개함 • 우리 방법의 결정적인요소는 재생성 된 표면의 일시적인 비연속성을 피하는 새로운 표면 모델임 • 기존 표면 재생성 방법은 유체 표면 근처에서 파티클resampling에 민감함 • 위 문제를 피하기 위해서 파티클과 표면 사이의 거리를 근사하는 방식의 표면을 정의함

  6. Introduction-Main Contribution • Featuresize based volumesampling condition • 표면 재생성을 위한 기존의 표면 sampling 조건 [Amenta et al. 1998]을 확장 • Local feature size가 큰 지역은 파티클 개수를 줄일 수 있음 • 기하학적으로 복잡한 지역에 계산 자원을 집중 할 수 있음 • Lagrangiandistance based surface model • 파티클과 표면 사이의 거리를 근사하여 구한 implicit function의 zero level set으로 표면을 정의함 • 평평한 표면과 particle resampling을 우수하게 처리함

  7. Background- Fluid Simulation for Computer Animation • Foster and Metaxas[1996;1997] • Eulerian격자에서 finitedifference를 사용하여 Navier-Stokes equation을 풀어냄 • Stam[1999] • 큰 타임스텝을 허용하는 stable semi-Lagrangian기법과 implicit solver를 소개함 • 최근에는 더욱 복잡한 시뮬레이션을 위해서 효율성을 증가시키는 연구에 초점을 맞추고 있음 • Octree[Losasso et al. 2004; Shi and Yu 2004;Hong and Kim 2005] • Coupled 2D & 3D simulation [Irving et al. 2006; Thurey et al. 2006] • Model reduction [Treuille et al. 2006] • Dynamic non-uniform mesh refinement[Klingner et al. 2006]

  8. Background-Particle-Based Method • 최근에Eulerian방식의 대안으로 자주 쓰임 • [Premoze et al. 2003; Muller et al. 2003; Clavet et al. 2005; Kipfer and Westermann 2006] • 고정된 수의 파티클을 더욱 정확하게 시뮬레이션할 수 있는 interaction kernel • [Owen et al. 1998; Liu et al. 2006] • 필요에 따라서 파티클 개수를 바꿔가면서 시뮬레이션 • [Desbrun and Cani 1999; Kitsionas and Whitworth 2002; Lastiwka et al. 2005] • [Lastiwka et al. 2005]는 속도의 그라디언트가 큰 지역에서 많은 파티클을 사용함

  9. Background-Particle Resampling • Sampling은기하학적 복잡성에 영향을 받아야 함 • 작은 스플래쉬나 얇은 막은 조밀한 파티클을 사용하고 두껍고 평평한 유체 표면에서는 큰 파티클을 사용 • Featuresize sampling 기준에 기반을 둔 adapt파티클 resolution을 제안함 • Feature size sampling criterion [Amenta et al. 1998; Kolluri et al. 2004] • Adaptive tetrahedral mesh generation [Alliez et al. 2005]

  10. Background-Surface Definition • Zhu and Bridson [2005]의방법에 기반을 두고 있음 • Blobbyness를 줄인 방법 • 파티클과 표면 사이의 거리를 사용하는 방법으로 확장 • 파티클resampling을 잘 처리하고 표면을 부드럽게 함 • 거리 정보는 이전 타임스텝의파티클로 계산되고현재 타임스텝으로 가지고 감 • Semi-Lagrangian contouring method [Bargteil et al. 2006]와 유사 • 동적으로 변하는 파티클 부피를 위한 표면 모델[Desbrun and Cani 1998] • 고정된정규격자로 경계선을 추적 • 다양한 밀도를 sampling하는 큰 시뮬레이션에는 부적합

  11. Physics Framework • 프레임워크는 SPH(Smoothed Particle Hydrodynamics)에기반을 둠 • SPH에서 유체 부피는 파티클로 이산화 되고 Navier-Stokes equation에서 simulation node로 사용 • 파티클 는 위치 ,support radius , 질량 로정의 • 파티클은 레벨 별로 속성 값이 다름 • 가장 작은 레벨 0은 질량 m과 , support radius r을가짐 • 레벨에 따라서 , 값을 가짐 • 안쪽 파티클의 평균 공간은 로 초기화 ( h=2.5)

  12. Physics Framework (cont’d) • 이면 는 의 이웃 • K-d tree를 통해 이웃을 효과적으로 계산 • Symmetric fluid forces • , , , • 는radially symmetric kernelfunction • 뉴턴의 작용 반작용 법칙을 따름

  13. FeatureAdaptive Sampling • 관심 있는 지역을 adaptive particle sampling을 사용하여 동적으로 계산 자원을 할당하는 것이 목적 • 얇은 흐름이나 작은 물방울 -> 많은 파티클 • 깊은 곳이나 두껍고 평평한 표면 -> 적은 파티클 • Extendedlocal feature size는 정확하게 이러한 것을 잡아 낼 수 있음 • View-dependent 샘플링도 추가적으로 사용

  14. ExtendedLocal Feature Size • Medial axis • 유체 부피의 중심 축 • Local feature size • Medial axis와의 최소 거리 • Extended local feature size (a) distance field & medial axis (b) medial axis로 근사된파티클 (c) local feature size

  15. ApproximateMedial Axis Construction • Medial axis 근처에 있는 파티클을 판별 • 인접한 두 파티클이medial axis를 사이에 둘 조건 • 표면 근처에서 잘못된 판별을 막기 위한 조건 • 이웃 50%이상이 medial axis근처인 것만 선택 • 이웃이 없는 파티클은medial axis로간주 • lfs는 medialaxis particle과의 최소거리로 구함

  16. Extended Local Feature Size Propagation • Fast marching algorithm 사용 1. 표면 근처 파티클의elfs를 초기화한 후 우선순위 큐에 elfs가 증가되는 순서로 정렬해서 넣고 yi를yi’에 저장 2. 다른 파티클의elfs 는 무한대로 설정 3. 큐에서 elfs가 가장 작은 파티클을 선택하고그 파티클의yi’를이용하여 이웃의 elfs를 구함 4. 새로 구한 이웃의 elfs가 기존 값보다 작으면 업데이트하고 큐에 push 5. 큐에서 다음 파티클을 꺼내 반복

  17. Adaptive Sampling • 파티클은일 때 나눠지고 일 때 합쳐짐 • 진동을 막기 위해서 α는 β보다 작아야함(α=2,β=3) • 나눠지고 합쳐지는 것은 간단한 방법을 사용 • 안정성을 증가시키고 균일한 파티클 분포를 유지시키기 위해서 새로 생성되는 파티클의 위치를 최적화 함

  18. Splitting • 레벨이 l인 파티클 pi는 레벨이 l-1인 두개의 파티클pj ,pk로 나누어짐 • pj , pk는 pi 에서 d = rj/(2h)= rk/(2h)만큼 떨어져대칭적으로 위치함 • pi와주위 파티클에 반지름 d의 구를 생성하고 겹쳐지지 않는 valid region을 찾아냄 • Valid region이 없으면 d를 점차 작게 하여 찾음 • pj , pk의속도는 pi의 것을 사용

  19. Merging • pi에 같은 레벨의 파티클 pj가 주위에 있으면 합쳐질 수 있음 • 새로 생성되는 파티클pk은 레벨lk=li+1=lj+1이고 위치는 xk=(xi+xj)/2임 • 단, rk/(2h) 거리 내에 다른 파티클이 없어야 함 • 위의 조건이 만족되지 않으면 합쳐지지 못 함 • pk의 속도는 pi,pj의 평균 속도를 사용

  20. AdditionalSampling Conditions • View frustum에서의 거리 d(vf) • Splitting : • Merging : • 물리에 기반을 둔 샘플링 조건을 만들어 볼 수 있음 • 빠르게 소용돌이 치는 지역에서 샘플링 비율 상승 • 정적이고 돌지 않는 곳은 샘플링 비율 하락 • 기하학적(geometric)과 물리적인 복잡성은 높은 연관성이 있음 • 물리적으로 복잡하면 기하학적으로도 복잡함

  21. DistanceBased Surface Tracking-Surface Definition • 시각적인 artifact(popping, blobbyness)들을 피하기 위해 파티클과 표면의 거리를 근사하는 방법 사용 • 이전 타임스텝에서 구한 파티클과 표면 사이의 거리 di를 사용하여 level set함수 정의 • 평평한표면을표현하는데 적절한 정의임

  22. DistanceBased Surface Tracking-Surface Definition(cont’d) • 파티클pi가 평평한 표면 위에 있다고 가정 • 평면식 • 가 성립 • 평면 방정식의 선형성과 weight function의 단위 분할로 인해 평균 위치 a(x)와 거리 d(x)도 성립 • 이므로 평평한 표면을 잘 정의 함

  23. Redistancing • 파티클과표면사이의 거리 di는 타임스텝마다 갱신됨 • 표면 근처의 파티클은 표면으로 프로젝트시켜d를 갱신하고 그 값을 안쪽으로 전파시켜 나머지 파티클도 갱신함

  24. Particleto Surface Projection • 표면 점은 표면 근처의 파티클을zero level set으로 프로젝션시켜 계산할 수 있음 • 에서 까지 간단한 binary search를 수행하여 계산함 • 한번 binary search를 수행하고 나온 level set 값 두 개를 linear interpolation하여 최종 결과를 얻음 • 표면과의 거리 di가 ri보다 작으면 pi에footpointyi를 저장함 • 프로젝션결과는 yi에 위치하고 의 방향을 가진 disk의집합

  25. DistancePropagation • 4.1절의 local feature size propagation과 비슷함 1. 모든 프로젝션된파티클을 우선순위 큐에 거리를 증가시키는 순서로 넣음 2. 다른 파티클들은d를 무한대로 설정 3. 큐에서 파티클 하나를 뽑아 모든 이웃에 대해서 표면까지의 거리를 계산함 4. 거리가 저장된 거리보다 작다면 파티클은 갱신되고 큐에 추가됨 5. 3-4를 큐에 파티클이 없어질 때까지 수행함 • 이 단계에서 파티클pi 에 footpointyi와 거리 di가 저장됨 • 이 값은 현재 타임스텝에서 lfs를 계산하는데 쓰이고 다음스텝에서 표면 재생성에 쓰이게 됨

  26. Comparisonto Alternative Surface Definition • 가장 많이 쓰이는 방식은 blobbies [Blinn 1982] • 표면이 파티클의iso-level과 supportradii에 크게 의존하기 때문에 자연스럽지 못한 두꺼운 유체가 나타남 • 울퉁불퉁한 형태가 자주 나타나기 때문에 평평한 표면에 부적합 • 파티클이 늘어나고 줄어들 때 불연속적인 모습을 보임 • [Zhu andbridson2005]은 위의 제약을 완화시킴 • Equation 7의 d를 particleradii의 절반으로 사용 • Blobbyness는 감소시켰지만 평평한 표면을 잘 나타내지 못하고 particle resampling시에 표면이 변함 • 우리의 방식은 particle resampling에도 평평한 표면을 잘 나타내고 있음

  27. Comparisonto Alternative Surface Definition (cont’d) [Zhu andbridson2005] Our method

  28. Implementation • 이웃을 찾기 위해 타임스텝마다 한번씩 k-d tree를 재생성 • Resampling때 k-d tree의 갱신을 피하기 위해서 새로 생성되는 파티클과 지워진 파티클에 분리된 데이터 구조를 사용함 • 장애물은 adaptively sampled distance fields(ADFs)를 사용하여 표현 • 렌더링은marching cubes로 메쉬를추출한 뒤에 POV-Ray를 사용함

  29. Implementation (cont’d) • 실제시뮬레이션 단계 1. 파티클의 이웃을 계산 2. 장애물 충돌검사와 SPH를 이용한 파티클force를 구함 3. 파티클과 표면 사이의 거리를 갱신(5.2절) 4. Extended local feature size계산(4.1절) 5. 정해진 규칙에 따라서 파티클을 나누거나 합침 6. 위치는 explicit leap-frog scheme을 사용하여 적분함 • Adaptive time stepping을사용하면 속도를 향상시킬 수 있음

  30. Result • 3.2GHz Intel pentium D CPU, 3.5GB memory

  31. Result – Flooding Valley • 평균 124k개 파티클 • 기존 방식보다 7배 빨라짐

  32. Result – desk toy 2D • 평균 5k개 파티클 Single resolution simulation Adaptive simulation

  33. Result – Utah teapot • 평균 31k개 파티클 • 9배 빨라짐

  34. Result - Armadillos • 평균 140k 파티클 • Single resolution에서는 4.5배의 파티클이 더 필요함

  35. Discussion • 기존의 다른 연구와 비교해 보면 적은 수의 파티클에서오히려 더 느린 결과를 나타냄 • K-d tree를 재생성하는overhead가 큼 • Adaptive sampling은 이미 성기게 이산화된 파티클에서는 성능이 줄어듦 • 하지만 많은 수의 파티클에서는 훨씬 잘 작동함 • 시뮬레이션 시간 뿐만 아니라 메모리 사용량도 줄임

  36. Conclusions • 파티클을위한 adaptive sampling 알고리즘을 제안함 • Extended local feature size에 기반을 두고 있는 파티클 resampling은 파티클의 개수를 줄여 시뮬레이션 시간을 단축시킴 • 거리에 기반을 둔 표면 모델은 부드럽고 안정적인 유체 표면을 생성함 • Adaptivetime stepping을 사용하고 주요 bottleneck인 이웃 검색을 최적화하여 multiresolution framework의 속도를 향상시킬 계획을 가지고 있음

More Related