Monthly Archive: Czerwiec 2015

Przemyślenia dotyczące zakrzywiania światła

Doznałem wczoraj oświecenia jak usunąć artefakt z symulatora czarnej dziury.

Problem

artifact

W obecnym symulatorze czarnej dziury istnieje jeden brzydki aspekt generowanego obrazu. Dokładnie 90 stopni od kierunku do czarnej dziury powstaje artefakt graficzny - rozmazany pasek błędnie obliczanych pikseli (patrz obrazek po prawej). Powód tkwi zaszyty głęboko w mechanizmie generowania obrazu.

W skrócie wygląda to tak - nie da się w rozsądnym czasie obliczyć koloru każdego piksela przez raytracing. Korzystając zatem z symetrii czarnej dziury Schwarzschilda, stworzyłem sobie gotową tabelę zakrzywień promieni. Dzięki symetrii, każdy promień mogę opisać jednym parametrem - w uproszczeniu, tym, w jakiej odległości mija on czarną dziurę w najbliższym punkcie toru (dokładniej: parametrem zderzenia). Do odchylenia potrzebuję jeszcze drugiego parametru, a mianowicie odległości od czarnej dziury, z której go wysyłam/odbieram - im większą część pełnej trasy promień ma do przebycia, tym większe odchylenie.

Tak stabelaryzowane dane trafiały do karty graficznej. Później, w trakcie rysowania, każdy piksel był przeliczany na kierunek wysyłania promienia, a ten na parametr zderzenia. Odległość była znana niezależnie od tego. Odpowiednie odchylenie było odczytywane z tabeli i właściwy kolor nadawany pikselowi.

W teorii wszystko jest fajnie, ale pojawił się jeden problem - parametry zderzenia promieni wysłanych w różne kierunki bliskie 90 stopni od czarnej dziury są prawie identyczne. To daje niemal identyczne wartości odchylenia, co przekłada się na ten sam kolor piksela. Powstaje brzydki pasek.

(więcej…)

Nowy artykuł i program

Dodałem dzisiaj dwie nowe rzeczy.

Pierwsza z nich to 3 część cyklu o teorii względności - tym razem opisywałem pojęcie metryki i jego różne zastosowania. Do przeczytania tutaj.

Druga to programik, pozwalający zniekształcać obrazy tak, jak byłyby zniekształcone przez czarną dziurę. Pełny opis wraz z linkiem do pobrania tutaj.

Miłej zabawy :)

Część 3 - metryka

metryka1

Wspomnieliśmy już o czymś takim, jak długość wektora, jednak nic o tym, co to właściwie jest. Na płaszczyźnie sprawa jest prosta - gdy przesuniemy się o v_x w osi x i v_y w osi y, odległość między punktami początkowym i końcowym wynosi \sqrt{v_x^2 + v_y^2} (co można zobaczyć, rysując trójkąt prostokątny i korzystając z twierdzenia Pitagorasa - patrz rysunek). Nie zawsze jednak musi to tak wyglądać i tu wkracza metryka.

Metryka to sposób na uogólnienie twierdzenia Pitagorasa. Nie zawsze współrzędne odpowiadają odległościom wzdłuż prostopadłych osi i nie zawsze da się utworzyć takie współrzędne (ale nie uprzedzajmy faktów). Chcemy zatem mieć jakiś sposób liczenia odległości między punktami przesuniętymi o \Delta x^\mu, gdy x^\mu to współrzędne określone w jakiś bliżej niesprecyzowany sposób.

(więcej…)

Część 2 - współrzędne, wektory i konwencja sumacyjna

Podstawowym obiektem w OTW jest czasoprzestrzeń. Jako obiekt matematyczny formalnie jest to rozmaitość różniczkowa, ale na nasze potrzeby wystarczy fakt, że jest to pewien zbiór punktów, zwanych zdarzeniami, które można opisywać współrzędnymi. W przypadku OTW czasoprzestrzeń jest 4-wymiarowa, co oznacza, że potrzebne są 4 współrzędne - jedna czasowa i trzy przestrzenne.

Współrzędne można nazywać w zasadzie dowolnie (np. x, y, z, t), ale ponieważ wielokrotnie potrzebne będzie odwoływanie się do całej czwórki współrzędnych naraz, wygodnie jest oznaczyć je numerami. Przyjęło się oznaczać współrzędną czasową jako 0, a pozostałe 1, 2, 3. Współrzędną nr \mu będziemy zapisywać tak: x^\mu (uwaga: w tym przypadku to nie jest potęgowanie!). \mu w tym przypadku nazywane jest indeksem lub wskaźnikiem (tutaj: górnym). Konwencjonalnie, kiedy mamy na myśli jedną ze wszystkich 4 współrzędnych, używamy litery greckiej; jeśli chodzi o którąś ze współrzędnych przestrzennych, używamy liter łacińskich.

(więcej…)

Nowa kategoria - artykuły

Doszedłem do wniosku, że skoro już mam swój blog, to mogę go wykorzystać też do jednego z moich ulubionych zajęć - przekazywania wiedzy. Na pierwszy ogień poszedł mój ulubiony temat, czyli teoria względności i czarne dziury. Dziedzina ta uchodzi za matematycznie bardzo złożoną, i nie bez powodu, jednak ogólny obraz jest moim zdaniem do ogarnięcia przez osobę z licealnym wykształceniem (przy założeniu, oczywiście, że będzie zainteresowana zrozumieniem tematu).

Zacząłem więc cykl artykułów, mający na celu przybliżenie Czytelnikom tej fascynującej tematyki. Czy mi to wychodzi - przekonajcie się sami :)

Część 1 - pochodne cząstkowe

Jak wspomniałem we wstępie, zakładam, że Czytelnik zna pojęcie pochodnej funkcji. Jest to dobra podstawa, ale żeby wgłębić się w teorię względności, potrzebujemy to pojęcie nieco rozszerzyć. Zapoznamy się zatem z pochodną cząstkową. Cóż to takiego?

Przypomnijmy sobie najpierw zwykłą pochodną. Pochodną funkcji f(x) zapisujemy jako f'(x) lub \frac{df}{dx}. Oznacza ona, łopatologicznie mówiąc, tempo zmiany funkcji f w miarę zmieniania argumentu x. Przykładowo, gdy f(x) = x^2, \frac{df}{dx} = 2x.

Co jednak, gdy funkcja zależy od więcej niż jednej zmiennej? Np. możemy mieć funkcję f(x,y) = x^2 + y^2, która każdemu punktowi płaszczyzny przypisze kwadrat jego odległości od początku układu współrzędnych. Jak w ogóle określić pochodną takiej funkcji?

(więcej…)

Matematyka czarnych dziur

Temat grawitacji jest standardowo omawiany w szkole. Mówi się o tym, że ciała się przyciągają, podaje się wzór Newtona i to właściwie tyle. Jeśli wspomina się o tym, że to zaledwie spore uproszczenie naszej wiedzy na ten temat, to jedynie mimochodem. Istnienie czegoś takiego jak Ogólna Teoria Względności jedynie się sygnalizuje - i nie bez powodu. Pełne zrozumienie matematyki, która za nią stoi, wymaga lat studiowania fizyki i nie jest możliwe do osiągnięcia przez uczniów gimnazjum czy liceum.

Jako osobę ciekawą świata zawsze zastanawiało mnie, jak ta matematyka właściwie wygląda i co jest w niej takiego trudnego. Było to w istocie jednym z głównych powodów, które popchnęły mnie do studiowania fizyki. Fascynowało mnie, co to właściwie jest ta krzywizna czasoprzestrzeni i jak się ją opisuje. Jeśli Ciebie również interesuje ten temat - jesteś we właściwym miejscu.

Myśląc ostatnio nad tym tematem, doszedłem do wniosku, że powinno dać się opisać podstawy Ogólnej Teorii Względności używając matematyki będącej w zasięgu ucznia liceum. Zamierzam wobec tego stworzyć tu cykl artykułów, w których objaśnię pojęcia matematyczne, którymi OTW operuję, oraz pokażę jak je zastosować do opisu grawitacji - wszystko przy założeniu, że najbardziej zaawansowanym pojęciem znanym Czytelnikowi jest pochodna funkcji. Jeśli uda mi się zrealizować cel, zobaczymy w jaki sposób krzywizna czasoprzestrzeni przejawia się jako siła przyciągania, jak czarne dziury zmieniają upływ czasu i czemu nie da się wylecieć z ich wnętrza.

Zapraszam zatem do lektury :) Wszelkie uwagi w komentarzach jak zawsze będą mile widziane.

Rozwój strony

Strona zaczyna osiągać stan, w którym nadaje się do pokazania komuś, zatem jeśli to czytasz, najwyraźniej już się na to zdecydowałem :)

Oprócz dwóch artykułów o projekcie dotyczącym generowania wszechświata, dodałem listę swoich projektów i zaczynam tworzyć ich opisy. Póki co opisałem symulator czarnej dziury i zastanawiam się, czy dodać w tym opisie część matematyczną (komentarze w tej kwestii będą mile widziane). Opisy pozostałych projektów dodam w najbliższych dniach.

Generowanie struktury wszechświata

Struktura przestrzeni

Tworzenie wszechświata trzeba od czegoś zacząć. Dobrym początkiem będzie określenie jego kształtu.

Najwygodniejszym i chyba najbardziej oczywistym kształtem jest sześcian. Wówczas każda z trzech współrzędnych będzie liczbą z tego samego zakresu, a dodatkowo bardzo łatwo jest sprawić, aby wszechświat nie miał granic - wystarczy dodać warunek, że opuszczenie sześcianu z jednej strony jest równoznaczne z wejściem do sześcianu z drugiej strony. Przypomina to sytuację znaną z gry w węża, w której wąż opuszczający ekran z prawej strony wracał znowu z lewej - tylko w trzech wymiarach.

Mamy zatem sześcienną przestrzeń, w której każdy punkt może być opisany trzema liczbami: x,\; y,\; z\; \in (a,b). Pojawia się pytanie: jakiego typu danych użyć do reprezentowania współrzędnych punktu? Nie uda się na nie odpowiedzieć bez wcześniejszego sprawdzenia, z jak dużymi liczbami mamy do czynienia.
(więcej…)