Bonjour,
Aujourd'hui je me tourne vers vous pour un tout petit problème certainement vraiment très bête auquel je fais fasse actuellement, mais je commence à avoir du mal à prendre un peu de recul sur ce que je fait actuellement et j'ai parfois l'impression de me prendre trop la tête pour un rien.
Je vais d'abords vous présenter mon petit projet histoire de vous mettre un peu dans le contexte du problème.
Récemment, j'ai eu la soudaine envie de coder une simulation de lentille gravitationnelle afin de comprendre un peu mieux les calculs se cachant derrière la relativité générale.
J'ai donc pour l'instant obtenu ce résultat:
L'idée ici est très simple se basant quelques peu sur le principe du "raytracing", je ne vais pas rentrer dans les détails,
Mais pour faire simple j'envoie autant de rayons que j'ai de pixels sur l'image que je vais générer avec pour chacun des rayons un angle légèrement différent.
À chaque instant je fais évoluer le rayon (que l'on pourrait apparenter à un photon) grâce à une équation différentielle obtenue précédemment en manipulant les équations de la relativié générale:
avec:
r: la distance du photon au trou noir
Rs: le rayon de Schwarzchild
Φ: L'angle que forme notre photon dans le plan en coordonnée polaire
Cette équation décrit l'évolution de u (et donc de la distance du photon au trou noir) en fonction de l'angle qu'il forme dans le plan en coordonnée polaire
Dans cette simulation je résous simplement cette équation de façon numérique en faisant une approximation avec la méthode d'intégration d'Euler
En considérant les conditions initiales suivantes:
avec:
D: la distance entre l'observateur et le trou noir
α: l'angle nous donnant la direction du photon
Φ: L'angle que forme notre photon dans le plan en coordonnée polaire
on va donc enfin pouvoir faire évoluer notre photon grâce à notre équation différentielle:
pour ce faire, on va déterminer une petite valeur de variation de l'angle Φ que l'on va utiliser à chaque instant pour incrémenter Φ:
on va pouvoir à chaque instant ajuster la position du photon:
- à chaque instant on va ajouter l'accélération u'' à la vitesse u':
- on va enfin ajouter la vitesse u' à la position u:
et donc finalement une fois que la trajectoire de mon rayon est stable, il me reste simplement à déterminer son angle d'incidence par rapport aux "étoiles" afin de déterminer à quel pixel de mon image de fond correspond mon rayon, (mon image de fond étant entre autre les étoiles et donc considéré comme étant infiniment loin, je peux me baser uniquement sur l'angle d'incidence du rayon sans prendre en compte sa position)
Donc voilà où j'en suis actuellement dans l'avancée de mon projet.
Le problème auquel je fais face actuellement est tout simplement le fait que je ne sais pas quel serait la meilleure façon de pouvoir calculer ce fameux angle d'incidence "par rapport aux étoiles"
J'en serais entièrement reconnaissant envers toute aide qui pourra m'être apporté!
Je vous remercie d'avoir pris de votre temps pour lire ce topic.
Cordialement, Richard BLANC
-----