걷는 속도와 비를 맞는 양 - 컴퓨터 시뮬레이션

개발한 것들 2013.06.05 15:13

문득 마음이 동해서 구현해본 프로그램입니다.


예전부터 가끔씩 비가 올때 천천히 걷는게 유리할까 아니면 빨리 달리는 게 비를 덜 맞을까 궁금해 했었습니다.


당연히 빨리 달려가는게 비를 덜 맞을 것 같기는 하지만,


또 한편으로 생각해 보면 괜히 빨리 달려서 앞에 있는 비까지 다 맞는 건 아닌가 하는 생각도 듭니다.


차를 타고 달릴 때, 유리창에 부딪치는 비를 보면 엄청 비가 많이 오는 것 같지만


막상 내려보면 별 비가 아닌 경우도 있습니다.


이렇게 생각해 보면 이게 맞는 것 같고 또 다른식으로 생각하면 저게 맞는 것 같고..


그래서 걸음 속도에 따라 맞는 비의 양을 측정해 볼 수 있는 프로그램을 직접 구현해 보았습니다.



시뮬레이션 프로그램


<프로그램 실행 화면>


그림과 같이 사람의 속도, 비의 낙하 속도, 비의 양을 조절할 수 있습니다. 시뮬레이션을 시작하면 사람(검은색 사각형)이 왼쪽에서 오른쪽 끝까지 이동한 후, 사람의 이동속도, 맞은 비의 양(빗방울수), 그리고 이동하는데 걸린 시간을 표시해 줍니다.


아래 동영상은 프로그램 실행 예입니다.




보통 사람은 1시간에 4km 정도를 걷습니다. 이를 초속으로 환산해보면 약 1.1 m/s 정도 됩니다. 달리는 속도는 100m 경기 기록을 참조하면 최대 10 m/s라 볼 수 있겠습니다. 프로그램에서는 사람 속도에 제한을 두지 않고 임의의 값을 입력할 수 있지만, 정상적인 범위를 참조해서 수치를 입력하면 좋을 것입니다.


빗방울의 낙하속도는 공기저항으로 인해 대략 3 ~ 6 m/s 정도라고 합니다. 프로그램에서는 1 ~ 10 m/s 까지 조절할 수 있도록 했습니다.


강우량은 대기중 빗방울의 밀도(%)로 잡았고, 1 ~ 10 % 까지 조절할 수 있습니다.


왼쪽에서 오른쪽 끝까지 설정된 이동거리는 20 m입니다. 즉, 사람이 20 m를 이동하는 동안 맞은 빗방울의 개수를 측정해 줍니다.



프로그램 다운로드


RainSimulator.zip


(실행화일 하나로 되어 있으며 XP 이상 윈도우즈 환경에서 실행됩니다.)



시뮬레이션 결과


비 낙하속도를 10 m/s, 강우량을 10 %로 설정해 놓고, 사람의 속도를 1, 2, 3, ..., 10, 15, 20 m/s로 변화시키면서 맞은 빗방울의 개수를 측정해 보았습니다. 참고로 빗방울이 랜덤하게 생성되기 때문에 약간씩의 오차는 있을 수 있습니다.



예상했던 대로 빨리 달리면 달릴수록 비를 덜 맞습니다 ^^;


그런데 잘 보면 처음에만 비의 양이 줄어들지, 어느 속도 이상이 되면 맞는 비의 양이 거의 변화가 없음을 발견할 수 있습니다. 이는 실험 결과를 그래프로 그려보면 확연해 집니다.



그러니 괜히 비를 덜 맞는다고 무리해서 달릴 필요는 없을 것 같습니다 ^^


...


그런데, 여기서 한 가지 생각해 볼 점이 있습니다.


그건 위 결과는 어디까지나 동일한 거리를 달렸을 때의 결과라는 점입니다.


만일 동일한 시간을 달린다면 결과가 어떻게 나올까요?


예를 들어, 1시간 동안 천천히 걸은 사람과 1시간 동안 죽으라고 뛴 사람이 있다면 어느 사람이 더 많은 비를 맞을까요?


아래 그래프는 위 실험 결과를 1초동안 맞은 비의 양으로 다시 환산한 결과입니다.



너무다 당연하게도 동일 시간을 달린다면 빨리 달리면 달릴수록 더 많은 비를 맞습니다.



결론


이 시점에서 무언가 내용을 정리해야 될 것 같습니다.


우리가 천천히 가는게 비를 덜 맞는지, 아니면 빨리 가는게 비를 덜 맞는지를 두고 햇갈려 하는 이유는 시간과 공간의 개념이 혼재되어 있기 때문입니다. 자동차 예와 같이 빨리 달릴수록 많은 비를 맞는다고 생각하는 것은 빨리 달릴수록 이동시간 즉, 비를 맞는 시간이 줄어든다는 점은 고려하지 않은 것입니다.


동일한 거리를 이동할 경우 빨리 달리면 단위 시간에 맞는 비의 양은 증가하고, 이동시간 즉, 비를 맞는 시간은 줄어듭니다. 그런데, 실험 결과를 보면 빨리 달려서 더 맞는 비보다는 이동 시간이 줄어들어서 덜 맞게 되는 비의 양이 훨씬 큰 것 같습니다. 즉, 동일 이동거리에서는 빨리 달릴수록 비를 덜 맞게 됩니다.


결론을 내리면 다음과 같습니다.


동일한 시간을 간다면 뛰어 가는 것이 가만히 있는 것 보다는 더 많은 비를 맞는다. 하지만 동일거리를 간다면 빨리 달릴수록 비를 덜 맞게 된다. 그렇다고 너무 빨리 달리는 것은 효과가 크지 않기 때문에 적당히 빨리 달리는 것이 좋다.


by 다크 프로그래머

  • 이전 댓글 더보기
  • 푸른하늘 2013.08.27 16:27 신고 ADDR 수정/삭제 답글

    음... 거의 맞습니다.
    속도에 정확하게 비례합니다. 따라서 맞게 되는 빗물의 양은 시간x속도 가 되지요.
    그런데,
    시간 곱하기 속도(정확히는 속력)는 거리이므로
    시간이나 속력에 상관없이 거리만의 함수가 됩니다.
    그래서 걷거나 뛰거나 맞는 양은 상관 없다는 말은 어느 정도타당합니다.
    여기서 머리로 맞는 양은 무시해야 하고,
    뛸때 맞는 빗물은 앞면에서만 맞게 되는 것을 의미합니다.
    몸에 맞는 상황만 생각하면, 빗방울은 떨어지는 것이 아니라,
    공간 중에 그냥 고르게 분포하고 있다고 생각해야 편할 것 같습니다.
    그래서 저는 빗방울을 맞는게 아니라,
    공중에 있는 빗방울을 '훑는다' (영어로는 wiping)는 개념으로 이해 했습니다.

    몇 년전 워싱턴 DC쪽으로 출장갔을때,
    비맞으며 걷다가 우연히 '터득'하게 되었습니다. ^^
    당시 같이 있던 화학박사 친구에게 말했는데, 정확한 답변을 회피하더군요.ㅠ.ㅠ
    아무튼 제3자에게 엄밀하게 확인한 바는 아니니,
    혹시 틀린점이 있다면 다시 말씀해 주세요.


    • BlogIcon 다크pgmr 2013.08.28 08:55 신고 수정/삭제

      옆으로 맞는 비의 양은 시간, 속도에 관계없이 이동한 총 거리에만 비례한다...
      말씀하신데로 생각해 보니 뭔가 머리속이 환해지는 느낌입니다 ^^
      그리고 비슷한 식으로 생각해 보니 머리로 맞는 비의 양은 속도, 거리에 관계없이 시간에 의해서만 결정되겠네요. 결국 맞는 비의 양은 = '머리에 맞는 비 + 몸에 옆으로 맞는 비'인데, 전자는 시간에 비례하고 후자는 이동거리에 비례한다가 되겠네요.

    • freezkim 2014.04.08 13:18 신고 수정/삭제

      ㅎㅎ재밌는 내용이네요. 저도 같은생각입니다.
      다만 바람이 부는 경우는 빗물이 수평 속도 성분도 가지게 되므로, 앞면에서 맞는 양도 거리와 시간의 함수가 될거같아요. wiping으로 닦아낸다고 해도 새로운 비가 전면에서 추가로 뿌려주는 느낌이라고 해야하나.. ㅎㅎ 결국 실제 상황에서는 뛰는게 덜맞는게 아닌가 싶네요 ㅋㅋ

    • BlogIcon 다크pgmr 2014.04.09 07:52 신고 수정/삭제

      바람까지 고려하면 상당히 문제가 복잡해집니다만, 바람의 영향은 바람은 멈춰있고 대신 사람이 움직이는 경우로 대체할 수 있을 것 같습니다. 바람이 부는 방향을 향해 정면으로 나아가면 '바람속도+사람속도'로 사람이 이동하는 경우와 동일해지고, 바람과 같은 방향으로 나아가면 |바람속도-사람속도|로 모델링할 수 있습니다.

  • 푸른하늘 2013.08.29 17:01 신고 ADDR 수정/삭제 답글

    그렇지요? 맞는 것 같지요?^^
    감사합니다.
    어떤 진리를 공유하는 것은 매우 즐거운 일입니다.
    진리 = 맞는 이치 이지요. 거창한 것이 아닐지라도요...

    • BlogIcon 다크pgmr 2013.08.29 17:15 신고 수정/삭제

      가볍게 시작한 글이었는데, 덕분에 새로운 것을 깨닫게 되어 저또한 기쁩니다 ^^ 감사합니다.
      공간을 죽 훑고 지나간 양이라고 생각하니 더이상 명확한 이해가 없습니다.

    • BlogIcon 다크pgmr 2013.08.29 17:22 신고 수정/삭제

      만일 바람까지 고려한다면 창원대 장기완 교수님 블로그에서 본 내용도 인상깊었습니다.
      그 내용은 바람의 방향으로 바람을 따라서 바람과 같은 속도로 걷는다면 결국 바람이 없는 것과 같게 되며, 바람 속에서 가만히 제자리에 서 있는 경우는 바람이 없는 상태에서 바람과 같은 속도로 계속 걷고 있는 것과 같다는 것입니다.

    • 우비 2017.08.29 09:57 신고 수정/삭제

      몇 년 전 글이지만 궁금했던 문제에 대해 생각해보고 무릎을 탁 칠 수 있는 댓글이네요!

  • 푸른하늘 2013.08.29 19:49 신고 ADDR 수정/삭제 답글

    댓글을 더 자주 보시나요?
    이메일을 드렸는데..

  • orum21 2013.09.01 21:37 신고 ADDR 수정/삭제 답글

    저 고2 학생입니다.
    영재반 프로젝트로 걷는 속도에 따른 비를 맞는 양에 대해 탐구하고 있는데
    이 프로그램과 이에 대한 결론을 프로젝트에 써도 될까요?

    • BlogIcon 다크pgmr 2013.09.02 09:19 신고 수정/삭제

      네 무방합니다.
      다만, 관찰-가설-실험-해석의 과정을 나름의 방식으로 한번 진행해 보는게 재미도 있고 좀더 도움이 되지 않을까 싶습니다.

  • orum21 2013.09.03 00:21 신고 ADDR 수정/삭제 답글

    감사합니다 실험은 또 따로 할 예정입니다.
    사람이 뚱뚱한 정도와 달릴 때 기울어지는 정도, 비가 오는 기울기 등을 고려해서 실험할 예정입니다.

    • BlogIcon 다크pgmr 2013.09.03 09:09 신고 수정/삭제

      아 그렇군요 ^^; 재미있겠네요. 혹시 결과 나오면 이쪽에도 한번 올려주시면 좋겠네요.

  • enghks65 2014.01.07 21:41 신고 ADDR 수정/삭제 답글

    음... 중3때 정확히 이 질문에 대해서 학원 물리선생님이 저희에게 질문 하신 적이 있으신데, 그 때 저희의 결론은 '달리는 속도와는 상관없이 같은 시간동안 맞는 비의 양은 이론적으로 같다.'는 것이었습니다...만 무엇이 문제일까요?

    • BlogIcon 다크pgmr 2014.01.08 10:28 신고 수정/삭제

      위의 푸른하늘님과의 논의과정 중에 나옵니다만, 머리로 맞게 되는 비의 양과 옆으로 맞게 되는 비의 양을 구분하면 좋을 것 같습니다. 머리로 맞게 되는 비의 양은 시간과만 관계되며 옆으로 맞게 되는 비의 양은 이동거리와만 관계된다는게 결론이었습니다.

  • enghks65 2014.01.07 21:42 신고 ADDR 수정/삭제 답글

    아마 그 때 추론 방식을 사람이 걷는 것 대신 빗방울이 수직이 아니게(경사를 가지고) 떨어지는 것으로 놓고 풀었던 것으로 기억합니다만...

    • BlogIcon 다크pgmr 2014.01.08 10:33 신고 수정/삭제

      얼마나 경사가 지느냐에 따라서 결과가 달라질 것 같습니다. 비가 수직으로 내리면 머리로만 비가 떨어지지만 수평으로 내리면 몸으로만 비가 떨어집니다. 당연히 비와 닿는 면적이 넣은 수평으로 맞는 경우에 더 많은 비를 맞을 것입니다.

  • BlogIcon 제갈식 2014.05.08 13:42 신고 ADDR 수정/삭제 답글

    재밌군요.

    그런데 km/h 가 아니어서
    체감은 잘 감이 안옵니다.

    어쨌거나 재밌어요~
    좀 퍼가도 될런지요?

  • 우낀사자 2014.08.16 08:02 신고 ADDR 수정/삭제 답글

    참 재밌네요. ^^

  • 공수니 2014.10.31 15:49 신고 ADDR 수정/삭제 답글

    우연히 게시물을 보게 되었는데 무척 재미있는 아이디어와 프로그램이라고 생각되네요...ㅎㅎㅎ

  • BlogIcon 지나다 2014.11.07 19:57 신고 ADDR 수정/삭제 답글

    수직이든 비슷듬하든 낙하속도가 같다면 높이로볼때 느리게 떨어지는 결과라 더 많이 맞겠지만 그건 느릴때도 마찬가지여서 결국 동일한 곡선을 보이게됩니다 즉 결론이 같다는 소립니다

  • ㅎㅎㅎ 2015.08.14 15:30 신고 ADDR 수정/삭제 답글

    퍼갑니다!

  • 나그네 2015.10.16 17:11 신고 ADDR 수정/삭제 답글

    참 재미있는 내용의 블로그이네요. 어떤 연예인의 이야기보다 재미있는 것같습니다. 오늘은 많이 게시판글을 보지 못했지만, 자주 오도록 해야겠네요. 블로그 시작하실 때, 누가 올까? 걱정하셨다는데, 제 생각에는 많은 사람이 이런 글이 올라와 있다면, 자주 방문하고 많이 모일 것같네요.

  • 2015.12.02 19:05 ADDR 수정/삭제 답글

    비밀댓글입니다

    • BlogIcon 다크pgmr 2015.12.03 09:17 신고 수정/삭제

      구현말고 이론 또는 논의에 대한 내용이라면 괜찮습니다.

  • 2015.12.03 16:38 ADDR 수정/삭제 답글

    비밀댓글입니다

  • 우왕 2016.04.21 15:18 신고 ADDR 수정/삭제 답글

    저도 평소에 많이 생각해봤던 문젠데... 시뮬레이션의 힘이 이렇게 강력하군요!!
    빨리 달리는 속도가 어느 이상넘어가면 맞는 양은 크게 차이가 나지 않는다는게 신기합니다.

  • 하하하 2016.06.14 00:28 신고 ADDR 수정/삭제 답글

    제가 과제연구로 이 프로그램을 좀 쓰려고하는데 괜찮을까요?

  • 김민성 2016.10.21 00:03 신고 ADDR 수정/삭제 답글

    걷는 속도에 따라 맞는 빗물의 양에 대해서 보고서를 작성하려하는데 프로그램을 사용해도 되나요??

    • BlogIcon 다크pgmr 2016.10.21 00:30 신고 수정/삭제

      네, 블로그에 올린 프로그램은 모두 자유롭게 사용하실 수 있습니다.

  • egregory 2017.02.05 16:57 신고 ADDR 수정/삭제 답글

    Fluid dynamics의 Continuity equation 관점으로 보면,
    control volume에 수직하게 들어오는 것만 비를 맞는다고 볼수 있습니다.
    몸이 비에 젖는 것으로.. 몸주변에 가상의 C.V.를 정하면, continuity equation이 가장 정확합니다.

    • BlogIcon 다크pgmr 2017.02.09 14:55 신고 수정/삭제

      안녕하세요. 용어들이 어려워서 어떤 내용인지.. 다른 분야 사람들도 이해하기 쉽도록 풀어서 설명해 주시면 감사하겠습니다.

  • seokwon 2017.07.19 14:04 신고 ADDR 수정/삭제 답글

    프로그래밍으로 실생활에 응용하는 좋은 예를 보게해주셔서 감사합니다.
    저 내리는 점들을 어떻게 지나가는 막대로 수를 세는지 궁금하군요. 수학능력이 필요한거겠죠?

    • BlogIcon 다크pgmr 2017.07.19 18:39 신고 수정/삭제

      저도 오래되서 잘 기억은 안나는데요, 아마도 각 빗방울의 x, y 좌표를 알 수 있으니 사각형 막대기 내에 들어온 것들의 개수를 세지 않았나 싶습니다. ^^