Volume Rendering의 두번째 이야기
Volume Rendering의 두번째 이야기
- 순서 :
Volume Rendering에 대한 이야기
Volume Rendering의 두번째 이야기
두번째 시간으로 Ray Casting post에서 관련 이야기를 했었지만 다시 한번 관련해서 복습 차원으로 간단히 이야기하도록 하겠습니다.
3. Ray Casting을 이용한 랜더링
직접 볼륨 랜더링의 기법의 특징을 가진 기법으로 볼륨 데이터의 모든 정보를 사용할 수 있는 2차원 평면에 3차원 물체를 표현하는 대표적인 알고리즘입니다.
3차원 공간상의 물체를 정사 평행 투사하였을 때 2차원 투사평면에 투사되는데 ray casting은 거꾸로 2차원 투사 평면에 맺힌 화소로부터 3차원 공간상의복셀들의 위치를 추적하는 방법입니다. (역변환 과정을 수행)
즉, 샘플링 값들의 3차원 격자인 볼륨 데이터를 삼차선형보간법에 의해 이루어지는 가상의 연속적인 공간으로 보고, 광선을 따라 일정 간격으로 볼륨 데이터가 광선의 밝기에 기여하는 정도를 구하여 이를 누적함으로써 광선의 밝기를 구하는 방식입니다.
[식]
위 식에서 x', y', z'가 모니터 화면의 픽셀의 좌표이고 체적 데이터 3차원의 공간 좌표 x,y,z값을 투영 행렬식 곱을 통해서 투사 평면을 구하게 됩니다. 앞에 행렬식은 더 깊게 들어가서 공식이 있는데 거기까지는 들어가지 않고 간단히 의미만 전달 합니다.
[광선 추적]
ray casting은 이전 post에 이야기 했는데 여기서 다시 복습 차원으로 어떻게 광선 추적이 되는지 다시 살펴 보시기 바랍니다. 상자는 원본 체적 데이터 이고 그 데이터를 화면에 보이기 위해서 해당 픽셀에서 광선 추적을 통해서 체적 데이터에 대한 값을 구해서 픽셀의 값을 결정하게 됩니다. 자세히 보시면 외간 테두리 사각 선이 있는데 그 부분은 실제 광선 추적이 이루어질 때 계산이 이루어지는 범위이고 실제 광선 추적 계산의 데이터 누적은 내부 상자(체적) 데이터에서 이루어 집니다.
마무리
그냥 느낌만 우리가 모니터 상에서 3D Rendering 되는 이미지가 실제 Ray Casting을 통해서 하나 하나의 픽셀의 값이 결정되는 구나 정도로 간단히 이해하시면 됩니다. 관심있으신 분들은 Volume Rendering or Ray Casting이라는 키워드로 관련 자료를 검색하시기 바랍니다.
짱짱맨 호출에 응답하여 보팅하였습니다.
짱짱맨 방문 감사해요.
C LANGUAGE 로 제품 개발도 하시나요?