반응형

http://ljh131.cafe24.com/beeswing/zbxe/30358

 

 

공 10개가 막 튕기는 예제를 만든다고 하죠...

3D 그래픽맨에게...'공한개만 맹글어주세염.' 이라고 하죠.

그럼 그래픽맨은 십중팔구 원점을 중심으로한 구를 만들어 줍니다.

그럼 이걸 가지고 월드에 뿌릴려면...

공의 중심점 목록이 있겠죠? ball[n].xyz

근디..공은 수십개의 점으로 이루어져 있습니다. ball[n].vertex[i]

ball[n].vertex[i]는 그래픽맨이 실제로 만들어준 데이터입니다.

근데..이 점들은...구의 중심을 원점이라 했을때의 상대 좌표죠?

이때 ball[n].vertex[i]의 좌표계를 '로컬좌표'라고 합니다.

이때, ball[n].vertex[i]는 모든 공이 같은값을 가짐니다.
(그래픽맨이 한개밖에 안만들어 주었으니..)

공유해도 된다는 말이죠. (같은 모양의 캐릭터가 수십마리 나올때..^^)

그럼 실제 공을 화면에 찍으려면 모든 점을 실제 위치에 옮겨놔야 겠죠.

ball[n].world_vertex[i].xyz = ball[n].vertex[i].xyz + ball[n].xyz;

ball[n].world_vertex[i]는 실제 각 버텍스들의 월드상의 위치.

즉 '월드좌표'입니다.

실제 그물체가 있어야 할곳으로 이동/회전 시켜준다라는 말은 바로

위에서 했던 작업을 말하는겁니다. ( 로컬좌표->월드좌표 )

프로그램상에선..카메라가 왼쪽으로 움직일때 월드상에 객체들을 

오른쪽으로 재 배치 시킵니다. 뿐만아니라 왼쪽으로 돌면 물체들을

오른쪽으로 돌려놓고...

뭐...개념상 그렇다는거죠...이렇게 이야기하나 저렇게 이야기 하나..

결국 최종적으로 나오는 공식은 마찬가지 입니다.

이해가 되셨기를...

        감자 성수올림...@~

반응형

'수학 (Mathematics) > 3D수학' 카테고리의 다른 글

표면 스케터링으로 실시간 근사  (0) 2012.11.02
D3DXMatrixTransformation2D  (0) 2012.11.02
라디오시티  (0) 2012.11.02
에르미트  (0) 2012.11.02
Z-Fighting  (0) 2012.11.02

+ Recent posts