3D 컴퓨터그래픽스 #5 - 매트릭스

in #kr-series8 years ago

이 시리즈는 @anicreator님이 연재하시는 "애니 잡설"이랑 같이 읽으시면 좋을 것 같아요

3D 공간에서 물체를 이동시키거나 회전, 크기를 변하게 하는 것을 변환(Transformation)이라고 부릅니다. 그리고, 이 변환을 계산하기 위해서 매트릭스(Matrix), 곧 행렬이 사용됩니다. 이렇게 물체의 변환에 사용되는 행렬을 변환 행렬이라고 하는데요, 3D 변환은 4x4 행렬로 표현됩니다. 앞에서 예로 들었던 정육면체를 3D공간에서 움직이고, 회전시키고, 크기를 변환하려면 각 정점의 위치를 이 행렬에 곱하면 됩니다. 이 때, 4x4 행렬에 곱하기 위해 각 정점의 x, y, z위치값에 1을 추가해서 동차 좌표(homogeneous coordinate)로 만들어 계산합니다. 즉, x=1, y=2, z=-1 위치에 있는 정점은 (1, 2, -1, 1)로, x=-1, y=1, z=0 위치에 있는 정점은 (-1, 1, 0, 1)로 해서 사용합니다.

3Dtransformations.png
http://www.c-jump.com/bcc/common/Talk3/Math/Matrices/W01_0100_3d_transformations.htm

변환중에 위치, 회전, 크기 등만을 변환시키는 것을 어파인 변환(Affine Transformation)이라고 합니다. 날아가는 비행기나 굴러가는 당구공과 같이 물체의 형태가 변하지 않고 움직이는 것은 이 어파인 변환에 의해서라고 이해하시면 될 거에요. 이제 우리는 정점으로 이루어진 폴리곤이 모여서 표현된 3D 물체를 3D 공간 가운데 어파인 변환에 의해 배치시켜 놓을 수가 있게 되었습니다. 장면을 구성하게 된 것이지요. 이제 이 장면을 컴퓨터가 렌더링하기 위해서는 무엇이 또 필요할까요? 바로 빛입니다.


http://www.opengl-tutorial.org/beginners-tutorials/tutorial-3-matrices

실제로 우리 눈이 사물을 보게 되는 것은, 광원으로부터 나온 빛이 물체의 표면에서 반사해서 우리 눈으로 들어오기 때문이지요? 컴퓨터 그래픽스의 렌더링도 마찬가지입니다. 다음 편에서 이 빛을 어떻게 계산하는지 알아보겠습니다.

©2018 @gyedo

Sort:  

짱짱맨 호출에 출동했습니다!!
짱짱맨 x 마나마인! 색연필과학만화
https://steemit.com/kr/@mmcartoon-kr/4cmrbc
존버앤캘리에 이은 웹툰입니다
아이들이 보기에도 좋을꺼 같아요^^ 글작가님이 무려 스탠포드 물리학박사라고......

감사합니다!

You received 1.39 % upvote as a reward From round 1 on 2018.05.14! Congrats!

행렬이라니 무척 반가운 느낌입니다. 3D컴퓨터 그래픽스를 공부하다보면 현실공간에 대한 이해가 높아질 거 같다는 생각이 듭니다.

역시 수학선생님! ㅎㅎ

이번글은 썸네일 보고 울렁이실분이 많을듯요 ㅋㅋㅋ

썸네일은 그럴수도 ^^

재작년에 3D 해보려다가 머리 아파서 관뒀습니다 ㅋㅋㅋ

아, 그러셨군요!

계도님... 역시 대단한 분이셨군요.. 한 글자도 이해하지 못하겠어요. 엉엉. 저만 그런 건 아니겠지요?!

물체를 행렬을 이용해 변환시킨다는 이야기에요 ^^ 별거 아니에요...

ㅎㅎ 역시 저마다의 능력이 있다는 생각이 듭니다. 어릴적 수학 공부를 하지 않은게 무척 후회되네요 ㅠㅠ

근데, 음악이 참 수학이랑 연관이 깊다고 하더라구요 ^^

잘 모르는 분야라 흥미롭습니다. 다음편 또 기대하겠습니다.

앗, 읽어주셔서 감사합니다!

어려운 내용이네요!
이런 내용들을 처음 생각해낸 사람은 누군진 몰라도 정말 대단한 것 같습니다. :)

누군가 한명이 생각해낸게 아니라 오랜 시간 여러사람들이 앞사람의 생각을 확장해서 여기까지 왔다는게 대단해요!

(>人<;)역시 기술적으로 들어가면 어렵네요... 전 그냥 카메라와 광원만 배치하고 움직였던 기억이... 사실 너무 오래돼서 이젠 봐도 모를거 같아요... ㅎ

너무 깊이는 아니더라도, 뒤에서 어떤 일들이 일어나는지 다뤄보려고 해요 ^^

짱짱맨 호출로 왔습니다.

Coin Marketplace

STEEM 0.05
TRX 0.33
JST 0.079
BTC 63789.74
ETH 1693.74
USDT 1.00
SBD 0.41