목차
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
닫기