シミュレーション作成実習6

 

6.床でバウンドするボールを再現する。

 

  <目的> 切替スイッチの使い方をマスターする


+ 左画面から、以下に紹介している「床でバウンドするボール」の作成実習マニュアルのA4版PDFファイルをダウンロードできます。

  ご利用下さい。


 

 投げ上げたボールが床でバウンドする様子を再現してみる。

 真上にVoyで投げあげたボールは 2Voy/g 秒後に床に Voyの速度で(速さVoy)落ちて来ます。(OK?)

 跳ね返り係数(反発係数)eとは衝突前後の相対速度の大きさの比(衝突前後の速さの比)なので、床の速度は常に0なのでボールが跳ね返る速さをVoy1とすると e=Voy1/Voy となるので 

1回目の衝突後のボールは Voy1=Voy で跳ね返る(投げあげられる)ことになります。(OK?)

 

 この衝突を繰り返すことになるので 2回目の衝突後の速さVoy2=Voy1☓e=Voy☓e☓eとなり

n回目の衝突後の速さ Voyn=e☓Voy(n-1) ・・・式①(Voy☓eのn階乗)と表せます。(OK?)

 

 他方、 Voynで投げあげられたボールは⊿tn=2☓Voyn/g秒後に落ちてくるので、n回目の衝突の時刻をtnとすると次n+1回目の衝突時刻tn+1=tn+⊿tn=tn+2☓Voyn/g・・・式②となり、これが運動の切り替え時刻(スイッチ)となります。(OK?)

 

 これからの作業は、まず(1)で初期設定値設定とTimerを作り、(2)でバウンド回数nとその時刻の一覧表を作り、(3)で衝突回数n、投げ上げ初速Voyn、衝突時刻t′の一覧表を作り、(4)でカウンター、時刻t、衝突回数n、衝突時刻t′n、衝突後の時刻t′、ボールの位置Yの一覧を作り、(5)でボールの位置座標を設定し、(6)でXYグラフでボールを設定しします。 

 

(1)初期設定値設定とTimerを作る。 

 右図の様に、セルQ5に0.02、Q9に10、Q13に0.8を入れる。

 

 Q3には =Q5*R3 と言う計算式を入れる。

 

 

 

 

 カウンター用のスピンボタンは以下の要領で 設置する。

 「開発」⇒「挿入」⇒「AxtiveXコントロール」の中のスピンボタン を選択し、上の図の様な位置で横長のスピンボタンを貼り付けます。

 

  [開発] タブが表示されていない場合は、

[ファイル] タブから、[オプション] の[リボンのユーザー設定]画面を表示させて、 [メイン タブ] の下の [開発] チェック ボックスをオンにします。

 スピンボタンの上で右クリックし、「プロパティー」をクリックし一覧を表示し、LincdeCell には R3Max には 500 位(大きければ良い)を記述する。

 

 次に今の状態が「デザインモード」状態なのでこのままではスピンボタンが動かないので、これを解除する。解除は、[開発]タブで表示される画面(右上図)の「デザインモード」をクリックしON/Offを行う。

 

 これで、スピンボタンを使ったTimerと初期値の設定作業が終わりました。スピンボタンを押してみてください。

 

「Reset」ボタンが有ると便利ですが、ココでは省略します。リセットする時は、R3に0を入れてください。


(2)バウンド回数nとその時刻の等の一覧表スイッチ表)を作る。

 右図の様に、B30~B40及びF30~F40には0~10までの連続数を入れて置く。

 

 C30には=$Q$9という計算式を、D30には (ゼロ)を入れて置く。

 

 C31には =C30*$Q13 という計算式を入れコピーし、C32~C40に貼り付ける。(Voyn=e☓Voy(n-1) ・・・式①

 

 D30には =2*C30/9.8 という計算式を入れコピーし、D31~D40に貼り付ける。(⊿tn=2☓Voyn/g

 

 E31には =E30+D30 という計算式を入れコピーし、E32~E40に貼り付ける。(tn+1=tn+2☓Voyn/g=tn+⊿tn・・・式②

 

 こえれでスイッチ表は完了しました。(ここまでOK?)


(3)衝突回数n、投げ上げ初速Voyn、衝突時刻t′n の一覧表を作る。

① H31~H531まで0~500の通し番号をふる。(スピンボタンのMaxを500にしたから)

 

② I31に =$Q$5*H31 と入れコピーしI32~I531まで貼り付ける。(tn=tn―1+⊿t)

 

③ 31に =VLOOKUP(I31,$E$30:$F$40,2) と入れコピーしJ32~J531まで貼り付ける。

 

④ 31に =VLOOKUP(J31,$B$30:$E$40,4) と入れコピーしK32~K531まで貼り付ける。

 

⑤ 31に =I31-K31 と入れコピーしL32~L531まで貼り付ける。

 

⑥ 31に =VLOOKUP(J31,$B$30:$C$40,2) と入れコピーしM32~M531まで貼り付ける。

 

⑦ 31に =M31*L31ー9.8*L31^2/2 と入れコピーしN32~N531まで貼り付ける。(y=voy☓t-gt^2/2の投げ上げの式)

 

 これで真上に投げられた物体の時刻ごとのボールの高さyを表す一覧表が出来た。(ここまでOK?)

 


(4)ボールの位置座標を設定する。

 Q17に =Vlookup($Q$3,$I$31:$O$531、 と入力する。

 

Y=Voy☓tg☓t^2/2 と表現されるのでバウンドが終わった後は負(-)の値になってっしまうので、R17には VLookで探した値 Vlookup($Q$3,$I$31:$O$531、)が負(-)の時は0となるように条件を付けた 

 =IF(Vlookup($Q$3,$I$31:$O$531、)<0,0、Vlookup($Q$3,$I$31:$O$531、)) を入力する。

 

 


(5)ボールの動きをグラフで表す

 右図の様に、「挿入」⇒「散布図」⇒(平滑線)をクリックしていくと新しいグラフが作成されます。

 グラフ上で右クリック⇒「データの選択」⇒データソースの選択ダイアログの「追加」⇒系列の編集ダイアログの(系列名)に=Sheet1!$Q$15 、(系列Xの値)に =Sheet1!$$17 ,(系列Yの値)に =Sheet1!$$17 を指定する。

 グラフ上で右クリックし☓☓エリアの書式設定を選択し書式設定ダイアログを表示させておく

 次に「書式」タブ  ⇒  左上隅系列リストから「ボールの位置」 ⇒  書式設定ダイアログ「マーカーオプション」「組み込み」⇒種類「〇」⇒サイズ「9」 の順で設定する。

 グラフ縦軸(y)をクリック⇒書式設定ダイアログ「軸のオプション」最小値「0」最大値「40」とセットする。

 

 同様に、横軸(X)をクリック⇒書式設定ダイアログ「軸のオプション」最小値「-5」最大値「100」とセットする。

 Timerのスピンボタンを押し続けると、

鉛直上方向に初速20m/sで投げあげられたボールが跳ね返り係数e=0.8でバウンドする様子が再現されるようになる。

 スピンボタンを押しても動かない時は、

デザインモードになっているので以下の手順で解除してください。

 

 

 

 

 

 

<デザインモードの解除法>

 

 スピンボタンが図の様になっていたらデザインモードになっていますので解除します。 

 「開発」⇒「デザインモード」の順でクリックします。これで解除できます。

 スピンボタンが図の様になってい無い時はどこかで作業ミスがあったようなので最初から点検してください。


 次の課題に取り組んでみよう!

 

(6)課題1・・斜方投射されたボールのバウンドにする。

 

 

 まず、Voxの値にを入れる。

 

 N31に計算式を記述しこれをコピーしてN32~N531に貼り付けて斜方投射にしたいが、N31に記述する計算式や如何(いか)に?。

 コピーすることを考えコピーしても変化しないセル(絶対セル)とコピーすると一緒に変化していくセル(相対セル)を使い分け記述すること。

 

 出来たらカウントを0にし、動かしてみて下さい。上手く動きましたか?

 

   課題2・・斜方投射されたボールのバウンドの軌跡を描く。

右画面は完成例ですが、これを参考にして作ってみてください。

<ヒント>

 グラフ上で右クリック⇒データ選択追加・・・ の順で、X値はN31~N531に設定し・・・

 

出来ましたか?

   課題3・・時間経過に合わせ軌跡が描かれていくようにする。

 バウンドするボールの通った後に軌跡が順次描かれていくようにするにはどうすればよいのかを考えてみて下さい。

 

<ヒント>

 N32とO32の数式に、もしI列に書いてある時間が現在の時刻より先の時刻ならば①ひとつ前の時刻の値現在の時刻を過ぎている時は②元から入っている計算式の値となるよう 条件式(IF関数)を書き加える

 

IF関数の構文  =IF(条件式、条件に合うときの処置、条件に合わない時の処置

 

 N32とO32に条件式を書き加えたら、N33とO32をコピーし531行まで貼り付けてください。(絶対セルと相対セルの使い分けはできていますか?)

 

 以上で実習6は終わりです。    完成例はここ(実習6)からDownload できます。