목차 일부
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장 정수 = 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
더보기 닫기