Processing math: 25%

curve.nb
0.03MB

(1,1)에서 (0,0)까지를 연결하는 일차 곡선 (y=x), 이차 곡선 (y=x2), 6차 곡선 (y=x6), 사분원 (y=11x2) 그리고 cycloid (x=1R(θsinθ),y=1R(1cosθ)) 위를 움직이는 물체의 운동을 mathematica를 사용해서 animation으로 표현하는 방법을 알아보자. 중력가속도는 g=1로 놓는다. 적절한 generalized coordinate를 선택해서 Euler-Lagrange equation을 이용하면 운동방정식을 쉽게 구할 수 있다.

(A)  곡선이 y=f(x)의 형태로 주어지는 경우 운동방정식은

[1+(f)2]¨x+ff

직선경로를 제외하면 운동방정식은 비선형이므로 mathematica의 \tt NDSolve[]을 이용해서 수치적으로 푼다.

(B) 원의 경우는 x 좌표보다는 각변수를 이용하면 apparent singularity를 피할 수 있다. 이 경우 운동방정식은

\ddot{\theta} = -\sin \theta,

로 주어진다. 

(C) cycloid는 곡선을 따라 움직이는 시간

t =\int \frac{ds}{v} = \int  \sqrt{\frac{1 + (dx/dy)^2}{2g(1-y)}}dy

을 최소로 만들어주는 곡선이다. cycloid는 다음과 같이 R 변수와 각도 변수 \theta로 표현할 수 있다.

1-x=R(\theta-\sin \theta),~~y-1= -R(1-\cos \theta)

이 곡선이 (0,0)을 지나야 하는 조건에서 R과 그 때의 \theta 값을 구할 수 있다. 먼저 \theta을 소거하면,

R \cos \Big( \frac{1+\sqrt{2R-1}}{R} \Big) + 1 = R

을 얻고, 이 식의 근을 구하면 R 값이 정해진다. 또한, 1=R(\theta- \sin \theta)을 풀어서 (0,0)에 도달할 때 \theta=\theta_0 값을 얻을 수 있다. 그리고 시간과 \theta 변수의 관계는 위의 표현을 적분에 대입하면 

t = \sqrt{ \frac{R}{g} }  \theta

로 주어짐을 알 수 있다. 이는 사이클로이드가 일정하게 굴러가는 바퀴의 한 점이 그리는 자취이기 때문이다.

 

아래는 5가지 경우의 곡선 각각에서 운동을 보여주는 mathematica 코드다. 곡선의 모양에 따라 바닥에 도착하는 시간이 다름을 알 수 있다. 출발 높이가 H일 때 걸리는 시간은 \sqrt{H/g} 단위로 

직선: t_1=\int_0^1{ \frac{dy}{\sqrt{1-y}}} = 2

2차 곡선: t_2=\int_0^1\sqrt{ \frac{1+4y}{8y(1-y)}}dy= 1.86336

6차 곡선: t_6=\int_0^1 \sqrt{\frac{1+36y^{5/3}}{72y^{5/3}(1-y)}}dy=1.90954

4분원: t_c=\int_0^{\pi/2} \frac{d \theta}{\sqrt{2\sin \theta }}=1.85407

cycloid: t_0= \sqrt{R}\theta_0 = 1.82568

Cyan: 직선, Blue: 2차 곡선, Magenta: 6차 곡선, Black: 원, Red: cycloid

728x90
,