Symulacja pokazuje dwa bloki poruszające się po poziomym torze i zderzające się ze sobą i ze ścianami. Jedna sprężyna jest przymocowana do ściany za pomocą sprężyny. Spróbuj zmieniać masę bloków, aby sprawdzić, czy zderzenia przebiegają prawidłowo.
Możesz zmienić parametry, takie jak masa, sztywność sprężyny i tarcie (tłumienie). Możesz przeciągnąć dowolny blok za pomocą myszy, aby zmienić położenia początkowe.
Zależności matematyczne użyte w symulacji są pokazane poniżej. Zagadnienia programistyczne patrz strona źródłowa (en).
W sprężynie i bloku po lewej użyto tego samego modelu, co w symulacji pojedynczej sprężyny. W przypadku zderzenia ze ścianą po prostu zmieniamy zwrot prędkości. W przypadku zderzenia poruszających się bloków, aby określić nowe prędkości, stosujemy zasadę zachowania pędu.
Wprowadzamy następujące zmienne:
Wyznaczamy prędkość środka masy układu dwóch bloków.
vśm = | m1 v1p + m2 v2p |
m1 + m2 |
Następnie znajdujemy prędkość każdego bloku w układzie współrzędnych związanych ze środkiem masy.
v1śm = v1p − vśm
v2śm = v2p − vśm
Teraz odbijamy (zmieniamy zwrot) każdą prędkość w tym układzie odniesienia środka masy i transformujemy z powrotem do stacjonarnego układu współrzędnych.
v1k = −(v1p − vśm) + vśm
v2k = −(v2p − vśm) + vśm
Po prostych przekształceniach otrzymamy
| (1) |
| (2) |
W celu sprawdzenia, możemy obliczyć pędy przed i po zderzeniu. Powinny być takie same.
pp = m1 v1p + m2 v2p
pk = m1 v1k + m2 v2k
Jeśli rozwiniemy pk wykorzystując równania (1), (2) i uprościmy, to zobaczymy, że zgodnie z oczekiwaniami pk = pp .
Symulacje na komputerze są dyskretne w tym sensie, że czas postępuje skokowo w „kawałkach”, a nie płynnie. Na rysunku widzimy obliczony stan układu po czasie t = 10.0, a następnie po czasie t = 10.1 . Ale zderzenie zaszło gdzieś pomiędzy. W momencie wykrycia zderzenia obiekty już nakładają się na siebie -- stan fizycznie niemożliwy.
Symulacje myPhysicsLab rozwiązują ten problem zderzeń w następujący sposób:
Jeśli nie uruchamiasz symulacji w czasie rzeczywistym, możesz poświęcić tyle czasu, ile chcesz, aby uzyskać jak największą dokładność. Ale w przypadku symulacji w czasie rzeczywistym może być konieczne zaakceptowanie mniejszej dokładności lub użycie bardziej wyszukanego programu. Na przykład zamiast metody prób i błędów do wyznaczania momentu zderzenia, można spróbować przewidzieć ten moment na podstawie stanu układu.
Inne przykłady symulacji zderzeń to Kolejka górska z lotem, Cząsteczka 2 i Bryła sztywna - zderzenia.
Symulacje myPhysicsLab nie mają określonych jednostek miary, takich jak metry, kilogramy, sekundy. Jednostki są bezwymiarowe, mogą być interpretowane, jak chcesz, ale muszą być spójne w symulacji.
Na przykład, jeśli traktujemy jednostkę odległości jako jeden metr i jednostkę czasu jako jedną sekundę, to jednostka prędkości musi wynosić jeden metr/sekundę.
Istnieje kilka sposobów na odtworzenie określonej konfiguracji eksperymentalnej. Najłatwiej jest kliknąć przycisk „udostępnij”.
Gdy odbiorca kliknie adres URL, EasyScript osadzony w tym adresie powieli warunki, które zostały ustawione.
Zobacz Dostosowywanie symulacji myPhysicsLab (en) jak dodatkowo programować symulacje z bezpośrednim wykorzystaniem JavaScript lub EasyScript.
Opublikowano po raz pierwszy w kwietniu 2001 roku.