언어/기타
2007.03.04 00:50

[DX&C++] 3D 공간에 대한 이해

조회 수 1287 추천 수 4 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

[3D 공간에 대한 이해]


 


DirectX는 3D 가속 카드의 지원을 받기위해 2D 이미지 역시 3D 공간상의 이미지로 다룹니다.


 


평면상에 그리는 것 처럼 보이지만, 평면상에 그려진 것 처럼 보이는 적절한 위치에 그림을 그리는 것이지요.


 


2D, 3D의 구분을 없애는 이 개념으로 인해 3D 그래픽 카드의 성공이 있을 수 있었습니다. 2D 그래픽 가속카드는 3D 그래픽을 가속할 수 없었으니까요.


 


어찌됐던 DirectX 역시 버전 9 이후 부터 기존의 2D 장치보다 3D 상에서 스프라이트를 처리하는 것을 권장하고 있으므로 3D 공간에 대한 이해를 하는 것이 중요합니다.




- 3D 공간에 대하여...

 3D 공간이라 함은, 우리가 현실세계에서 볼수 있는 부피를 가진 공간 체계를 말합니다.

 DirectX나 OpenGL 등의 3D API 들은 수학적인 방법을 사용하기 위해, X, Y, Z 세가지 축으로 구분한 인자를 벡터, 행렬 등의 연산을 이용해 다루는 것이 일반 적입니다.

 본 강좌에서는 DirectX 기반으로 진행될 예정이니, DirectX에서 사용하는 왼손 좌표계 기준으로 설명하겠습니다.

 왼손 좌표계에서는 X 축은 상방, Y축은 측면, Z축은 화면에서 멀어지는 쪽을 가리키는 것으로 이해하시면 됩니다.


- 정점


 


 위의 좌표공간의 3가지 축으로 표현되는 한 점을 정점(Vertex)라고 합니다.


 


 이 정점은 3D 공간을 이용하는 기본적인 단위가 될 것이며, 벡터, 폴리곤 등의 다양한 데이터를 표현하게 됩니다.


 


 


- 벡터

 벡터는 정점간의 연산을 하는데 아주 유용한 포멧입니다.

 내적, 외적등의 유용한 공식들과 벡터의 성질들을 이용하면 3D 공간의 객체를 다루는 것이 그다지 어렵지는 않을 것입니다.

 하지만 벡터와 행렬은 근간이 약간 다르기 때문에 회전, 이동 등의 기능을 호환시켜줄 필요가 있습니다.

 어려운 테크닉은 아니고, 약간 수학적 지식만 있다면 쉽사리 해결할 수 있는 문제이지만, 처음 3D 객체를 다루게 되었을 때 막막할 수 있으므로, 본 강좌에서 해당 방법도 다룰 예정입니다.


 


 


- 폴리곤


 


 정점으로 이루어진 평면 다각형을 말하는 것으로, 일반적으로 3개의 정점으로 구성됩니다.


 


 이 폴리곤을 활용하여 그림을 그리고, 평면에 대한 연산을 하게 됩니다.



 


 


- 행렬

 3D 공간의 정점을 다루는 데에는 행렬만한 수단이 없습니다.

 크기 변환, 위치 이동, 회전 등의 기본 변환들도 행렬로써 정의를 할 수 있으며, 연산 속도역시 놀랍도록 빠릅니다.

 DirectX에서는 위의 연산에 필요한 기본적인 행렬들 역시 정의되어 있지만, 3D 공간에 대한 학습을 위하여 기본적인 수식, 형태는 본 강의에 앞으로 적어 나가겠습니다.

?

  1. 물체 밀어서 움직이는 이벤트 조금 더 쉽게 하는 법

    Date2018.01.02 CategoryRPG Maker Byzero? Views644
    Read More
  2. [마지막 3명 모집] [취업연계무료교육] VR/AR 게임 콘텐츠 전문가 양성 과정 교육생 모집

    Date2017.07.14 Category언어/기타 By황금상자 Views702
    Read More
  3. rpg vxa 로 겜만들때 데미지 설정 공식[링크]

    Date2017.06.08 CategoryRPG Maker By준E Views740
    Read More
  4. [꿀팁] 간단하게 만들 수 있는 실시간 전투 시스템

    Date2017.03.31 CategoryRPG Maker By준E Views2019
    Read More
  5. JSON parser 변환데이터 저장시 생기는 Object Too Deep 해결하기

    Date2016.12.24 Category언어/기타 Bytitle: 댓글러lklslel Views851
    Read More
  6. 앙뜨프리너십에서 해커톤 부트캠프 모집중이네요

    Date2016.11.08 Category언어/기타 By마나님이 Views908
    Read More
  7. RPG MV에서 플러그인 오류의 원인에 대하여

    Date2016.07.08 CategoryRPG Maker Bytitle: 댓글러lklslel Views2359
    Read More
  8. RPG MV 게임 도중에 윈도우 스킨 파일 자체를 통째로 바꿔버리는 방법 (출처: HIME)

    Date2016.07.08 CategoryRPG Maker By최저 Views1627
    Read More
  9. 게임의 버전을 짜 보자! - 유의적 버전 2.0.0

    Date2016.06.07 Category언어/기타 ByYanggaeng Views1123
    Read More
  10. 텍스트 대화 도중 메뉴 여는 방법을 알아냈습니다!

    Date2016.03.12 CategoryRPG Maker By정궈니 Views2938
    Read More
  11. rpgmv 마우스 지원과 터치 지원이 되니.

    Date2015.10.25 CategoryRPG Maker By팡소리 Views1011
    Read More
  12. RPG Maker MV 와 AJAX를 이용한 웹통신 관련 영상.

    Date2015.10.25 CategoryRPG Maker ByHT9MAN Views2246
    Read More
  13. RPG게임 뻔한요소들.

    Date2015.10.05 Category언어/기타 Bytitle: 천무천무 Views1644
    Read More
  14. 자바스크립트와 관련해서 참고할 만한 사이트들

    Date2015.10.04 Category언어/기타 ByMARCO Views921
    Read More
  15. 꿀잼이군요!

    Date2015.05.20 Category언어/기타 By사람님[대회참가] Views873
    Read More
  16. [RPG2000/3 팁] 간편한 이벤트 단축키

    Date2015.04.06 CategoryRPG Maker Bytitle: 자게이하앵 Views1833
    Read More
  17. [RPG2000/3 팁] 간편한 이벤트 단축키

    Date2015.04.05 CategoryRPG Maker Bytitle: 자게이하앵 Views748
    Read More
  18. [강의링크] 대비법칙-색상대비-밀당의 재미 약한 반대색 설계

    Date2015.04.02 Category언어/기타 Bytitle: 천무천무 Views636
    Read More
  19. 오다 주웠습니다.

    Date2015.03.30 Category언어/기타 By사람님[대회참가] Views917
    Read More
  20. 무료 이미지 사이트 Pixabay!

    Date2015.03.28 Category언어/기타 By나작소 Views909
    Read More
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 51 Next
/ 51


[개인정보취급방침] | [이용약관] | [제휴문의] | [후원창구] | [인디사이드연혁]

Copyright © 1999 - 2016 INdiSide.com/(주)씨엘쓰리디 All Rights Reserved.
인디사이드 운영자 : 천무(이지선) | kernys(김원배) | 사신지(김병국)