斜面での落下

注意：うまくアニメーションが作れないとき

パラメターの値が固定されている場合、うまくアニメーションが作れないときがあります．パラメーターをリセットしてもう一度、トライしてください．

ClearAll["Global`*"]

台が固定されている場合

例

滑り落ちる距離x[t]は

x[t_]:=x0-(1/2) g (t^2) Sin[θ]

であるから、物体の位置{X, Y}は原点をx0滑り落ちたところとすれば、

{X, Y}={x[t]Cos[θ], x[t]Sin[θ]}

となる．したがって、例えば、

{g, x0,θ}={9.8, 1, Pi/6};
a =0.1 ;
Manipulate[Evaluate[Show[Graphics[{Hue[.9],Polygon[{{X,Y},{a Cos[θ]+X,a Sin[θ]+Y},{a Cos[θ]-a Sin[θ]+X,a Sin[θ]+a Cos[θ]+Y},{-a Sin[θ]+X,a Cos[θ]+Y},{X,Y}}],Hue[.6],Polygon[{{0,0},{x0 Cos[θ](1+a),x0 Sin[θ](1+a)},{x0 Cos[θ](1+a),0},{0,0}}], Text["time =", {a,x0-a}],Text[ t, {3a,x0-a}]}],AspectRatio->1,PlotRange->{{-a,x0+a},{-a,x0+a}},Background->Hue[0.2]]],{t,0,(((Sqrt[2]) (Sqrt[x0]) (Sqrt[Csc[θ]]))/(Sqrt[g])),0.01}]

台が滑らかな床に置かれている場合

摩擦のない斜面（水平線とのなす角度をθとする）をもつを質量Mの物体Aと、その斜面を滑り落ちる質量mの物体Bとの運動を考察しよう．物体Bの滑り落ちた距離をx とし、物体Aの重心の水平軸座標をZとする．物体Aと床との摩擦はないものとする．

{x0,θ,X, Y}={ 1, Pi/6, .8,.4+0.05};
a =0.1 ;
Show[Graphics[{Hue[.9],Polygon[{{X,Y},{a Cos[θ]+X,a Sin[θ]+Y},{a Cos[θ]-a Sin[θ]+X,a Sin[θ]+a Cos[θ]+Y},{-a Sin[θ]+X,a Cos[θ]+Y},{X,Y}}],Hue[.6],Polygon[{{0,0},{x0 Cos[θ](1+a),x0 Sin[θ](1+a)},{x0 Cos[θ](1+a),0},{0,0}}],GrayLevel[0],Text["m", {0.815683, 0.531359}], Text["M", {0.711152, 0.221949}],Text["θ", {0.171774, 0.0546994}],Text[ "Sliding on an incline which can slide on the floor.", {.4,x0-a}]}],AspectRatio->1,PlotRange->{{-a,x0+a},{-a,x0 +a}},Background->Hue[0.2, 0.2,1]]

まず、次の記号の値を消しておく．

Clear[g, m, θ, Y, X, x0]

物体Aから物体Bにかかる抗力をR, 物体Bの座標を{X, Y}, 物体Aの座標を{Z, 0}とするとニュートンの第二法則より

m (((d^2)X(t))/(d(t^2)))=-R(t) sin(θ)

m (((d^2)Y(t))/(d(t^2)))=R(t) cos(θ)-m g

M (((d^2)Z(t))/(d(t^2)))=R(t) sin(θ)

の３式が得られる．また、物体Bは物体Aの上に存在するから(constraint condition, 束縛条件)、

( X[t] - Z[t] ) Tan[θ] == Y[t]

でなければならない．運動方程式からRを消去する．

Eliminate[{m D[ X[t],{t, 2}]==-R[t] Sin[θ], m D[ Y[t],{t, 2}]==R[t] Cos[θ]-m g, M D[ Z[t],{t, 2}]==R[t] Sin[θ]}, R[t]]

今度は束縛条件から

( X''[t]-Z''[t] )Tan[θ] ==Y''[t]

であることに注意してY"を消去する．

Eliminate[{g m Sin[θ]==-m Sin[θ] Y''[t]+M Cos[θ] Z''[t],m X''[t]==-M Z''[t],( X''[t]-Z''[t] )Tan[θ] ==Y''[t] },  Y''[t]]

従って、初期条件を次のように仮定して微分方程式を解く．

DSolve[{m X''[t]==-M Z''[t],g m Sin[θ]==(M Cos[θ]+m Sin[θ] Tan[θ]+M Sin[θ] Tan[θ]) Z''[t], Z[0]==0, Z'[0]==0,X[0]== x0 Cos[θ], X'[0]==0}, {X[t], Z[t]}, t ]

Simplify[%]

解が求まったのでX, Zの定義を行う．

{X[t_], Z[t_]}={X[t], Z[t]}/.First[%]

従ってYは

Y[t_] = Simplify[( X[t]-Z[t] )Tan[θ]]

となる．運動量を計算すると

Simplify[m X'[t] +M Z'[t] ==0]

となり水平方向の線運動量が保存されていることがわかる．エネルギー（運動エネルギーと位置エネルギーの和）はどうか？

Simplify[(1/2) m ((X'[t])^2)+(1/2) m ((Y'[t])^2)+(1/2) M ((Z'[t])^2)+m g Y[t]]

となり時間によらない．値はt=0のときのエネルギー値である．求めた解が正しいものであることが上の計算により確かめられた．最後に、もしmが大きければ上と同じ解をえるはずである．例えば、

Limit[X[t], M->Infinity]

Limit[Y[t], M->Infinity]

より滑り落ちた距離xは

Simplify[Sqrt[%^2 +%%^2]]

すなわち、

-1/2(-2 x0+g (t^2) Sin[θ])

となり（物理的考察より符号を選んだ）同じであることがわかる．

X[t]

Y[t]

Z[t]

{g, x0,θ,m,M}={9.8, 1, Pi/5,1,3};
a =0.1 ;
Manipulate[Evaluate[Show[Graphics[{Hue[.9],Polygon[{{X[t],Y[t]},{a Cos[θ]+X[t],a Sin[θ]+Y[t]},{a Cos[θ]-a Sin[θ]+X[t],a Sin[θ]+a Cos[θ]+Y[t]},{-a Sin[θ]+X[t],a Cos[θ]+Y[t]},{X[t],Y[t]}}],Hue[.6],Polygon[{{0+Z[t],0},{x0 Cos[θ](1+a)+Z[t],x0 Sin[θ](1+a)},{x0 Cos[θ](1+a)+Z[t],0},{0+Z[t],0}}], Text["time =", {a,x0-a}],Text[ t, {3a,x0-a}]}],AspectRatio->1,PlotRange->{{-a,x0+a+Z[.4]},{-a,x0+a}},Background->Hue[0.2]]],{t,0,(((Sqrt[2]) (Sqrt[x0]) (Sqrt[Csc[θ]]))/(Sqrt[g])),0.01}]

list=
Table[Evaluate[Show[Graphics[{Hue[.9],Polygon[{{X[t],Y[t]},{a Cos[θ]+X[t],a Sin[θ]+Y[t]},{a Cos[θ]-a Sin[θ]+X[t],a Sin[θ]+a Cos[θ]+Y[t]},{-a Sin[θ]+X[t],a Cos[θ]+Y[t]},{X[t],Y[t]}}],Hue[.6],Polygon[{{0+Z[t],0},{x0 Cos[θ](1+a)+Z[t],x0 Sin[θ](1+a)},{x0 Cos[θ](1+a)+Z[t],0},{0+Z[t],0}}], Text["time =", {a,x0-a}],Text[ t, {3a,x0-a}]}],AspectRatio->1,PlotRange->{{-a,x0+a+Z[.4]},{-a,x0+a}},Background->Hue[0.2]]],{t,0,(((Sqrt[2]) (Sqrt[x0]) (Sqrt[Csc[θ]]))/(Sqrt[g])),0.01}];

Length[list]

Export["incline.gif",list]