[ Fluid Simulation ] 01. 유체 시뮬레이션 (Fluid Simulation)
·
물리 기반 시뮬레이션/Fluid Simulation
💧 유체 시뮬레이션(Fluid Simulation)컴퓨터 그래픽스에서 유체 시뮬레이션은 실제 물리 법칙을 기반으로 물, 연기, 기체 등의 유체 움직임을 시각적으로 자연스럽게 표현하는 기술이다.이 과정은 주로 나비에-스토크스(Navier–Stokes) 방정식을 통해 유체의 운동을 수치적으로 계산하여 이루어진다. 이때, 대표적인 두 가지 방법이 있다:1. 입자 기반 방법 (Lagrangian Particle Method)2. 그리드 기반 방법 (Eulerian Grid Method)1️⃣ 입자 기반 방법 (Lagrangian)대표적인 예: SPH (Smoothed Particle Hydrodynamics)유체를 연속적인 공간으로 보지 않고 다수의 입자(Particle)로 표현속도, 압력, 밀도 등 물리량을..
[ Cloth Simulation & Collision ] 07. K-D tree를 활용한 SDF 생성 최적화
·
물리 기반 시뮬레이션/Cloth Simulation
📌 K-D tree를 활용한 SDF 생성 최적화✅ 앞서 다룬 SDF 생성은 각 면을 순회하면서 주변 복셀에 대한 최단 거리를 모두 계산하기 때문에 중복 계산이 발생한다. ➡️ 이를 해결하기 위해 K-D Tree를 사용하여, 각 복셀에 대해 가장 가까운 삼각형 메시를 찾아 최단 거리를 계산할 수 있다.🎄 K-D treeK-D tree는 k차원 공간의 점들을 구조화하는 공간 분할 자료 구조이다.K-D tree의 내용은 다음 두 가지로 나눌 수 있다:1. K-D tree 구성2. K-D tree 순회⚙️ K-D tree 구성🔻 root 노드 생성먼저, tree 구조에 맞게 root 노드 생성을 진행한다.➡️ 이때 다음 그림과 같이 전체 메시를 포함하는 Boundary와 polygon을 초기화 한다. 🧒..
[ Cloth Simulation & Collision ] 06. SDF 생성
·
물리 기반 시뮬레이션/Cloth Simulation
🔳 SDF 생성✅ 그동안 다뤘던 충돌처리는 방정식으로 표현 가능한 SDF에 대한 방식이었다. ❗ 하지만, 방정식으로 표현 가능한 SDF는 매우 한정적이기 때문에 임의의 삼각형 메시에 대해 SDF를 생성하는 것의 필요하다. 이는 크게 세 가지 단계를 거쳐 진행한다:1. 삼각형-정점 부호 계산 과정2. 삼각형-정점 거리 계산 과정3. SDF 생성➕ 삼각형-정점 부호 계산 과정SDF는 부호화된 거리 영역이기 때문에, 주어진 정점이 임의의 메시에 대해 내부인지 외부인지 부호로 판단할 수 있어야 한다. ➡️ 이는 다음과 같이 삼각형이 면 위의 점 $q$ 와 법선 벡터 $n$ 을 가질 때, 내적을 통해 부호를 판단 가능하다:그러나, 가장 가까운 점 $q$ 가 정점(Vertex)이나 가장자리(Edge)에 위치하면 ..
[ Cloth Simulation & Collision ] 05. Local Optimization for SDF
·
물리 기반 시뮬레이션/Cloth Simulation
⚙️ Loal Optimization for SDF(Signed Distance Field)✅ NVIDIA의 Local Optimization for Robust Signed Distance Field Collision 논문은 SDF를 이용한 충돌처리에서 삼각형 Cloth에 대해 Face와 Edge 사이의 접촉을 연속적인 방식으로 생성하는 방법을 다룬다.➡️ 이는 이산화된 위치에서 접촉을 생성하던 이전 접근법과는 다르게, 실제 정점이 존재하지 않는 Face와 Edge 내부에 접촉을 생성하기 때문에, 면에 대한 충돌처리가 가능해진다.🎯 이때, Projected Gradient Descent와 Frank-Wolfe 방법과 같은 로컬 최적화를 위한 수치 해석적 방법을 사용한다. 📏 Projected Gra..