3차원 공간에 존재하는 객체를 만들겁니다.

이는 바로 로컬좌표계를 정하는 것이죠



내가 머리를 흔들고 있으면

내 기준으로 머리통이 0,0,0 을 기준으로 왔다갔다

흔들고 있는 것이지만


방을 기준으로 한다면 방문에서 3미터 정도 떨어진 지점의

머리가 흔들고 있는거죠.


2차원 좌표계를 예로 들면



빨간색 좌표계를 기준으로 P점은 x: -루트2... 부근에 있겠죠.



그럼 뭐가 기준이지?? 할수도 있는데


생각하기 전에 3차원 공간에 수많은 각각의 좌표가 있음을 가정할 것임니디.


오브젝트는 다음과 같습니다.
 

 


position 벡터는 바로 현재 객체(좌표계) 위치를 나타내고

up 벡터는 머리가 향하는 방향을 벡터로 나타낸것이고

at 벡터는 현재 객체가 바라보는 위치을 나타내는 벡터입니디.


실은 그래픽스 수업을 들으셧으면 아시죠.

바로 카메라를 정의할때 , 모델뷰 관련, 3개 벡터들입니다. 

근데 좀 다릅니다. 이유는 천천히 보도록하죠

수평방향을 나타내는 벡터가 없는데 없어도 괜찮습니다

벡터 2개를 외적 연산하여 직교하는 나머지 하나의 벡터를 바로 만들어낼수 있기 때문이죠.

  
아 맞다. 아까 Vec3 메서드를 만들때

외적연산이 없었는데 추가를 해야겠네요 ㅎㅎ


근데 좀 어설프네요

뭔가 3차원 객체라면 정점들도 가지고 있고

엣지나, 폴리곤도 가지고 있으면 좋을텐데

아무것도 없이 딱 로컬좌표계만 개념적으로 표현하니까요..


그래서 나중에 위 Obj3d를 상속하는 파생객체를 만들겁니다.

카메라 외 여러가지 것들이죠,


다음은 앞서 Vec3에서 외적 연산을 포함 몇개 연산을 추가한 것입니다.
 


Posted by 멍충한아싸

댓글을 달아 주세요