생활
특정 높이까지 도달하는 데 필요한 속도 구하는 공식(유니티, C#)
rb.velocity = Vector3.up Mathf.Sqrt(-2f Physics.gravity.y * height);
위 코드가 제목의 공식을 이용해 적은 거라고 하는데 왜 저런 코드가 나왔는지 잘 모르겠습니다. 무슨 공식인가요?
3개의 답변이 있어요!
안녕하세요.
운동에너지가 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 높이에 루트를 씌운값이 되는것 입니다.
이상 식만보고 답변드렸습니다