Zderzające się bloki


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).

pokaż/ukryj opis

Zderzenia i zasada zachowania pędu

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 = v1pvśm
v2śm = v2pvś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 = −(v1pvśm) + vśm
v2k = −(v2pvśm) + vśm

Po prostych przekształceniach otrzymamy

  
v1k = −v1p +   2(m1 v1p + m2 v2p)
m1 + m2
(1)
  
v2k = −v2p +   2(m1 v1p + m2 v2p)
m1 + m2
(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 .

Obsługa zderzeń w oprogramowaniu



symulacja zderzenia dwóch kul

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:

  • Wykryj, że wystąpiło zderzenie
  • Ponownie uruchom symulację bardzo blisko (ale tuż przed) momentem zderzenia. Moment zderzenia znajduje się w procesie wyszukiwania binarnego.
  • Obsługuj zderzenie, modyfikując stan symulacji, na przykład ustalając prędkości opisane powyżej.
  • Kontynuuj bieg symulacji aż do aktualnego czasu „teraz”. Jeśli dochodzi do następnych zderzeń, są one obsługiwane w ten sam 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.

Jednostki miary

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ę.

Dostosuj i udostępnij

Istnieje kilka sposobów na odtworzenie określonej konfiguracji eksperymentalnej. Najłatwiej jest kliknąć przycisk „udostępnij”.

  1. Zmodyfikuj symulację, zmieniając parametry, takie jak grawitacja, tłumienie oraz przeciągając obiekty za pomocą myszy.
  2. Kliknij przycisk „udostępnij”. Skopiuj adres URL z okna dialogowego.
  3. Udostępnij adres URL lub zapisz go w pliku tekstowym do późniejszego wykorzystania.

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.

Źródło: