7. 각속도와 진동
- 단순 조화 운동에 관한 예제를 더 쉽게 만드는 방법이 있습니다.
- 진동에 관련된 공식을 살펴보죠.
let x = amplitude * cos(TWO_PI * (frameCount / period));
// 이를 간단히 표현하면
let x = amplitude * cos(조금씩 증가하는 값);
- 정확한 진동 주기가 없는 경우, 삼각함수 내부에서는 조금씩 증가하는 값만 있다면 객체가 프레임 간 부드럽게 움직이는 것처럼 보일 것입니다.
- 이 값이 의 배수를 지날 때마다 객체는 한 주기의 진동을 완료합니다.
- 이는 0장에서 펄린 노이즈를 다룰 때와 유사한 방식입니다.
- 그때는
offset변수를 증가시켜noise()에서 다양한 출력값을 샘플링해 값의 부드러운 전환을 만들었습니다. - 이제는
sin()에 전달될 값(angle이라고 부를게요)을 증가시킬 것입니다. - 차이점은
sin()의 출력값이 부드럽게 반복되는 사인파이며 무작위성이 없다는 점입니다. - 조금씩 증가하는 값을
angle부르는 이유는, 삼각함수가 받는 값이 보통 각도이기 때문입니다.