1장 정수 = 13 1.1. 메모리 = 14 1.2. 바이트와 비트 = 15 1.3. 여러 바이트로 만든 수 = 16 1.4. 수의 표현 방법 = 17 1.5. 16진수 = 18 1.6. 16진수를 사용하는 이유 = 20 1.7. 프로그램에서 수 = 24 1.8. 양수와 음수 = 27 1.9. 부호 = 28 1.10. 표현을 다루는 방법 = 35 1.11. 캐스트 = 36 1.12. 정리 = 40 2장 소수 = 41 2.1. 정수와 소수 = 42 2.2. 고정소수점수 = 43 프로그램에 적합한 고정소수점수 = 43 프로그램에서 고정소수점수 = 45 고정소수점수의 형식 = 46 고정소수점수의 크기 = 48 2.3. 고정소수점수 정리 = 50 2.4. 부동소수점수 = 51 부동소수점수의 비트 구성 = 51 부동소수점수의 원리 = 52 부동소수점수를 프로그램에서 사용 = 55 부동소수점수의 종류 = 57 부동소수점수로 된 특수한 수 = 60 2.5. FPU = 61 FPU 예외 = 62 2.6. 부동소수점수의 오차 = 64 오차 - 유효 숫자 누락 = 64 오차 - 정보 누락 = 68 2.7. 부동소수점수에서 정수로 변환 = 69 2.8. 부동소수점수 정리 = 71 2.9. 정리 = 72 3장 연산 = 73 3.1. 사칙연산 = 74 사칙연산 복습 = 74 사칙연산의 계산 순서 = 75 프로그램에서 사칙연산 = 76 3.2. 사칙연산 응용 = 80 거듭제곱 = 80 거듭제곱의 규칙 = 81 나머지 계산 = 83 증가와 감소 = 84 3.3. 논리연산 = 86 부정 = 87 논리합 = 88 논리곱 = 90 배타적 논리합 = 91 3.4. 논리 연산 응용 = 93 비트 연산 = 93 비트 시프트 = 98 비트 시프트와 부호 = 100 비트 시프트의 용도 = 102 3.5. 대입 연산자 = 105 3.6 정리 = 106 4장 2차원 = 107 4.1. 차원 = 108 4.2. 좌표 = 109 좌표축의 이름 = 111 좌표의 표기 = 112 프로그램에서 좌표 다루기 = 114 좌표의 이동 = 114 4.3. 좌표와 벡터 = 116 좌표와 벡터의 연산 = 117 좌표와 벡터의 곱하기와 나누기 = 121 4.4. 프로그램에서 벡터 처리 = 124 벡터의 길이 = 127 벡터의 정규화 = 129 프로그램에서 벡터의 길이 계산과 정규화 = 130 4.5. 정리 = 132 5장 각도 = 133 5.1. 회전 = 134 회전의 필요성 = 134 원 = 135 원운동 = 137 각도 = 139 회전 이동 = 142 5.2. 삼각 함수 = 145 삼각 함수의 기초 = 145 sin과 cos 결과 값 = 146 tan 결과 값 = 151 삼각 함수와 삼각형의 크기 = 154 삼각 함수와 x, y 성분의 분해 = 156 5.3. 프로그램에서 삼각 함수 = 159 호도법 = 161 라디안 표기를 사용한 프로그램 = 163 프로그램에서 각도 표기 다루기 = 165 tan의 역할 = 167 5.4. 역삼각 함수 = 167 atan2의 역할 = 171 역삼각 함수의 계산 결과 값 = 173 5.5. 내적 = 177 내적의 기초 = 177 정규화하지 않았을 때 내적 = 180 프로그램에서 내적 = 181 5.6. 정리 = 182 6장 시간 = 183 6.1. 시간과 프레임 = 184 움직임이란 = 184 프레임 = 185 fps = 187 6.2. 프레임 드롭 = 191 프레임 드롭 대책 = 194 대책 1 - 게임의 기본 fps를 다시 생각한다 = 195 대책 2 - 프레임을 건너뛴다(프레임 스킵) = 199 대책 3 - 앞 프레임과 시간 차이를 계산한다 = 202 대책 4 - 포기한다(아무것도 하지 않는다) = 205 각 대책의 장점과 단점 정리 = 208 6.3. 시간 단위 = 210 시간을 세는 방법 = 211 프레임과 시간 변환 = 214 6.4. 정리 = 220 7장 운동 = 221 7.1. 운동 = 222 운동의 기초 = 222 이동 = 223 이동 물체의 운동 요소 = 224 7.2. 속도와 가속도 = 226 속도의 기초 = 226 속도의 단위 = 227 속도 단위의 종류 = 229 속도 단위 변환 = 230 가속 = 233 가속도 = 234 등가속도 운동 공식 = 237 7.3. 프로그램에서 이동 = 239 프로그램에서 속도 다루기 = 239 프로그램에서 거리 다루기 = 240 프레임 단위의 이동량 = 241 프로그램에서 속도 처리 = 242 프로그램에서 가속도 표현 = 246 프로그램에서 이동 처리 = 247 2차원으로 이동 대응 = 252 7.4. 마찰 = 260 마찰의 기초 = 260 마찰 계수 = 262 프로그램에서 마찰 = 265 횡 스크롤 게임의 축 구성 = 267 7.5. 중력 = 269 중력의 기초 = 269 중력 가속도 값 = 273 프로그램에서 중력 다루기 = 274 비스듬한 방향의 움직임 = 274 7.6. 횡 스크롤 게임의 움직임 = 276 점프 사양 디자인 = 280 7.7. 반발 = 286 반발의 기초 = 286 반발 계수 = 286 7.8. 정리 = 289 8장 3차원 = 291 8.1. 3차원 기초 = 292 3차원 공간 = 292 오른손 좌표계와 왼손 좌표계 = 293 3차원의 좌표와 벡터 = 295 3차원 좌표와 벡터의 계산 = 296 8.2. 평면 = 297 평면의 개념 = 297 평면의 활용 = 299 평면을 만드는 조건 = 303 평면의 법선 벡터 = 307 평면 방정식 = 309 평면과 좌표 사이의 거리 = 313 평면과 좌표 사이의 거리 계산 = 315 8.3. 외적 = 317 외적의 기본 = 317 외적의 교환 법칙 = 319 외적으로 만든 법선 벡터의 길이 = 322 계산할 수 없는 외적 = 324 8.4. 3차원과 프로그램 = 325 3차원 좌표와 벡터의 프로그램 지원 = 325 평면의 프로그램 지원 = 329 8.5. 정리 = 332 9장 행렬 = 333 9.1. 행렬의 개념과 연산 = 334 행렬 = 334 좌표와 벡터의 형식 변경 = 335 행렬과 벡터의 곱셈 = 337 단위행렬 = 338 행렬로 변환할 수 있는 것 = 339 w 성분 = 343 9.2. 벡터 연산 = 347 성분이 4개인 벡터의 연산 = 347 성분이 4개인 벡터의 연산 프로그램 = 349 행렬끼리 곱셈 = 352 행렬의 합성 = 353 역행렬 = 355 전치행렬 = 359 9.3. 행렬과 프로그램 = 360 프로그램에서 행렬 다루기 = 360 3×4 행렬 = 366 역행렬 계산의 고속화 = 368 행렬 처리 1 - 로컬 좌표계 = 369 행렬 처리 2 - 월드 좌표계 = 371 행렬 처리 3 - 뷰 좌표계 = 374 행렬 처리 4 - 투영 좌표계 = 377 게임에서 행렬 처리 = 381 9.4. 쿼터니온 = 382 9.5. 정리 = 384 10장 충돌 = 385 10.1. 충돌의 기초 = 386 게임과 충돌 = 386 충돌의 단위 = 388 충돌 판정에 사용하는 형태 = 390 기본 단위의 프로그램 표현 = 391 10.2. 선분×선분 = 396 선분×선분 - 개념편 = 396 선분×선분 - 프로그램편 = 402 10.3. 선분×구 = 405 선분×구 - 개념편 = 405 선분×구 - 프로그램편 = 412 10.4. 선분×평면 = 414 선분×평면(삼각형) - 개념편 = 414 선분×평면(삼각형) - 프로그램편 = 419 10.5. 구×구 = 423 구×구 - 개념편 = 423 구×구 - 프로그램편 = 425 10.6. 구×평면 = 428 구×평면(삼각형) - 개념편 = 428 구×평면(삼각형) - 프로그램편 = 431 10.7. 평면×평면 = 433 평면×평면 - 개념편 = 433 삼각형×평면 - 개념편 = 437 삼각형×삼각형 - 개념편 = 440 평면×평면(삼각형×삼각형) - 프로그램편 = 441 10.8. 충돌 형태 정리 = 445 기본 형태의 충돌 정리 = 445 응용 형태 = 448 10.9. 충돌 판정의 고속화 = 449 평면의 앞뒤 확인 = 450 10.10. 바운딩 = 453 바운딩 볼륨 = 453 바운딩 스피어 = 455 바운딩 박스 = 456 영역 분할 = 469 10.11. 정리 = 472 11장 난수 = 473 11.1. 랜덤 = 474 11.2. 난수 = 475 난수의 개념 = 475 난수를 사용한 게임성 = 476 난수의 종류 = 477 11.3. 프로그램과 난수 = 479 rand() 함수 = 479 정수 난수를 사용하는 환경 = 480 부동소수점수 난수를 사용하는 환경 = 483 시드 = 485 11.4. 게임과 난수 = 489 게임 특유의 난수 불규칙화 = 489 리플레이 = 492 게임성에 관련 있는 난수, 관련 없는 난수 = 496 11.5. 정리 = 501 찾아보기 = 506