3D 컴퓨터그래픽스 #6 - 레이 트레이싱

in #kr-series6 years ago (edited)

지난 글에서 "우리 눈이 사물을 보게 되는 것은, 광원으로부터 나온 빛이 물체의 표면에서 반사해서 우리 눈으로 들어오기 때문"이라고 말씀드렸지요. 컴퓨터그래픽스에서는 카메라가 눈의 역할을 합니다. 광원으로부터 나온 빛이 물체의 표면에서 반사해서 카메라로 들어오는 것을 그리는 것이라고 생각하시면 될 것 같아요. 그런데, 이렇게 빛의 이동을 어떻게 계산할까요? 바로 벡터(vector)를 이용해서입니다.



https://m.blog.naver.com/forfriend5/220599558731

중학교 시절에 벡터스칼라(scalar)에 대해 배우신 것이 기억나시나요? 스칼라크기만 나타내고, 벡터크기"방향"을 나타내는 개념이지요. 그래서 직진하는 빛의 방향을 벡터를 통해서 계산할 수 있는 것입니다.

"3D 컴퓨터그래픽스 #3 - 렌더링"에서 말씀드렸던 3차원 데카르트 좌표계에서 벡터 역시 x, y, z 위치값으로 표현됩니다. 원점에서 시작해서 x축 방향으로 크기가 2인 벡터는 (2, 0, 0) 이런 식이지요. 이렇게 빛의 방향을 벡터로 표현할 때 광선(Ray)라고 부릅니다. 이 Ray가 어떻게 움직이는지 추적(tracing)해서 렌더링하는 기법을 레이 트레이싱(Ray Tracing)이라고 부르죠.


U5dt3BE8pidf4BC1VXuTEZ8wmm67VPS_1680x8400.png
https://en.wikipedia.org/wiki/Ray_tracing_(graphics)

앞에서 광원으로부터 나온 빛이 물체의 표면에 반사해서 카메라로 들어오는 것을 그린다고 했잖아요? 실제로는, 이렇게 광원에서부터 시작해서 카메라까지 추적하는 것은 너무나 비효율적이기 때문에 반대로 계산합니다. 위의 그림처럼 카메라로부터 시작해서 물체의 표면에 반사해서 광원까지 가는 역방향으로 추적하는 것이죠.

다음 글에서는 이 물체의 표면의 색깔은 어떻게 계산하는지에 대해 살펴 보겠습니다.

©2018 @gyedo

Sort:  

벡터 하나 알아들었습니다.ㅎㅎ 제가 사랑하는 벡터이미지!!

벡터, 중요하죠 ^^

아! 역추적하는 군요. 잘 배웠습니다~

읽어주셔서 감사합니다!

뭐하시는 분인지 한동안 잊고있었습니다 ㅎㅎ

제가 뭐하는 사람이었죠? ㅎㅎ

짱짱맨 호출에 출동했습니다!!

감사합니다!

수학이군요 ! ㅋㅎㅎㅎㅎㅎ

결국 수학인데요 ^^
수학 모르셔도 "수학이 쓰이는구나" 정도 아시라고...

역시... 모든 분들이 그러하듯... 뭐하시는 분인지 한동안 잊고 있었네요 ㅎㅎㅎ

^^; 하하하

아.. 맞다.. 천재님이셨죠 ㅠ_ㅠ

선생님, 스승의 날 잘 보내셨나요? ^^

안녕하세요. Steemit성장과 발전 위해 투명성과 공정성을 가지고 공헌하고 있는 @OCD 큐레이터로서 활동하고 있는 @steemitjp, @solnamu 입니다.

귀하의 게시물이 @ocd international #174포스팅을 통해 전 세계에 소개되었습니다.

O.C.D팀을 Follow하시면 저희가 추진하고 있는 @ocd 프로젝트에 대해 더 깊이 아실 수 있을뿐만 아니라, 각국의 @ocd큐레이터가 엄선한 전세계 스티미언들의 가치있는 글들을 매일 확인 하실 수 있습니다.

앞으로도 양질의 컨텐츠와 함께 스팀잇에서의 왕성한 활동 기대/응원합니다.

authorized O.C.D Curator @steemitjp @solnamu for Korean,KR community.

This gem of a post was discovered by the O.C.D Team! You can follow @ocd – learn more about the project and see other Gems! We strive for transparency.

감사합니다!

짱짱맨 호출로 왔습니다.

오늘도 감사합니다!

Coin Marketplace

STEEM 0.28
TRX 0.11
JST 0.034
BTC 66396.53
ETH 3174.43
USDT 1.00
SBD 4.15