핵심 개념
공을 던지면 두 가지 힘이 작용한다.
- Y축: 중력 때문에 속도가 계속 변함
- X축: 아무 힘도 없어서 속도 일정
1. 기본 공식
속도
- y축 속도 = 초기 y축 속도- (중력 가속도*시간)
- = 각도 Sin(세타) * 초기 속도
- x축 속도
위치
Y축은 올라갔다 내려오고, X축은 꾸준히 앞으로 나간다.
2. 각도 → 초기 속도 분리
각도 θ가 주어지면 초기 속도를 x, y로 쪼갠다.
/|
v₀ / | v₀y = v₀ × sin(θ)
/ |
/ θ |
/----+
v₀x = v₀ × cos(θ)
각도별 특징
| 각도 | v₀x | v₀y | 특징 |
|---|---|---|---|
| 0° | v₀ | 0 | 앞으로만 이동 |
| 45° | v₀ × 0.707 | v₀ × 0.707 | 균형, 수평 거리 최대 |
| 90° | 0 | v₀ | 위로만 이동 |
sin → 높이 담당
cos → 수평 거리 담당
3. 최고점 구하기
최고점 조건
최고점에서 Y축 속도 = 0
“초기 속도를 중력이 전부 상쇄하는 데 걸리는 시간”
최대 높이
t = v₀y/g 를 높이 공식에 대입
4. 전체 풀이 흐름
각도 θ 주어짐
↓
v₀y = v₀ × sin(θ)
v₀x = v₀ × cos(θ)
↓
최고점 시간 t = v₀y / g
↓
최대 높이 y_max = v₀y² / 2g
5. 예제
조건: v₀ = 10m/s, g = 10m/s², θ = 45°
Step 1. 초기 속도 분리
Step 2. 최고점 도달 시간
Step 3. 최대 높이
6. 게임 구현 관점
매 프레임마다 아래처럼 업데이트한다.
vy -= g * deltaTime; // 중력 적용
y += vy * deltaTime; // Y축 위치 업데이트
x += vx * deltaTime; // X축 위치 업데이트