If you're seeing this message, it means we're having trouble loading external resources on our website.

웹 필터가 올바르게 작동하지 않으면 도메인 *. kastatic.org*.kasandbox.org이 차단되어 있는지 확인하세요.

주요 내용

댐핑

스프링에 댐퍼를 더해 봅시다.

동영상 대본

이제 스프링 시뮬레이터가 생겼으니 첫 수업에서 대면했던 문제를 해결해 봐요 이전에 우리는 스프링만을 이용해서 머리카락을 모델링했죠 그것은 아주 많이 튕기듯 움직이는 머리를 만들어냈죠 재미있지만 사실 현실적이진 않아요 이 문제를 해결하기 위해 감폭기를 각 스프링에 달았어요 기억하시겠지만 감폭기는 속도 변화에 저항해서 스프링이 더 빨리 차분해지게 만들어 줍니다 수학적으로 감폭기는 아주 단순해요 감폭기는 그냥 스프링력의 반대 방향으로 작용하는 어떤 힘으로 생각하면 됩니다 이 힘의 크기는 두 가지 변수에 따라 달라집니다 첫째로 감폭기의 강도 즉, 감쇠계수입니다 둘째로 스프링 변위의 속도입니다 스프링이 만약 아주 빠르게 늘어나거나 줄어든다면 감폭하는 힘 또한 커지고 스프링이 움직이지 않고 있다면 감폭하는 힘 역시 존재하지 않습니다 저항할 움직임 자체가 없으니까요 우리는 이러한 상황을 표현하기 위해 아주 단순한 식을 사용할 수 있습니다 감폭하는 힘은 감쇠계수에 변위 속도와 같습니다 이 새로운 힘을 시스템에 추가해 봐요 프로그램 맨 위에 우리는 새로운 감폭 변수 즉 damping을 정의해야 합니다 전에 우리는 이것을 감쇠계수라고 불렀죠 0은 감폭이 전혀 없다는 뜻이고 이 숫자가 높을수록 감폭 강도도 높아집니다 이제 draw 함수로 가서 이 새로운 감폭하는 힘을 정의하면 됩니다 스프링력 계산 수식 바로 밑에 dampingForceY라는 변수를 정의할 건데 이 변수는 damping 곱하기 velocityY와 동일합니다 이 힘을 이제 지금 있는 forceY 계산에 추가하면 됩니다 현재의 계산에서 우리는 중력과 스프링력만 고려하고 있습니다 이제 forceY에서 dampingForceY를 빼 줘야 합니다 스프링력에 저항하는 힘이니까요 자, 한번 해보죠 감폭이 전혀 없을 때의 상황입니다 이 시스템을 미급 감쇠라고 부르는데 스프링이 영원히 튕겨오르기 때문이죠 이제 damping 변수의 값을 한번 높여보아요 이제 좀더 빨리 차분해지네요 점차 개선되고 있지만 만약 damping 변수를 아주 큰 값 예를 들면 100 정도로 설정한다면 과도 감쇠라고 하는 현상이 일어나 스프링이 거의 움직이지 않게 됩니다 이것 또한 현실적이지 않죠 중요한 것은 스프링의 뻣뻣한 정도와 감폭 정도의 알맞은 균형을 찾아 현실적인 움직임을 만드는 겁니다 여기서 잠깐 멈추고 여러분이 스스로 한번 해보세요 감폭과 스프링력 계수를 가지고 다양한 시도를 해 보며 현실적인 움직임을 한 번 만들어 보세요 행운을 빌어요