Wie zeichnet man ein schwarzes Loch? Geodätische Strahlverfolgung in einer gekrümmten Raumzeit

Published on September 21, 2018

Wie zeichnet man ein schwarzes Loch? Geodätische Strahlverfolgung in einer gekrümmten Raumzeit

Ursprünglicher Autor: Riccardo Antonelli
  • Übersetzung
"Das ist leicht. Wir nehmen die Schwarzschild-Metrik, suchen nach den Christoffel-Symbolen, berechnen ihre Ableitung, schreiben die geodätische Gleichung, ändern einige kartesische Koordinaten (um nicht zu leiden), erhalten eine große mehrzeilige ODE - und lösen sie. Ungefähr so". Nun ist es klar, dass schwarze Löcher mich angesaugt haben. Sie sind unendlich aufregend. Das letzte Mal habe ich mich mit der Visualisierung der Schwarzschild-Geometrie beschäftigt. Das Problem, genau abzubilden, wie die Krümmung einer solchen Raum-Zeit das Erscheinungsbild des Himmels beeinflusst (da sich Photonen aus fernen Quellen entlang geodätischen Linien bewegen, die durch ein schwarzes Loch gebogen werden), hat mich aufgegriffen, um interaktive Modellierung zu erzeugen. Hier ist das Ergebnis



(funktioniert im Browser). Der Trick besteht darin, die vorberechnete Ablenkung von Lichtstrahlen zu maximieren. Alles funktioniert mehr oder weniger normal, aber eine solche Simulation ist natürlich alles andere als ideal, da dort in der Realität keine Ortung durchgeführt wird (für Nichtfachleute: Wiederherstellen der Position der in die Kamera zurückfallenden Lichtstrahlen).

Mein neues Projekt behebt diesen Fehler, indem Effizienz und Interaktivität auf die einfachste Weise verworfen werden: Es handelt sich um einen Raytracer, der nur für die CPU bestimmt ist . Die Verfolgung wird so genau und so lange wie möglich durchgeführt. Das Rendern des Bildes an der Spitze dauerte 15 5 Minuten (danke RK4) auf meinem Laptop.

Gegenüber ähnlichen Arbeiten gibt es keine Verbesserung. Ich mache das wirklich gerne. Ich schreibe diesen Artikel, um nicht nur die Ergebnisse, wie das obige Bild (vor allem, da andere es besser machten ), sondern auch den Prozess der Erstellung dieser Bilder mit einer Diskussion / Erklärung von Physik und Implementierung zu teilen . Im Idealfall kann es Menschen mit ähnlichen Interessen inspirieren oder als Leitfaden dienen.

Suchen Sie nach frischem Rendern am sternlosen Tag am Tumlr.

Einige Pseudo-Riemann-Optik


Schatten


Wenn Sie mein Applet bereits ausprobiert haben , sind Sie mit diesem Bild vertraut: Die Hauptmerkmale sind gut markiert: eine schwarze Scheibe und ein merkwürdiger Ring von Verzerrungen. In Diskussionen wird oft darauf geachtet, dass die schwarze Scheibe der Ereignishorizont ist. Es ist tatsächlich falsch zu sagen, dass der Bildbereich ein Objekt ist . Dies ist ein Bild eines Objekts. In der Tat gibt es Flugbahnen, die, wenn sie von Ihrem Auge zur Quelle verfolgt werden, im Ereignishorizont (HS) liegen. Dies sind schwarze Pixel, da auf diesem Weg kein Photon von einem Schwarzen Loch (BH) zu Ihrem Auge wandern kann. Somit ist diese schwarze Scheibe ein sehr klares Bild des Ereignishorizonts.





In dem Sinne, dass, wenn Sie (in der fernen Vergangenheit) etwas direkt über dem Horizont zeichnen, externe Beobachter es direkt auf dieser schwarzen Platte sehen können (wir werden dieses Experiment später tatsächlich ausführen). In einigen Publikationen wird diese schwarze Region auch als „Schatten“ des Schwarzen Lochs bezeichnet.



Es ist jedoch interessant festzustellen, dass dies auch das Bild der Photonenkugel ist(FS). Das Gnuplot-Diagramm oben zeigt die Geodäsie eingehender Photonen aus dem Unendlichen (betrachtet die BHs aus der Ferne beim Zoomen) zusammen mit dem HS (schwarz) und dem FS (grün). Der Radius der Photonenkugel ist 1,5-mal größer als der Radius des Ereignishorizonts (in der Schwarzschild-Geometrie), und hier sind kreisförmige Bahnen von Photonen um den BH zulässig (wenn auch instabil). In der Grafik fallen einige Strahlen in die Nichtexistenz, während andere gestreut werden (und sich somit als an einem anderen Punkt in der Himmelssphäre befinden). Es ist ersichtlich, dass der Belichtungsparameter bei den absorbierten Strahlen weniger als ~ 2,5 Radien beträgt. Dies ist der scheinbare Radius der schwarzen Scheibe, und er ist viel größer als der HS und der FS.

In jedem Fall ist folgende Tatsache wichtig:

Ein frei in die Photonenkugel fallender Lichtstrahl wird auch den Ereignishorizont erreichen.

Dies bedeutet, dass das Bild der Photonenkugel in das Bild des Ereignishorizonts einbezogen wird. Da sich der HS jedoch eindeutig innerhalb der FS befindet, sollte das Image des Ersteren auch eine Teilmenge des Letzteren sein. Dann müssen die beiden Bilder übereinstimmen.

Warum prüfen wir, ob die schwarze Platte auch ein Abbild des Dateisystems ist? Denn es bedeutet, dass der Rand der schwarzen Scheibe mit Photonen gefüllt ist, die entlang der Photonenkugel gleiten . Ein Pixel unmittelbar außerhalb der schwarzen Scheibe entspricht einem Photon, das sich (wenn man es zurückverfolgt) in die Photonensphäre windet, sich einer instabilen kreisförmigen Umlaufbahn annähert, sich viele Male dreht (je näher Sie schauen, desto schneller verdreht sich) und springt dann spontan heraus - weil der Orbit instabil ist - und ins Unendliche rennt.

Ein solches Verhalten bewirkt einen interessanten optischen Effekt, der einer Separatrix in einem dynamischen System ähnelt. Theoretisch wird der Strahl, wenn er exakt entlang der Kante abgegeben wird, für immer zu einer Spirale, näher und näher an der Kreisbahn der Photonenkugel.

Einfluss auf den Himmel


Wir werden uns nicht näher mit diesem Thema beschäftigen, da das letzte Applet ihm gewidmet ist und es eine viel bessere Vorstellung von den Verzerrungen am Himmel gibt (einschließlich der UV-Gitteroption für klarere Verzerrungen).

Nur ein paar Worte zu Einsteins Ring. Die Gravitationslinse ist optisch unterscheidbar, da es sich um ein Bild eines einzelnen Punktes handelt, der dem Betrachter direkt gegenüberliegt. Der Ring ist unter einem Betrachtungswinkel ausgebildet, wenn die Strahlen des Beobachters parallel gebogen werden. Die äußeren Strahlen biegen sich nicht stark genug und bleiben divergent; im Innern biegen sie sich zu sehr, konvergieren, und in Wirklichkeit können sie sogar rückwärts oder im Kreis gehen, wie wir gesehen haben.

Aber denken Sie daran: Wenn Sie sich der schwarzen Scheibe nahe genug nähern, können die Lichtstrahlen einen Kreis bilden und dann parallel laufen. Dort müssen wir Einsteins Sekundärring sehen. Tatsächlich kann es Ringe in beliebiger Reihenfolge geben (eine beliebige Anzahl von Wicklungen). Zwischen ihnen sollten sich auch „ungerade“ Ringe befinden, bei denen die Lichtstrahlen parallel gebogen werden, jedoch auf den Betrachter gerichtet sind. Diese unendliche Reihe von Ringen existiert, ist aber in unserem Bild (in den meisten dieser Bilder) völlig unsichtbar, weil sie zu nahe am Rand der Platte liegt.

Verzerrung des Ereignishorizonts




In diesem neuen Bild hat sich etwas geändert. Zunächst wird es in der besten Auflösung und mit Hintergrundfilterung hergestellt, um es unterscheidbarer zu machen. Dann habe ich in das BH-Bild hineingezoomt (ohne sich zu nähern, wir sind immer noch ~ 10 Radien davon entfernt, nur ein Zoom). Vor allem aber zeichnete ich ein Raster am Horizont .

Der Horizont ist "nur eine Kugel". Technisch handelt es sich nicht um eine Standard-Riemann-Kugel mit einer räumlichen Metrik. Der Horizont ist hell! Dies ist eine farbenfrohe Art zu sagen, dass es sich mit Lichtgeschwindigkeit ausbreitet. In den Schwarzschild-Koordinaten ist es jedoch immer noch eine Oberflächeund wir können verwenden und als Längen- und Breitengrad. Somit ist es möglich, ein Koordinatengitter auf kanonische Weise anzuwenden. Sie sehen es im Bild.

Das Gitter ermöglicht Ihnen, einen speziellen Effekt zu sehen, der durch Analyse des obigen Diagramms der Photonenstreuung / -absorption ermittelt werden kann:

Die gesamte Oberfläche des Horizonts ist gleichzeitig von jedem Punkt aus sichtbar.

Es ist sehr interessant. Wenn Sie eine feste Kugel in einer normalen flachen Raumzeit betrachten, sehen Sie zu keiner Zeit mehr als 50% ihrer Oberfläche (wenn Sie näher kommen, dann weniger als 50% aufgrund der Perspektive). Gleichzeitig mit einer schwarzen Scheibe ist der Horizont vollständig sichtbar : Achten Sie insbesondere auf den Nord- und Südpol. Dennoch, auch wenn die gesamte Oberfläche auf einer schwarzen Scheibe gelegt wird, ist es nicht decken sie in ihrer Gesamtheit : Wenn am Rand vergrößern, werden Sie sehen , dass das Bild GS endet nach obendas Ende des Schattens Sie finden einen Ring sehr nahe am äußeren Rand, aber nicht vollständig. Dies ist das Bild eines Punktes gegenüber dem Beobachter und definiert die Grenzen dieses "ersten" Bildes des GE innerhalb. Was ist also zwischen diesem Ring und der eigentlichen Kante? Ich habe noch kein vergrößertes Bild erzeugt, aber es gibt noch ein anderes Bild des Ereignishorizonts . Und dann noch eine und noch eine weitere infinitum. Es gibt unendlich viele konzentrische Bilder des gesamten Horizonts, die in den Schatten komprimiert sind. (Vielen Dank / u / xXxDeAThANgEL99xXx für den Hinweis auf dieses Phänomen, das ich vermisst habe) .

Akkretionsplatte hinzufügen




Was macht modernes BH-Rendering ohne Akkretionsdiskette aus? Obwohl es sich eindeutig um eine kontroverse Frage handelt, steht Nolans Interstellar für Beobachtungen zur Verfügung, ganz zu schweigen von der Genauigkeit, aber wir müssen dem Blockbuster auf jeden Fall dafür danken, dass er eine bestimmte Verzerrung der Akkretionsscheibe populär gemacht hat. Hier haben wir eine unendlich dünne, flache, horizontale Akkretionsscheibe, die von der Photonenkugel ausgeht (obwohl dies sehr unrealistisch ist, da die Umlaufbahnen niedriger sindinstabil, wie unten beschrieben) bis zu 4 Radien, in weißen und blauen Zellen gezeichnet. Bei dieser Farbe ist es offensichtlich, dass wir uns einem anderen Fall gegenüber sehen, bei dem 100% der Oberfläche des Objekts gleichzeitig sichtbar sind.

Für dieses Bild habe ich den Betrachter etwas höher bewegt, um die Scheibe etwas höher zu betrachten. Sie sehen Bilder von zwei Gesichtern der Platte : der Ober- und Unterseite. Das Bild wird über den Schatten des BH-Schattens gebogen, da der Strahl, der direkt über das Schwarze Loch gerichtet ist, nach unten geneigt ist und auf die obere Fläche der Scheibe hinter dem dem Beobachter gegenüberliegenden Loch trifft.

Dies erklärt auch die Existenz des unteren Bildes: Die Strahlen, die unter dem BH gehen, werden zur unteren Oberfläche der Scheibe gebogen, die sich hinter dem BH befindet. Wenn Sie genau hinschauen, breitet sich das Bild im gesamten Schatten aus, aber oben ist es viel dünner. Dies entspricht den Lichtstrahlen, die über den BH gehen, bilden einen fast vollständigen Kreis um das Loch und treffen auf die untere Fläche vor der Scheibe.

Natürlich lässt sich leicht feststellen, dass es unendlich viele Bilder von Akkretionsplatten gibt, die sehr schnell dünner werden, wenn sie sich dem Rand nähern. Das Bild der nächsten Bestellung ist bereits sehr dünn, am unteren Rand kaum sichtbar.

GIFs sind immer noch relevant




In dieser krampfhaften Animation schalte ich die Ablenkung des Lichts (formal Schwarzschild / Minkowski) ein / aus, um einige Punkte zu klären, über die wir gesprochen haben.





Diese beiden seltsamen Gifs werden auf Wunsch der Leser erstellt. Im ersten Kreis kreist der Betrachter in einem Abstand von 10 Radien um ein schwarzes Loch. Dies sollte nicht als tatsächliche Umlaufbahn verstanden werden, da es in Wirklichkeit keine Abweichungen gibt, wenn sich die Umlaufbahn bewegt. Hier ist eine Reihe von stationären BH-Schnappschüssen von mehreren Punkten, an denen der Beobachter sich von Ort zu Ort zwischen den Bildern bewegt. Dies ist eine "adiabatische" Umlaufbahn, wenn Sie möchten.

Und die Stereoanlage ist auch noch relevant




Interessanterweise sieht der Schatten ziemlich flach aus.

Genug Wissenschaft


Genug mit uns informative Bilder im Stil der 90er Jahre in geringer Auflösung mit giftigen Farben. Hier sind ein paar "Pop" -Daten (klicken Sie hier für volle Größe). Dieses Bild erzeugt wird durch / n / dfzxh mit vierfach Oversampling Einer Nahaufnahme Größeren Bild Ring Cult Effekts von „Lichtring“ bei der Betrachtung von der Äquatorialebene Wenn Sie das Programm herunterladen, ist es die aktuelle Standard - Szene viel breiter ist fahren Nun, nichts Besonderes. Hier gibt es kein Artwork, sondern nur aus dem Programm. Kehren wir vorübergehend zur Wissenschaft zurück: das dritte Bild



















was scheinbar keinen Sinn ergibt, ist eigentlich sehr wertvoll. Dies ist ein vergrößerter Bereich zwischen der Oberkante der schwarzen Platte und dem Hauptbild der Akkretionsplatte. Der Betrachter befindet sich am äußeren Rand der Akkretionsscheibe und zoomt das Bild. Ziel war es, möglichst viele Ringe unterschiedlicher Ordnung abzubilden. Drei Ordnungen sind sichtbar: Die hellere Zone im oberen Teil ist nur der untere Rand des ersten Bildes der oberen distalen Oberfläche der Platte. Der Streifen unter dem ruhigen Meer aus weitläufigen Sternen ist der obere Teil des Bildes des unteren vorderen Teils der Scheibe. Ganz unten ist eine dünne Lichtlinie mit einer Breite von nicht mehr als einem Pixel, das auf die schwarze Scheibe der Photonenkugel geklebt ist. Dies ist im Grunde das dritte Bild: die obere entfernte Fläche wieder, aber nachdem das Licht eine zusätzliche Drehung um das Schwarze Loch abgeschlossen hat. Verschmolz mit ihm aber immer dünnere Bilder sind Ringe höherer Ordnung. Nun, das ist auch das <blockquote> -Tag wert:

Hier sind endlose Bilder sowohl der oberen als auch der unteren Oberfläche der Akkretionsscheibe, und alle zeigen gleichzeitig die gesamte Oberfläche der Scheibe. Abgesehen vom allerersten Bild werden diese Bilder außerdem weder vor der schwarzen Scheibe noch vor einander vorbeigeführt und sind daher "konzentrisch".

Wunderbar

Rendering-Anforderungen akzeptieren Sie sind
an einer bestimmten Visualisierung interessiert, aber nicht bereit, die Schwierigkeiten bei der Installation des Programms und beim Rendern selbst zu durchlaufen? Mailen Sie mir einfach reddit oder mailen . Das Rendern von 1080p auf meinem Laptop dauert nicht länger als 10-20 Minuten.


Realistische Akkretionsscheibe


Die Akkretionsscheibe in Rendern ist ziemlich cartoonhaft. Es ist nur eine verrückte Texturscheibe. Was passiert, wenn echte Physik in das optische Erscheinungsbild der Platte einbezogen wird? Was passiert, wenn Sie beispielsweise die Rotverschiebung aus der Umlaufbewegung betrachten?

Ein beliebtes Modell einer Akkretionsscheibe ist eine unendlich dünne Materiebahn in einer nahezu kreisförmigen Umlaufbahn. Es beginnt mit ISCO (der innersten stabilen Kreisbahn,) mit einem Temperaturprofil nach einem Leistungsgesetz . Ich werde eine sehr einfache Option verwenden:


was in der allgemeinen Relativitätstheorie für realistische Flüssigkeiten definitiv ungewöhnlich ist, aber hier ist es (auf jeden Fall werden Sie den Unterschied nicht bemerken).

Nun ist der freie Parameter eine übliche Skala für Temperaturen, beispielsweise die Temperatur in ISCO. Diese Temperatur ist für die meisten schwarzen Löcher enorm . Wir sprechen von Hunderten von Millionen Kelvin. Es ist schwer vorstellbar, dass ein menschliches Artefakt existieren könntedurch Belichtung mit Scheibenstrahlung (Peak in Röntgenstrahlen) bei solchen Temperaturen, ganz zu schweigen vom Fotografieren. Wir müssen also offensichtlich die Temperatur senken. Supermassive Schwarze Löcher sind natürlich kälter, aber nicht genug. Wir müssen in ISCO auf 10.000 K gehen, damit wir zumindest etwas sehen können. Das ist sehr ungenau, aber das ist alles was ich tun kann.

Zwei Fragen sollten gestellt werden. Erstens: Welche Farbe hat der schwarze Körper bei dieser Temperatur? Zweitens: Wie hell ist es ? Die Antwort auf diese beiden Fragen liegt formal im Skalarprodukt von Funktionen, die die R-, G-, B-Kanäle mit einem Schwarzkörperspektrum beschreiben. In der Praxis werden einige Näherungen verwendet.

Für die Farbe ist diese Formel ziemlich genau und effektivTanner Helland, aber es enthält zahlreiche Bedingungen, die mit meiner Strahlverfolgung unmöglich sind (siehe unten für weitere Details). Der schnellste Weg ist die Verwendung einer einfachen Textur:



Diese Textur ist eine von vielen nützlichen Dingen in der Mitchell Charity-Zusammenstellung von "Was ist die Farbe eines schwarzen Körpers?" . Als Referenz entspricht er dem Weißpunkt E (Weißpunkt E).

Die Skala zeigt die Farbe des schwarzen Körpers bei Temperaturen von 1000 K bis 30 000 K, wobei höhere Temperaturen etwa dem gleichen Blauton entsprechen. Da zwischen den Temperaturen ein großer Unterschied in der Helligkeit besteht, kann diese Textur nicht übertragen werden und sendet keine Helligkeit. es normalisiert eher die Farben. Unsere Aufgabe ist es, die relative Helligkeit zu berechnen und anzuwenden. Hierfür eignet sich eine analytische Formel. Wenn wir davon ausgehen, dass das sichtbare Spektrum sehr eng ist, ist die gesamte scheinbare Intensität proportional zum Spektrum des schwarzen Körpers selbst:


wo ich die dummen Konstanten los wurde (wir werden immer noch die Helligkeit skalieren, um etwas zu sehen). Sie können einfach einfügen ungefähr für den sichtbaren Bereich des Spektrums, und wir erhalten, dass die Helligkeit gemäß der folgenden Formel proportional zur Temperatur ist:


Das ist ganz einfach. Als Test stellen wir fest, dass die relative Intensität schnell auf null abfällt, wenn sich T null nähert, und ändert sich praktisch nicht, wenn T unendlich geht.

Rotverschiebung


In der Beschreibung des Applets wurden die Orbitalgeschwindigkeiten in der Schwarzschild-Geometrie beschrieben. Verwenden Sie zur Berechnung der Rotverschiebung die Rotverschiebungsformel aus dem SR


Wo als Der Kosinus des Winkels zwischen der Richtung des von der Platte emittierten Strahls und der lokalen Geschwindigkeit der Platte wird im lokalen lokalen Schwarzschild-Trägheitskoordinatensystem berechnet. Die Formel ist in diesem Zusammenhang aufgrund des Äquivalenzprinzips richtig.

Sie muss mit dem Rotationskoeffizienten der Schwerkraft multipliziert werden:


Dieser Koeffizient hängt nicht von der Flugbahn des Lichtstrahls ab, sondern nur vom Strahlungsradius, da die Schwarzschild-Geometrie stationär ist.

Dies bedeutet auch, dass der Beitrag der Beobachterposition zur Rotationsverschiebung der Schwerkraft über das gesamte Sichtfeld konstant ist. Unser gesamtes Bild hat einen konstanten Blau-Offset, da wir tief in BH sind. Daher führt dieser Effekt nur zu einem schwachen Farbton, der ignoriert werden kann.

Wir vernachlässigen auch die Rotverschiebung von der Bewegung des Beobachters, da unser Beobachter in der Schwarzschild-Geometrie stationär ist. Hier ist das Endergebnis:



Wie Sie sehen, ist der größte Teil der Platte aufgrund der maximalen Helligkeit in den Farbkanälen vollständig weiß. Wenn Sie diese Kanäle auf 0,0-1,0 absenken, werden die äußeren Teile der Festplatte blass oder schwarz. Die Helligkeitssteigerung ist zu groß, um sie zu sehen und zu schätzen. Ich habe versucht, den Effekt durch Nachbearbeitung zu zeigen, so dass die hellsten Bereiche einen Farbübergang aufweisen, was aber kaum ausreicht.

Ziemlich unordentliches Bild. Hier ist ein Bild ohne Helligkeit, bei dem Sie Farben auswerten können:



Diese Bilder haben eine niedrigere Auflösung, da sie auf meinem Laptop sehr lange gerendert werden (Quadratwurzeln sind schlecht, Kinder).

In jedem Fall ist dieser Render tausendmal weniger spektakulär als andere (hauptsächlich, weil der innere Rand der Scheibe bereits weit genug vom GE entfernt ist, sodass die Linse zu groß ist), aber der Render ist zumindest genau . Wenn Sie ein schwarzes Loch mit einer Temperatur von 10.000 K und eine gute Sonnenbrille finden, werden Sie genau das sehen.

Ein weiterer Schuss aus kurzer Distanz. Ich habe unnatürlich die Sättigung für die Schönheit erhöht:



Wir schreiben den Black Hole Ray Tracer


Quellcode auf Github


Es gibt einen sehr großen und offensichtlichen Unterschied zwischen der Optik von schwarzen Löchern und dem numerischen Integrator, der schöne Desktop-Hintergründe mit einer Auflösung von 1080p erzeugt. Letztes Mal habe ich meine Argumentation nicht veröffentlicht, sondern nur ein großes und schmutziges Git-Repository gefunden. Jetzt möchte ich etwas ausführlicher erklären und auch versuchen, den Code genauer und mit Kommentaren zu halten.

Mein Tracer wurde nicht gut, kraftvoll und schnell erstellt. Zuallererst wollte ich, dass es einfach einzurichten ist, so dass es einfach ist, damit die Leute Inspiration erhalten und Verbesserungspotenzial erkennen können: Selbst die Unvollkommenheit kann jemanden dazu bringen, sich für eine eigene Version zu entscheiden. Hier ist eine kurze Übersicht über die Algorithmen und deren Implementierung.

"Magisches" Potenzial


Die allgemeine Relativitätstheorie ist also alles klar. Das ist leicht. Wir nehmen die Schwarzschild-Metrik, suchen nach den Christoffel-Symbolen, berechnen ihre Ableitung, schreiben die geodätische Gleichung, ändern einige kartesische Koordinaten, um endloses Leiden zu vermeiden, wir erhalten eine riesige mehrzeilige ODE, lösen sie. Ungefähr so.

Nur ein Scherz. Natürlich gibt es einen Trick.

Wenn Sie sich erinnern, habe ich beim letzten Mal die folgende Gleichung für die Umlaufbahn eines masselosen Partikels in seiner Umlaufbahnebene in der Schwarzschild-Geometrie ():


Der Trick ist, die Binet-Formel hier zu sehen . Um eine Masse Newtonscher Teilchen im Newtonschen Potential der zentralen Kräfte zu haben:


dann bewegt sich das Teilchen offensichtlich in seiner Orbitalebene und entspricht der Binet-Formel für :


Wo - eine Primzahl - Masse und - Drehimpuls pro Masseeinheit. Dies ist die Gleichung für die Umlaufbahn, nicht die Bewegungsgleichung. Es sagt nichts darüber aus oder zeigt nur die Beziehung zwischen und .

Lassen Sie uns einen Moment innehalten, um darüber nachzudenken, was wir tatsächlich bekommen haben. Die Gleichung besagt, dass, wenn wir uns ein hypothetisches mechanisches System eines Partikels unter der Wirkung einer bestimmten Zentralkraft vorstellen, seine Flugbahn eine Lösung für die Binet-Formel sein wird. Dann wird das mechanische System zu einem Formelberechnungswerkzeug.

Das biete ich hier an. Wir haben angegeben und nahm (nicht physisch, was auch immer) ein einfaches System eines Punktpartikels in diesem speziellen Kraftfeld:


wo  - Einige Konstanten und bereits numerisch lösen die Gleichung ist sehr einfach. Dann die Lösungwo - Die abstrakte zeitliche Koordinate dieses Systems ist eigentlich eine Parametrisierung einer einzelnen Lösung für die entsprechende Binet-Gleichung, die genau eine geodätische Gleichung ist .

Daher lösen wir die Newtonsche Gleichung in kartesischen Koordinaten, was im Allgemeinen die einfachste ist (ich habe mich für die Runge - Kutta - Methode entschieden, um die Schrittgröße zu erhöhen und die Renderzeit zu verkürzen. In Zukunft kann der Benutzer jedoch eine andere Lösungsmethode wählen). Dann bekommen wir nur die tatsächliche lichtähnliche Geodäsie, wo - der Parameter, der entlang läuft (im Gegensatz zum Schwarzschild) und von der normalen Zeit, die nicht existiert).

Dies ist viel besser als bei der vorherigen Methode, bei der mit den Polarkoordinaten in der Umlaufbahn gearbeitet wurde. Hier werden Berechnungen sehr effizient durchgeführt.

Raytracing in Numpy


Wenn Sie sich die Quellen ansehen, sehen Sie ein Python-Skript. Horror! Warum Raytracing in Python schreiben? Jeder weiß, wie langsam die Zyklen in Python ablaufen, was der Arbeit (fast) immer ein Ende setzt. Tatsache ist, dass wir Berechnungen in numpy durchführen - und parallel. Deshalb kann dieses Programm bereits gezeichnete Teile nicht schrittweise auf dem Bildschirm anzeigen: Es wird alles gleichzeitig gerendert.

Erstellen Sie zunächst ein Array mit Anfangsbedingungen. Zum Beispiel ein Array (numPixel, 3)mit Vektoren für alle Bildpixel (numPixel - image width × image height). Dann wird die Berechnung jedes Strahls auf Arrays des Typs reduziert(numPixel, ...). Da die Operationen mit Arrays in NumPy sehr schnell durchgeführt werden und hier alles statisch typisiert ist (ich hoffe, ich sage im Moment nichts Dummes), sollte es ziemlich schnell berechnet werden. Vielleicht ist es kein C, aber trotzdem schnell. Gleichzeitig haben wir die Flexibilität und Klarheit von Python.

Diese Methode ist für die standardmäßige Strahlverfolgung schlecht, wenn Objekte diffuse, reflektierende, lichtbrechende Teile haben und es wichtig ist, die Beleuchtungsbedingungen zu berücksichtigen. Beispielsweise ist die selektive Reflexion von Teilen einer Strahlengruppe ein echter Alptraum; Das Verfolgen von booleschen Werten oder Schleifenindizes erfordert mehrere Masken, und Schleifen können nicht geteilt werden. Aber hier ist ein anderer Fall: Alle Objekte in unserer Szene strahlen nur Licht aus: der Himmel, eine heiße Akkretionsscheibe, ein pechschwarzer Ereignishorizont und heller Staub. Sie werden durch das einfallende Licht nicht beeinflusst, und das Licht selbst dringt auch ruhig durch, sofern es nicht die Intensität verringert. Dies führt uns zu einem Farbbestimmungsalgorithmus:

Farben mischen


Es ist ganz einfach: Sie müssen nur alle Objekte zwischen uns und der Strahlquelle mit den entsprechenden Alpha-Werten mischen und sie übereinander platzieren, wobei die am weitesten entfernten darunter liegen. Wir initialisieren den Farbpuffer mit alpha-transparenter schwarzer Farbe, und an der Kreuzung mit dem Objekt aktualisieren wir den Puffer durch Mischen der Farbe aus dem Objekt unter unserem Farbpuffer. Wir führen die gleichen Schritte für Staub durch (verwenden Sie das Dichteprofil)) und bis zum Ende iterieren. Beachten Sie, dass der Alphakanal auch als Z-Puffer funktioniert, da das Objekt keinen Beitrag mehr leistet, nachdem der Strahl das undurchsichtige Objekt durchquert hat (wodurch der Alpha-Wert des Puffers auf 1,0 gesetzt wird).

Der offensichtliche Nachteil dieser Methode besteht darin, dass es unmöglich ist, die Strahlverfolgung nach der Berechnung zu stoppen, da sie Teil eines Arrays ist, in dem andere Strahlverfolgung fortgesetzt wird. Nach einer Kollision mit dem Horizont wandern die Strahlen beispielsweise nach dem Auftreffen der Singularität zufällig weiter. Sie können sehen, was passiert, wenn Sie das Horizontobjekt explizit ausschalten. Der Alpha-Blending-Algorithmus stellt sicher, dass sie das endgültige Bild nicht beeinflussen, diese Strahlen jedoch die CPU belasten.