Simulationプログラムの作り方 ボールを初速Vで、水平からw度の角度で斜めに投げたとき、ボールの軌跡は次式で表せます。 X = V * cos(w) * t 式(1) Y = V * sin(w) * t - 1/2 * g * t2   式(2) この式を用いて、シミュレーションを行う。

Slides:



Advertisements
Similar presentations
1 運動方程式の例2:重力. 2 x 軸、 y 軸、 z 軸方向の単位ベクトル(長さ1)。 x y z O 基本ベクトルの復習 もし軸が動かない場合は、座標で書くと、 参考:動く電車の中で基本ベクトルを考える場合は、 基本ベクトルは時間の関数になるので、 時間で微分して0にならない場合がある。
Advertisements

初年次セミナー 第8回 データの入力.
第3回:ボールを上下に動かそう! (オブジェクトの移動、一次元)
基礎プログラミングおよび演習 第4回 担当:花岡 5階522/520.
CODE::BLOCKSで 無料で簡単 Windowsアプリ開発
確率論・数値解析及び演習 ─ 数値解析 ─ 第三章 (補足資料) 名古屋大学工学部電気電子・情報工学科 電気電子工学コース.
ファーストイヤー・セミナーⅡ 第8回 データの入力.
6/19 前回復習 for文による繰り返し計算 演習1:1から10まで足して画面に結果を表示する 提出者: 1人
岩村雅一 知能情報工学演習I 第9回(C言語第3回) 岩村雅一
心理学情報処理法Ⅰ やってみよう:Excelを使ってみよう.
大阪工業大学 情報科学部 情報システム学科 宇宙物理研究室 B 木村悠哉
ブロック線図によるシミュレーション ブロック線図の作成と編集 ブロック線図の保存と読込み ブロック線図の印刷 グラフの印刷
プログラミング入門2 総合演習課題 2008年 1/7, 1/21 実施 これまでの講義内容についての腕試し
岩村雅一 知能情報工学演習I 第11回(後半第5回) 岩村雅一
EVENT プログラミングのスタイル 手続き型: ある決められた場所から開始され, その後は純粋に上から下に流れて行く方式. 実行したいことを, 順番に記述してゆく. 逐次処理形式コーディングの方法である。 今までの授業(情報処理2や3)で 行ってきたプログラミングの演習 bcc32やmake 手続き型.
Cプログラミング演習.
プログラミング応用 printfと変数.
電界中の電子の運動 シミュレータ作成 精密工学科プログラミング基礎 資料.
プログラミング序論 2. n人のインディアン.
岩村雅一 知能情報工学演習I 第9回(後半第3回) 岩村雅一
今までの練習問題の復習.
前回の練習問題.
知能情報工学演習I 第9回(後半第3回) 課題の回答
第14章 ファイル操作 (コマンドプロンプト版)
岩村雅一 知能情報工学演習I 第10回(後半第4回) 岩村雅一
東京大学人間環境学専攻 奥田・橋本研究室 修士1年 相良 光志
復習 前回の関数のまとめ(1) 関数はmain()関数または他の関数から呼び出されて実行される.
Nakano School of Business 経営情報ビジネス科 【 C言語入門(Test2)】
ゲームプログラミング講習  第3章 ゲーム作成 ブロック崩しを作ります ゲームプログラミング講習 第3章 ゲーム作成.
四則演算,変数 入力文,出力文,代入文, ライブラリ関数
or-3. 作業リスト,スケジューリング,PERT図 (オペレーションズリサーチを Excel で実習するシリーズ)
プログラミング基礎B 文字列の扱い.
岩村雅一 知能情報工学演習I 第11回(後半第5回) 岩村雅一
岩村雅一 知能情報工学演習I 第9回(後半第3回) 岩村雅一
第14章 ファイル操作 14.1 ファイルへの書き込み 14.2 ファイルからの読み込み 14.3 ファイルへの追加書き込み
2013年度 プログラミングⅡ ~ 計算してみよう ~.
2015年度 プログラミングⅡ ~ 計算してみよう ~.
岩村雅一 知能情報工学演習I 第9回(C言語第3回) 岩村雅一
疑似乱数, モンテカルロ法によるシミュレーション
実数列を生成する際の注意 数学関数の利用 Excel によるリサージュ図形描画 Excel による対数グラフ描画
OSが管理している、デフォルトの入出力装置 入力:stdin キーボード 出力:stdout モニタ(コマンドプロンプトの画面)
第14章 ファイル操作 14.1 ファイルへの書き込み 14.2 ファイルからの読み込み 14.3 ファイルへの追加書き込み
プログラミング序論演習.
岩村雅一 知能情報工学演習I 第9回(後半第3回) 岩村雅一
プログラミング序論演習.
復習 breakとcontinueの違い int i; for (i = 1; i <= 100; i++) { ・・・処理1・・・・
復習 Cにおけるループからの脱出と制御 break ループを強制終了する.if文と組み合わせて利用するのが一般的. continue
大阪工業大学 情報科学部 情報科学科 学生番号 A 苧谷 真行
アルゴリズムとデータ構造 --- 理論編 --- 山本 真基
バネモデルの シミュレータ作成 精密工学科プログラミング基礎 資料.
復習 breakとcontinueの違い int i; for (i = 1; i <= 100; i++) { ・・・処理1・・・・
実数列を生成する際の注意 数学関数の利用 Excel によるリサージュ図形描画 Excel による対数グラフ描画
プログラミング基礎演習 第4回.
標準入出力、変数、演算子、エスケープシーケンス
プログラミング基礎a 第3回 C言語によるプログラミング入門 データ入力
cp-15. 疑似乱数とシミュレーション (C プログラミング演習,Visual Studio 2019 対応)
cp-3. 計算 (C プログラミング演習,Visual Studio 2019 対応)
岩村雅一 知能情報工学演習I 第10回(後半第4回) 岩村雅一
3 ウイルスチェック ~方法1~ ウイルスチェックの方法 USBメモリの場合 ①USBをパソコンに差し込む。 ウイルスチェックをしよう
四則演算,変数 入力文,出力文,代入文, ライブラリ関数
プログラミング序論演習.
信号データの変数代入と変数参照 フィードバック制御系の定常特性 フィードバック制御系の感度特性
プログラミング基礎a 第3回 C言語によるプログラミング入門 データ入力
printf・scanf・変数・四則演算
第14章 ファイル操作 14.1 ファイルへの書き込み 14.2 ファイルからの読み込み 14.3 ファイルへの追加書き込み
第2章 数値の入力と変数 scanfと変数をやります.
知能情報工学演習I 第9回(後半第3回) 課題の回答
復習 いろいろな変数型(2) char 1バイト → 英数字1文字を入れるのにぴったり アスキーコード → 付録 int
= 55 課題6-1 #define _CRT_SECURE_NO_WARNINGS
岩村雅一 知能情報工学演習I 第9回(C言語第3回) 岩村雅一
Presentation transcript:

Simulationプログラムの作り方 ボールを初速Vで、水平からw度の角度で斜めに投げたとき、ボールの軌跡は次式で表せます。 X = V * cos(w) * t 式(1) Y = V * sin(w) * t - 1/2 * g * t2   式(2) この式を用いて、シミュレーションを行う。

Simulationプログラムの作り方 1.計算パラメータの収得 入力するパラメータは、初速V(m/s)、 2.計算ループの作製  計算ループの終了条件を決めておく  必要がある。 3.計算結果の表示方法  Console関数を用いて計算結果を数値  SDLによるグラフィック

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);

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 - 0.5 * g * t * t; }

3. 計算結果の表示 計算結果を配列にいれて保存しておき、 あとで表示する方法 計算ループ中で表示を行う方法 Simulationプログラムの作り方 3. 計算結果の表示 計算結果を配列にいれて保存しておき、  あとで表示する方法 計算ループ中で表示を行う方法

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 - 0.5 * g * t * t; /* コンソールへの軌跡の表示 */ Printf(" %lf 秒:(x,y) = (%lf,%lf)\n",t,x,y); }

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 - 0.5 * 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); }