Particles Canvas

HTML canvasSymulacja 3DFizyka

Particles Canvas to dydaktyczne laboratorium sił 3D renderowane w Canvas 2D, z autorską fizyką, kolizjami, kontrolą kamery, wizualizacją pól, sondami, pomiarami i konfigurowalnymi układami cząsteczek.

Opis

Symulacja pokazuje modele sił w sposób widoczny i regulowany. Fizyka jest jawna i ograniczona, więc użytkownik może włączyć jedną siłę, zmienić stałe, wykonać krok czasu, obejrzeć wektory i omówić zachowanie bez udawania, że to rzeczywisty symulator atomowy lub molekularny.

Notatki z implementacji

Symulacja działa w pętli fixed-step semi-implicit Euler z limitem przerw między klatkami, clampami przyspieszenia i prędkości, zmiękczonymi równaniami sił, spatial-grid dla sił par, obsługą granic i kolizji.

Model, renderer, hooki i komponenty są rozdzielone w obrębie funkcji symulacji, dzięki czemu fizyka, projekcja, kontrolki, zdarzenia canvasu i stan UI pozostają osobno.

Renderer projektuje świat 3D do Canvas 2D z osiami, siatką, głębią, cząsteczkami, wektorami, śladami, FPS, danymi sondy i opcjonalną mapą potencjału.

Najważniejsze punkty

Projektowane do intuicji sił, nie do symulacji molekularnej, kwantowej ani zgodnej z jednostkami SI.

Zawiera presety dla przyspieszenia, pól elektrycznych i magnetycznych, sprężyn, oporu, wyporu, par ładunków, Lennard-Jonesa i scenariuszy kolizji.

Pokryte lintem, typecheckiem, testami Vitest dla modelu/renderera i sprawdzeniem buildu Next.

Uruchom symulację w przeglądarce, a potem zajrzyj do źródeł, żeby zobaczyć podział między modelem fizyki, rendererem i stanem interakcji.