Opis
Graliście kiedyś w The Incredible Machine [5]?
Zapraszam was do zespołu który spróbuje napisać coś podobnego, tylko zamiast dynamiki newtonowskiej będziemy symulować (wizualizować) kinematykę relatywistyczną.
Podczas warsztatów spróbujemy stworzyć program (środowisko - grę) symulujący zachowanie się ciał poruszających się z prędkościami zbliżonymi do prędkości światła. Nie jest to proste! Szczególna teoria względności wprowadza mnóstwo nieintuicyjnych efektów (np. [1] ;)), które będziemy mogli zobaczyć na własne oczy. Ambitnym celem jest zbudowanie takiego programu, który poprzez interakcje będzie rozwijał w użytkowniku poprawną intuicję w szczególnej teorii względności. Oprócz mechaniki, będziemy więc musieli popracować nad przyjaznym dla użytkownika interfejsem.
Każdy kto chce wziąć udział w warsztatach powinien zapoznać się ze świetnym skryptem dr Andrzeja Dragana [2].
Pierwsza wersja programu powstała we Flashu (Action Script 2.0). Zainteresowanym możemy ją podesłać mailowo. Jednak ze względu na to że Adobe Flash to zamknięte, komercyjne środowisko spróbujemy nasz program napisać w Javie.
Projekt ma potencjał, gdyż w Sieci (= na Świecie) nie ma jeszcze takiego środowiska czy gry! Jest tylko jedna statyczna wycieczka 3D w relatywistycznej przestrzeni [6] (warto się przelecieć) i asteroidy [7]. Ostateczny kształt (czy to będzie coś a'la Increadible Machine, czy może piaskownica, wyścigi albo strzelanka) będzie zależał od Was.
Linki
Zadania kwalifikacyjne
Rozwiązania kierować na adres moc.liamg|ladgimp#moc.liamg|ladgimp. Pytania programistyczno-graficzno-interfejsowe proszę wysyłać na moc.liamg|ikswobyzrg.j.m#moc.liamg|ikswobyzrg.j.m.
W zamierzeniu poniższe zadania są ambitne. Jeśli rozwiążesz tylko część - też wyślij; jeśli masz wątpliwości - pytaj.
Zadanie 1
Napisać w Javie, Flashu lub czymkolwiek innym środowisko, w którym można:
- rysować prostokąty,
- skalować i obracać pojedyncze prostokąty,
- skalować i obracać całość,
- (dodatkowe) ustawić prostokątom prędkości i dodać czas,
- (dodatkowe) po zderzeniu zmieniać kolor prostokątów.
Zadanie może okazać się czasochłonne, ale analogiczne operacje będą potrzebne w docelowej symulacji. Doświadczenie, jakie zdobędziecie pisząc ów program, przyda się w projekcie.
Jeśli nie umiecie Javy (lub czujecie się w niej niepewnie), te zadanie może posłużyć wam jako nauka w boju.
Przypomnienie
Transformacja Lorentza do układu poruszającego się z prędkością $v$ wzdłuż $x$, jest zwana pchnięciem wzdłuż $x$ i ma postać
(1)gdzie $c$ - prędkość światła, $\beta=v/c$, $\gamma=1/\sqrt{1-\beta^2}$.
Zadanie 2
Mamy obiekt, poruszający się ruchem jednostajnym prostoliniowym w płaszczyźnie $xy$, t.j.
(2)Znajdź $x'(t')$, $y'(t')$ i $z'(t')$ dla obserwatora z układu inercjalnego poruszającego się z prędkością $v$ wzdłuż $x$.
Zadanie 3
Podaj transformatę Lorentza przy przejściu do układu poruszającego się z prędkością $v$ pod kątem $45^\circ$ pomiędzy osiami $x$ i $y$ (t.j. prędkością $(v/\sqrt{2}, v/\sqrt{2},0)$).
Zadanie 4
Prędkości sumują się inaczej w relatywistyce niż mechanice newtonowskiej. Składanie ich ma znacznie więcej ciekawych własności, niż "suma nigdy nie przekroczy prędkości światła". W skrypcie Dragana [2] widnieje wzór na dodawanie prędkości, również gdy nie są równoległe.
Przyjmijmy, że obiekt B porusza się względem A z prędkością $(v,0,0)$, a C względem B - z $(0,u,0)$. Ich "suma" (kolejność złożenia ma znacznie) to $\vec{w}$.
Startujemy w układzie związanym z obiektem A. Czy otrzymamy ten sam układ współrzędnych
- przechodząc kolejno pchnięciami $A \rightarrow B \rightarrow C$,
- przechodząc jednym pchnięciem $A \rightarrow C$?
Wymagania
Zdolnościowe
Hmm… jeśli rozwiążesz zadania, znaczy że je spełniasz z nawiązką. :)
Sprzętowe
Na same warsztaty warto przywieźć laptopa (choć jeśli nie masz, nie powinno być problemu). W każdym razie daj znać, z jakim sprzętem pojawisz się na wWwV.
Czas/Mana/Kryształki
Z uwagi na dylatacje czasu, SSTW zjadają 2 sloty warsztatowe. Poważniej - skoro to nie są wykłady z ćwiczeniami, tylko projekt - warto poświęć trochę więcej czasu, by zobaczyć dobre rezultaty.
Prowadzący / Kontakt
- Marcin Grzybowski moc.liamg|ikswobyzrg.j.m#moc.liamg|ikswobyzrg.j.m
- Piotr Migdał moc.liamg|ladgimp#moc.liamg|ladgimp
Gorąco zachęcamy do zadawania pytań!