Download presentation
Presentation is loading. Please wait.
Published byAntonio Negro Modified 約 5 年前
1
Simulationプログラムの作り方 ボールを初速Vで、水平からw度の角度で斜めに投げたとき、ボールの軌跡は次式で表せます。 X = V * cos(w) * t 式(1) Y = V * sin(w) * t - 1/2 * g * t2 式(2) この式を用いて、シミュレーションを行う。
2
Simulationプログラムの作り方 1.計算パラメータの収得 入力するパラメータは、初速V(m/s)、
2.計算ループの作製 計算ループの終了条件を決めておく 必要がある。 3.計算結果の表示方法 Console関数を用いて計算結果を数値 SDLによるグラフィック
3
Simulationプログラムの作り方 1.パラメータについて 必要なパラメータは、V,w,gです。 これらはPrintfとScanfをもちいて、 コンソール画面から入力する。 SetConsole(); /*コンソール画面の起動*/ Printf("パラメータを入力してください\n"); Printf("初速V = "); Scanf("%lf",&V); Printf("角度w = "); Scabf("%lf",&w); Printf("重力加速度g = "); Scanf("%lf",&g);
4
Simulationプログラムの作り方 2.計算ループについて この問題では、計算する時間tmaxが算出できる。 これをつかうことで計算ループを作製できる。 tmax = 2.0*V*sin(w*M_PI / 180.0)/g; for (t = 0.0;t <= tmax;t += dt){ /* t秒後のX座標の計算 */ x = V * cos(w*M_PI / 180.0) * t; /* t秒後のY座標の計算 */ y = V * sin(w*M_PI / 180.0) * t * g * t * t; }
5
3. 計算結果の表示 計算結果を配列にいれて保存しておき、 あとで表示する方法 計算ループ中で表示を行う方法
Simulationプログラムの作り方 3. 計算結果の表示 計算結果を配列にいれて保存しておき、 あとで表示する方法 計算ループ中で表示を行う方法
6
Simulationプログラムの作り方 3. 計算結果の表示 計算ループ中で表示を行う方法
for (t = 0.0;t <= tmax;t += dt){ /* t秒後のX座標の計算 */ x = V * cos(w*M_PI / 180.0) * t; /* t秒後のY座標の計算 */ y = V * sin(w*M_PI / 180.0) * t * g * t * t; /* コンソールへの軌跡の表示 */ Printf(" %lf 秒:(x,y) = (%lf,%lf)\n",t,x,y); }
7
Simulationプログラムの作り方 3. 計算結果の表示 計算ループ中で表示を行う方法
for (t = 0.0;t <= tmax;t += dt){ /* t秒後のX座標の計算 */ x = V * cos(w*M_PI / 180.0) * t; /* t秒後のY座標の計算 */ y = V * sin(w*M_PI / 180.0) * t * g * t * t; /* コンソールへの軌跡の表示 */ Printf(“ %lf 秒:(x,y) = (%lf,%lf)\n”,t,x,y); /* SDLでの軌跡の表示 */ putpixel(screen, x+X_OFF, -y+Y_OFF, Green); SDL_UpdateRect(screen,0,0,0,0); SDL_Delay(100); }
Similar presentations
© 2024 slidesplayer.net Inc.
All rights reserved.