File size: 1,824 Bytes
76f24fe
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
---

title: Gaussian Physics
emoji: "🧊"
colorFrom: blue
colorTo: green
sdk: static
pinned: false
license: apache-2.0
---


# Gaussian Physics — the kernels are the simulation

A 3D Gaussian Splat is usually something you look at. Here the gaussian kernels
are the *particles of a continuum simulation*, so the same representation that
renders the object also carries its physics — no mesh, no tetrahedralisation, no
round trip between two representations.

Each kernel holds a deformation gradient **F**, and its covariance is transported
by it:

    Σ′ = F Σ Fᵀ


That single line is why a squashed region renders as flattened kernels rather than
as kernels that merely moved somewhere else.

## What is running

- **MLS-MPM** transfers (Hu et al. 2018): particle → grid, solve, grid → particle.
  The APIC affine velocity doubles as the velocity gradient, so no separate
  gradient estimation is needed.
- **Fixed corotated elasticity** with a polar decomposition per kernel per substep.
- **Six materials.** Foam, jelly and plasticine differ by stiffness and yield;
  snow and sand get their character from clamping the stretch — which is also what
  makes them stop springing back. Drop a jelly and it recovers; drop sand and it
  stays compacted.

Everything runs on the CPU in your browser. No GPU, no server, nothing uploaded.

## Provenance

Independent implementation of the method described in
[PhysGaussian](https://arxiv.org/abs/2311.12198) (arXiv 2311.12198). That
repository ships **no licence**, so no code from it is used here, and the test
objects are generated procedurally rather than taken from any splat dataset —
published splat reconstructions carry research-only or unstated terms.

Built by [VIDraft](https://huggingface.co/VIDraft).