Bryła sztywna - siły


Ta symulacja wykorzystuje Rigid Body Physics Engine aby pokazać obiekty poruszające się w 2 wymiarach po przyłożeniu różnych sił.

Kliknij w pobliżu obiektu, aby za pomocą myszy użyć siły sprężyny. Za pomocą klawiatury można sterować czterema "silnikami". Klawisze S, D, F, E sterują ciągiem na bloku 1. Klawisze J, K, L, I (a także klawisze strzałek) kontrolują ciąg na bloku 2. Możesz także ustawić wielkość grawitacji i tłumienia (oporu). Możesz wybrać od jednego do sześciu obiektów. Masę zielonego obiektu można regulować (pozostałe są ustawione na masę 1.0).

Zależności matematyczne użyte w symulacji są pokazane poniżej. Zagadnienia programistyczne patrz strona źródłowa (en).

pokaż/ukryj opis

Oto obraz rozmieszczenia elementów sterujących klawiatury. Jeśli klawisze nie działają, spróbuj najpierw kliknąć w pobliżu obiektu - spowoduje to, że naciśnięcia klawiszy będą przekazywane do symulacji.


sterowanie ciągiem za pomocą klawiatury

Wykres słupkowy energii

Kliknij pole wyboru „pokaż energię”, aby zobaczyć wykres słupkowy pokazujący energię potencjalną oraz kinetyczną ruchu obrotowego i postępowego.


wykres słupkowy energii

Zobacz paragraf Energia i pęd, aby dowiedzieć się, jak te wielkości są obliczane.

Opis fizyczny ruchu bryły sztywnej


zmienne dotyczące bryły sztywnej

Podamy równania ruchu, ignorując na razie zderzenia. Siły działające na obiekty to

  • grawitacyjna
  • tłumienia
  • ciągu (sterowanie za pomocą klawiatury)
  • sprężystości (sterowanie za pomocą myszy)

Trzy zmienne określają położenie każdego ciała:

  • x = położenie środka masy w poziomie
  • y = położenie środka masy w pionie
  • θ = kąt obrotu

Ponadto każde ciało ma prędkość odpowiadającą każdemu z tych położeń:

  • x' = vx = składowa pozioma prędkości środka masy
  • y' = vy = składowa pionowa prędkości środka masy
  • θ' = ω = prędkość kątowa

Równania ruchu ciała dotyczące siły wypadkowej F = (Fx, Fy) i momentu obrotowego τ nają następującą postać:

Fx = m x''
Fy = m y''
τ = I θ''

gdzie m = masa, a I = moment bezwładności względem środka masy (moment bezwładności jest zdefiniowany w następnym rozdziale). Zauważ, że wskazujemy wektory, takie jak F , za pomocą pogrubienia i kreski nad symbolem.

Siła ciągu


wektor siły ciągu

Teraz budujemy równania ruchu, dodając jedną siłę na raz, zaczynając od siły ciągu. Niech T = (Tx, Ty) będzie wektorem siły ciągu, przyłożonym w punkcie P ciała. Siła ciągu przyspieszy ciało zgodnie z

m x'' = Tx
m y'' = Ty

W tych równaniach nie ma znaczenia, gdzie przyłożona jest siła ciągu. Punkt P może znajdować się w dowolnym miejscu cieła ale ponieważ bryła jest sztywna, przyspiesza całe ciało. Z drugiej strony, dla ruchu obrotowego punkt przyłożenia jest bardzo istotny.

Moment bezwładności jest w ruchu obrotowym odpowiednikiem masy. Jest miarą tego, jak trudno jest obrócić ciało wokół danego punktu (w ruchu 2D). Ponieważ nasze prostokątne ciała obracają się swobodnie wokół swoich środków masy, używamy środka masy jako punktu do obliczania momentu bezwładności. W podręcznikach do fizyki można znaleźć równanie momentu bezwładności cienkiej prostokątnej płyty dla osi obrotu prostopadłej do niej i przechodzącej przez jej środek:

I = m (szerokość2 + wysokość2) ⁄ 12

Niech R = (Rx, Ry) = będzie wektorem łączącym środek masy z punktem P . Moment siły ciągu przyłożonej w punkcie P jest dany przez iloczyn wektorowy

R × T = Rx TyRy Tx

więc mamy

I θ'' = R × T

W rzeczywistości moment obrotowy jest wektorem, ale ponieważ pracujemy w 2 wymiarach, wiemy, że moment obrotowy jest zawsze prostopadły do płaszczyzny, dlatego nie używamy do tego notacji wektorowej. Prawdziwy iloczyn wektorowy jest wektorem. Tak więc powyższy iloczyn wektorowy odpowiada następującym 3 wymiarowym obliczeniom:

(Rx, Ry, 0) × (Tx, Ty, 0) = (0,  0,  Rx TyRy Tx)

Widać, że wynik jest zawsze wektorem prostopadłym do płaszczyzny, z zerowymi składowymi x i y . Ogólnie iloczyn wektorowy jest zdefiniowany jako:

(x, y, z) × (u, v, w) = (y wz v,   −x w + z u,   x vy u)

Siła sprężystości

Siła sprężystości w symulacji działa wzdłuż wektora, od punktu P ciała do pozycji kursora myszy, oznaczonego symbolem L . Siła sprężystości to B = (Bx, By) = s L gdzie s jest stałą sprężystości. Traktujemy tę siłę identycznie z siłą ciągu, więc dodajemy ją, aby uzyskać następujące równania.

m x'' = Tx + Bx
m y'' = Ty + By
I θ'' = R×T + R×B

Siła grawitacji

Niech g = przyspieszenie grawitacyjne. Grawitacja powoduje działanie siły przyłożonej w środku masy m g w kierunku pionowym, prowadząc do

m y'' = Ty + Bym g

Ponieważ grawitacja działa na wszystkie punkty ciała, nie daje żadnego momentu obrotowego (względem naszej osi obrotu).

Siła tłumienia

Tłumienie (opór) powoduje działanie siły przeciwnej do kierunku ruchu. Im szybszy ruch, tym większe opory. Wartość siły tłumiącej jest więc proporcjonalna do szybkości. Niech współczynnikiem proporcjonalności będzie k = stała tłumienia. Dodanie tego do naszych równań ruchu daje

   m x'' = Tx + Bxk x' (1)
   m y'' = Ty + Bym gk y' (2)
   I θ'' = R×T + R×Bk θ' (3)

W bardziej realistycznej symulacji mogą występować różne stałe tłumienia dla ruchu obrotowego i postępowego. Ale tutaj używamy tej samej stałej dla obu.

Równania (1-3) to równania ruchu dla jednego z naszych prostokątnych ciał. Dopóki nie dojdzie do kolizji, obowiązują te równania. Oto podsumowanie niektórych zmiennych:

Równania różniczkowe

W powyższym paragrafie pokazano równania ruchu ciał podlegających działaniu sił grawitacji, tłumienia, ciągu i sprężystości. Aby użyć metody Rungego Kutty rozwiązywania układu równań różniczkowych, musimy przekonwertować powyższe trzy równania drugiego rzędu na sześć równań pierwszego rzędu. Wprowadzamy następujące zmienne

Wtedy równania (1-3) dają się zapisać jako 6 równań różniczkowych pierwszego rzędu

x' = vx
y' = vy
θ' = ω
vx' = (Tx + Bxk vx) ⁄ m
vy' = (Ty + Bym gk vy) ⁄ m
ω' = (R × T + R × Bk ω) ⁄ I

Te równania są teraz w postaci potrzebnej do rozwiązania numerycznego za pomocą metody Rungego Kutty. Każdy prostokąt ma swój własny zestaw 6 zmiennych (3 dotyczą położenia x, y, θ , a 3 prędkości vx, vy, ω ) oraz 6 równań różniczkowych pierwszego rzędu.

Jak obliczyć energię i pęd

W tym paragrafie wyjaśniono, w jaki sposób obliczana jest energia i pęd obiektów. Zobacz opis wykresu słupkowego energii, jak obserwować te wielkości w symulacji.

Jeśli nie występują straty energii w wyniku oporu (tłumienie = 0 ) ani podczas zderzeń (współczynnik restytucji = 1 ), energia układu nie powinna się zmieniać.

Zderzenia między obiektami nie powinny zmieniać momentu pędu. Jednak zderzenie ze ścianą nie zachowa momentu pędu, ponieważ super masywne ściany nie są uwzględniane w obliczeniach momentu pędu obiektów.

Energia grawitacyjna jest dana wzorem m g h gdzie h = wysokość środka masy obiektu nad podłogą.

Energia kinetyczna ruchu postępowego wynosi 12 m v2 gdzie v jest wektorem prędkości środka masy obiektu. Zauważ, że do obliczenia kwadratu wektora prędkości używamy iloczynu wektorowego.

Energia kinetyczna ruchu obrotowego to 1/2 I ω2 , gdzie I jest momentem bezwładności, a ω jest prędkością kątową.

Składowa pozioma pędu jest dana przez m vx , a pionowa przez m vy .

Moment pędu mierzy się względem określonej osi obrotu, na przykład przechodzącej przez początek układu współrzędnych. Dany jest przez:

I ω k + m r × v

gdzie r jest wektorem łączącym początek układu ze środkiem masy obiektu. Wektor k to wersor osi z , który wskazuje przed płaszczyznę x-y . Widać, że moment pędu ma dwa składniki: składnik związany z obrotem I ω k oraz składnik związany z obiegiem wokół początku układu współrzędnych, dany przez iloczyn wektorowy m r × v .

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 lutym 2003 roku.

Źródło: