Ich möchte die Vergrößerung sehr weit entfernter Objekte durch den Linseneffekt einer weniger entfernten Galaxie simulieren. Muss ich eine große Anzahl von Punktmassen modellieren oder kann ich mit nur einer einzigen durchschnittlichen Punktmasse davonkommen?
Ich kann sehen, wie man mit Hyperbeln für die Strahlen, die von einer einzelnen Punktmasse beeinflusst werden, Raytrace macht, aber ich würde nicht wissen, wo ich mit mehreren Punktmassen beginnen soll. Bevor ich versuche, diesen Raytracer zu bauen, möchte ich wissen, ob ich in der Lage sein werde, mehrere Massen zu vermeiden und dennoch glaubwürdige Ergebnisse zu erzielen.
raytracing
Trichoplax
quelle
quelle
Antworten:
Wie Sie wahrscheinlich beobachtet haben, können Sie die Gleichungen für Strahlentrajektorien um mehrere verzerrende Objekte im Allgemeinen nicht in geschlossener Form lösen.
Der Standardansatz für solche Dinge besteht darin, sie nur zu diskretisieren. Dies sieht nach einer Eulerschen Integration aus. Bewegen Sie Ihren Strahl ein wenig in Richtung des Objekts, berechnen Sie die Schwerkraft aus allen Quellen und biegen Sie ihn, dann treten Sie weiter und so weiter. Dies nennt man Raymarching .
Da Sie an Problemen im astrophysikalischen Maßstab interessiert sind, können Sie davon ausgehen, dass der Strahl mit minimalem Fehler weit genug vom Objekt entfernt linear ist.
Hier ist eine Szene, die ich vor einiger Zeit mit einem Homebrew-Photonmapper (kein QMC) mit dieser Raymarch-Technik gerendert habe.
Ich präsentiere: relativistische Photonenkartierung: Schwarzes Loch in einer Cornell-Box!
quelle