-
이런 그림들은 어떻게 그리는 걸까?
만약 물리학에 근거해서 그린거라면 어떻게 그린걸까?
원리는 정말 간단하다.
원근법을 도시한 이 그림에 우리 눈이 보는 방식이 들어 있다.
여기서 블랙홀 주위에서 빛의 경로가 우리 예상을 기준으로 휘어지는 것을 고려하면
ray-tracing (광원 역 추적)을 통해서 강착원반을 그릴 수 있을 것이다.
역 추적이 키 포인트 인데, 위 그림에서 광선들은 물체에서 눈으로 들어가지만
역 발상으로 눈에서 나가는 광선이 강착원반에 닿는지 check하면 된다.
여기서 픽셀 수 만큼 광선을 만들어 내야 한다.
다음 그림은 특정 픽셀에서 나간 광산이 강착원반과 닿으면 흰색 안 닿으면 검정색으로 렌더링한 결과이다.방법은 알았으니 이제 빛이 블랙홀 주위에서 어떻게 휘는 지만 알면 된다.
이건 일반상대성이론을 공부해야 하는데, 그건 알아서 공부해야 되고,
뭘 목표로 공부해야 그릴 수 있는가?
바로 측지선 방정식이다.
일반상대성이론으로 최종적으로는 빛의 경로에 대한 미분 방정식을 구하고 풀면 빛의 경로를 특정 좌표계에서의 좌표 값(혹은 함수)로 구할 수 있다.
강착 원반은 면이니 면과 선이 크로스 하는 지 check 하는 것이다.
여기서 빛의 측지선 미분 방정식은 비선형 방정식이라 나는 수치적으로 풀었다.
혹시 미방을 풀 수 있는 방법이 있다면 좀 알려 주시라.
수치미분으로 하니 너무 느려서 qhd 사진 하나 그리는데 50분 걸렸다.
동영상이나 시뮬레이터 만들기에는 역부족이다.
찾아보니 다른 사람들은 사진을 미리 만들어 놓고
바라보는 위치나 각도에 따라 보간을 해서 렌더링 속도를 확보하는 거 같다.
블랙홀 렌더링 코드: https://github.com/akswnd98/schwarzschild-raytracing-python/