아하
  • 토픽

  • 스파링

  • 잉크

  • 미션


어린알파카245

어린알파카245

특정 높이까지 도달하는 데 필요한 속도 구하는 공식(유니티, C#)

rb.velocity = Vector3.up Mathf.Sqrt(-2f Physics.gravity.y * height);

위 코드가 제목의 공식을 이용해 적은 거라고 하는데 왜 저런 코드가 나왔는지 잘 모르겠습니다. 무슨 공식인가요?

    3개의 답변이 있어요!

    • 반듯한거북이278

      반듯한거북이278

      안녕하세요.

      운동에너지가 1/2mv^2 , 위치에너지가 9.8mh 에서 얻어진 공식입니다. 여기서 9.8이 수식상의 gravity즉 중력가속도 입니다.

      https://m.blog.naver.com/PostView.nhn?blogId=ojepower_a&logNo=220747255016&proxyReferer=https:%2F%2Fwww.google.com%2F

      위의 공식에서 v가 속력인데요 v로 정리를 해보면

      v^2 = 2 * 9.8 * h v = sqrt(2*9.8*h) 가 됩니다.

      Vector이기때문에 방향표시를 위해서 "-"를 붙인거 같은데요, 혹시 수식이 제대로 동작을 하는지요? sqrt안에는 모두 양수가 와야 하는데 앞에 "-"가 붙으면 음수가 될텐데요..

    • 안녕하세요. 아하(a-ha) 프로그래밍 지식 답변자 입니다.

      해당 코드 이해하려면 물리 법칙을 먼저 이해 하셔야 합니다. 물체를 θ각도로 위로 던졌을 때 최고 높이는 아래와 같은 식으로 구할 수 있습니다.

      그리고 최고 높이 도달 속도는 좌변 우변을 정리 하다보면 최종적으로 아래와 같은 수식을 얻을 수 있습니다.

      답변이 도움이 됐으면 합니다. 좋은 하루 되세요!

    • ㅎ물리학입니다.

      프로그래밍에 때론 수학, 물리가 중요합니다

      자유낙하운동과 연관이 있는데

      V = gt

      h = gt제곱/2

      V= 루트(2gh)

      G는 중력가속도, h는 높이,v는속도,t는 시간입니다.

      따라서 속도는 2중력(gravity)가속도x 높이에 루트를 씌운값이 되는것 입니다.

      이상 식만보고 답변드렸습니다