수학으로 시작하는 3D 게임 개발

Mathematics for 3D Game Development

양영욱 저

『수학으로 시작하는 3D 게임 개발』은 3D 게임 개발을 위해 꼭 알아야하는 수학 내용을 자세하고 알기 쉽게 설명한 책이다. 프로그래머, 기획자, 그래픽 아티스트등 모든 게임 개발자와 더불어 현재 게임 개발자가 아니더라도 게임 개발에 필요한 수학을 공부하고 싶은 고등학생, 대학생들도 충분히 읽을 수 있도록 구성하였다.


도서 상세

분야: [게임]

출간일: Dec 30, 2014

페이지: 282

도서정가: 23,000 원

ISBN: 9788993827873

N 초급 B 초/중급 능숙 C P 숙련 E 전문
부가 정보


출판사 서평

핵심! 3D 게임 개발의 수학적 원리 

이 책은 3D 게임 개발을 위해 꼭 알아야하는 수학 내용을 자세하고 알기 쉽게 설명한다. 프로그래머, 기획자, 그래픽 아티스트등 모든 게임 개발자와 더불어 현재 게임 개발자가 아니더라도 게임 개발에 필요한 수학을 공부하고 싶은 고등학생, 대학생들도 충분히 읽을 수 있는 책이다. 가장 기본 개념인 벡터와 행렬에서 출발하여 보다 복잡한 내용의 아핀 변환, 사원수, 투영, 충돌 검사 등을 올바른 순서로 차근차근 충분히 설명해 나간다. 또한 이런 수학 개념을 어떤 수학자가 무엇을 위해 만들게 되었는지에 대한 재밌는 역사 이야기도 함께 담고 있다. 

이 책을 통해서 배운 수학 지식은 자체 게임 엔진 개발에는 물론이고 상용 게임 엔진에서 제공하는 기능들을 보다 깊게 이해하는데 많은 도움이 될 것이다. 기획자들에게도 게임 시스템을 보다 정교하게 기획하고 프로그래머들과 소통하는데 도움이 될 것임은 물론, 더 나아가 새로운 게임 아이디어를 떠오르게 하는 좋은 자극이 될 수 있을 것이다. 게임 개발자가 아니지만 어떤 수학 이론들이 3D 게임 개발을 가능하게 하는지 궁금한 학생들에게도 게임 개발과 더불어 컴퓨터 그래픽스에 대한 공부의 좋은 시작점이 될 것이다.

저자 소개

양영욱 : 연세대학교에서 컴퓨터 과학을 전공하였고 미국 카네기 멜론 대학교에서 엔터테인먼트 테크놀로지 석사 학위를 받았다. 넥슨, NHN, 디즈니, 렐릭, EA 등의 게임 회사에서 10여 년 동안 게임 클라이언트와 서버 프로그래밍을 오가며 다양한 장르의 게임 개발에 참여하였다. 현재는 블리자드에서 선임 프로그래머로 배틀넷 개발에 참여하고 있다.

1. 선형 대수(Linear Algebra) 

1.1 선형 변환(Linear Transformation) 

1.2 벡터(Vector)와 벡터 공간(Vector Space) 

2. 벡터(Vector) 

2.1 유클리드 공간(Euclidean Space) 

2.2 3차원 공간에서의 벡터 

2.3 벡터 내적(dot product) 

2.4 벡터 외적(corss product) 

3. 행렬(Matrix) 

3.1 행렬의 기본 연산 

3.2 선형계(linear system)와 가우스 소거법(Gauss elimination) 

3.3 가우스-요르단 소거법(Gauss?Jordan elimination) 

3.4 행렬식(determinant)과 역행렬 

3.5 벡터와 행렬 

4. 선형 변환(Linear Transformation) 

4.1 선형 변환과 행렬 

4.2 크기 변환(Scaling) 

4.3 좌표축 기준 회전 변환(Rotation) 

4.4 임의의 축 기준 회전 변환(Rotation) 

4.5 선형 변환 조합과 행렬 곱셈 

5. 아핀 공간(Affine Space) 

5.1 점(Point)과 벡터(Vector) 

5.2 선(Line) 

5.3 면(Plane) 

5.4 삼각형(Triangle) 

6. 아핀 변환(Affine Transformation) 

6.1 선형 변환과 위치 변환 

6.2 동차 좌표계(homogeneous coordinates) 

6.3 밀기 변환(Shearing) 

6.4 반사 변환(Reflection) 

6.5 기준점이 원점이 아닐 때의 아핀 변환 

6.6 아핀 변환의 조합과 분해 

6.7 선과 면의 아핀 변환 

7. 방향(Orientation)의 표현 

7.1 회전(Rotation)과 방향(Orientation)의 구분 

7.2 오일러 각(Euler Angles) 

7.3 축-각 (Axis-Angle) 

7.4 사원수(Quaternion) 

8. 투영(projection) 변환 

8.1 카메라 좌표계(Camera coordinate) 

8.2 원근 투영(Perspective Projection) 

8.3 직교 투영(Orthogonal Projection) 

9. 충돌 검사(Collision Detection) 

9.1 점과 점 사이의 거리 

9.2 점과 선 사이의 거리 

9.3 점과 평면 사이의 거리 

9.4 구의 충돌 검사 

9.5 AABB의 충돌 검사 

9.6 OBB의 충돌 검사 

9.7 마우스 픽킹(mouse picking) 

10. 곡선(Curve) 

10.1 스플라인(Spline) 

10.2 허밋 스플라인(Hermite spline) 

10.3 베지어 스플라인(B?zier spline) 

10.4 캣멀-롬 스플라인(Catmull?Rom spline)