バネモデルの シミュレータ作成 精密工学科プログラミング基礎 資料.

Slides:



Advertisements
Similar presentations
シミュレーション演習 G. 総合演習 ( Mathematica 演 習) システム創成情報工学科 テキスト作成: 藤尾 光彦 講義担当: 尾下 真樹.
Advertisements

1 運動方程式の例2:重力. 2 x 軸、 y 軸、 z 軸方向の単位ベクトル(長さ1)。 x y z O 基本ベクトルの復習 もし軸が動かない場合は、座標で書くと、 参考:動く電車の中で基本ベクトルを考える場合は、 基本ベクトルは時間の関数になるので、 時間で微分して0にならない場合がある。
シミュレーション論Ⅰ 第 7 回 待ち行列のシミュレーション(2). 第 6 回のレポート(解答例) 乱数表より乱数を記入し、到着間隔・サービス時間にした がってグラフを作成する 例) 最大待ち人数:2人 最大待ち時間:5分 平均待ち時間:3分.
ファーストイヤー・セミナーⅡ 第13回 2次元グラフィックス(1). 2次元グラフィックス Ultra-C では、これまで利用してきた「標準入出力」 以外に「グラフィックス画面」があり、図形などを 表示できる C 言語のグラフィックスには細かな規定がなく、こ れから学ぶ内容が他の環境、システムでは利用でき.
数学のかたち 数学解析の様々なツール GRAPSE編 Masashi Sanae.
情報・知能工学系 山本一公 プログラミング演習Ⅱ 第3回 配列(1) 情報・知能工学系 山本一公
情報処理演習 (9)グラフィックス システム科学領域 日浦 慎作.
今回の内容 前回の復習 演習環境 サンプルプログラムの解説 プログラミング演習 OpenGLとGLUTの概要 サンプルプログラムの概要
Fortran と有限差分法の 入門の入門の…
・力のモーメント ・角運動量 ・力のモーメントと角運動量の関係
今日の内容 前回の演習の復習 前回の復習 ポリゴンの描画方法(復習) 基本オブジェクトの描画 ポリゴンモデルの描画 演習課題.
基礎プログラミングおよび演習 第4回 担当:花岡 5階522/520.
今日の内容 前回の復習 前回の演習の復習 視点操作の実現方法(復習) 視点操作の拡張 変換行列によるアニメーション 演習課題.
システムプログラミング 第5回 情報工学科 篠埜 功 ヒアドキュメント レポート課題 main関数の引数 usageメッセージ
マルチエージェント・シミュレーション(2)
第4回:ボールを画面内で弾ませよう! (オブジェクトの移動、二次元)
プログラミング言語論 第6回 型 情報工学科 篠埜 功.
大阪工業大学 情報科学部 情報システム学科 宇宙物理研究室 B 木村悠哉
ブロック線図によるシミュレーション ブロック線図の作成と編集 ブロック線図の保存と読込み ブロック線図の印刷 グラフの印刷
湘南工科大学 2013年12月10日 プログラミング基礎1 湘南工科大学情報工学科 准教授 小林 学.
精密工学科プログラミング基礎 第9回資料 (12/11 実施)
コンピュータグラフィックスS 第6回 第6回 レンダリング・パイプライン システム創成情報工学科 尾下 真樹
3次元剛体運動の理論と シミュレーション技法
精密工学科プログラミング基礎Ⅱ 第3回資料 今回の授業で習得してほしいこと: 2次元配列の使い方 (前回の1次元配列の復習もします.)
シミュレーション演習 G. 総合演習 (Mathematica演習) システム創成情報工学科
第四回 ゲーム                 05A1054         前田嵩公.
CGと形状モデリング 授業資料 長井 超慧(東京大学)
C 言語について 補足資料 資料および授業の情報は :
DirectX 勉強会 第4回.
DirectX勉強会 第5回.
C言語でスレッド (Pthread) 2007年1月11日 海谷 治彦.
グラフアルゴリズムの可視化 数理科学コース 福永研究室 高橋 優子 2018/12/29.
電界中の電子の運動 シミュレータ作成 精密工学科プログラミング基礎 資料.
OpenGLを使ったプログラム作成 澤見研究室
第9回 卒業研究1
精密工学科プログラミング基礎 第10回資料 (12/18実施)
1DS05175M 安東遼一 1DS05213M 渡邉光寿 指導教員: 高木先生
OpenGLライブラリを用いた3次元フラクタルの描画
プログラミング基礎a 第10回 Javaによる図形処理入門(2) GUIの使い方
数学教育・工学教育における 数式処理電卓の活用
ゲームプログラミング講習  第3章 ゲーム作成 ブロック崩しを作ります ゲームプログラミング講習 第3章 ゲーム作成.
プログラミング基礎a 第10回 Javaによる図形処理入門(2) GUIの使い方
プログラミング基礎a 第12回 Java言語による図形処理入門(3) アニメーション入門
プログラミング基礎a 第11回 Java言語による図形処理入門(3) アニメーション入門
ポリゴンメッシュ (2) - 変形と簡略化- 東京大学 精密工学専攻 大竹豊 資料および授業の情報は :
情報処理 タイマの基礎 R8C タイマの基礎.
プロジェクト演習Ⅱ インタラクティブゲーム制作
精密工学科プログラミング基礎Ⅱ 第4回資料 今回の授業で習得してほしいこと: 文字列の扱い ファイル入出力の方法 コマンドライン引数の使い方
電機情報工学専門実験 6. 強化学習シミュレーション
CGと形状モデリング 授業資料 1,2限: 大竹豊(東京大学) 3,4限: 俵 丈展(理化学研究所)
オブジェクト指向言語論 第六回 知能情報学部 新田直也.
プログラミング言語論 第六回 理工学部 情報システム工学科 新田直也.
精密工学科プログラミング基礎Ⅱ 第5回資料 今回の授業で習得してほしいこと: 構造体 (教科書 91 ページ)
プログラミング 3 2 次元配列.
シミュレーション論Ⅰ 第7回 シミュレーションの構築と実施.
手書き文字の自動認識アプリケーション 15K1013 坂本 倖輝
基礎プログラミング演習 第6回.
免許法認定公開講座: コンピュータグラフィックス
精密工学科プログラミング基礎 第7回資料 (11/27実施)
プログラミング基礎a 第9回 Java言語による図形処理入門(1) Javaアプレット入門
クラウド・地域人材利用型プログラミング教育実施モデル実証事業 公益財団法人 学習ソフトウェア情報研究センター
シミュレーション演習 G. 総合演習 (Mathematica演習) システム創成情報工学科
力覚インタラクションのための 物理ベースモデリング
精密工学科プログラミング基礎Ⅱ 第2回資料 今回の授業で習得してほしいこと: 配列の使い方 (今回は1次元,次回は2次元をやります.)
2次元のオブジェクト ◆ 種類 2次元のグラフィックス ポイント(点) ライン(線分,折れ線) エリア(多角形など) 文字列(テキスト)
情報処理Ⅱ 2005年11月25日(金).
プログラミング入門2 第5回 配列 変数宣言、初期化について
CGと形状モデリング 授業資料 1,2限: 大竹豊(東京大学) 3,4限: 俵 丈展(理化学研究所)
岩村雅一 知能情報工学演習I 第7回(後半第1回) 岩村雅一
オブジェクト指向言語論 第六回 知能情報学部 新田直也.
Presentation transcript:

バネモデルの シミュレータ作成 精密工学科プログラミング基礎 資料

目標 バネモデルを用いて,シミュレーションをする サンプルプログラムを完成・拡張させる ゼリーのような物体を想像 質点の集まりが バネでつながって いるとモデル化 重力 点の位置が シミュレーションにより 移動していく 中心の位置を拘束

バネモデル バネの復元力により各質点に力がかかる L より短いので p は押される L より長いので p は引かれる

サンプルのコンパイル方法 OpenGL と GLUT というライブラリを使用 gcc -framework OpenGL –framework GLUT sample.c MAC のコンパイルにおいて、 ライブラリを指定するオプションです. メモ : OpenGL : 2D・3Dグラフィックス描画のためのライブラリです. GLUT : ウィンドウを出したりマウスの操作を行うための OpenGL の補助ライブラリです.

プログラムの概要 プログラム全体で使う変数 (広域変数) 格子点の位置と速度 → 5ページ initPoints 関数 display 関数  格子点の位置と速度 → 5ページ initPoints 関数 点の位置の初期化 → 5ページ display 関数 絵の描画 idle 関数 時間経過による,点の位置・速度の更新 mouse 関数 画面の更新が 必要な時に呼ばれる 定期的に繰り返し 実行される マウスが押されたとき 実行される reshape 関数 ウィンドウサイズに関わるもろもろの処理 main 関数 ウィンドウの初期化,GLUTへの関数の登録など 今回は 変更の必要なし

関数 initPoints() で、値は初期化されている データ構造 N×N の2次元配列で位置と速度を保持 関数 initPoints() で、値は初期化されている (格子状に円盤をサンプルしている)

課題 関数 display() で,バネを表す線分を描け (上下・左右の4本でつながっているとする) 斜めをいれてもよい 関数 idle() で,バネによる力を加えよ ダンパをいれてもよい 関数 mouse() で,マウスにより質点を選び任意の位置で固定できるようにせよ バネの間をポリゴンで埋め, 力の大きさを色で示せ

参考になる URL OpenGL プログラミングについて 微分方程式の数値解法について http://www.wakayama-u.ac.jp/~tokoi/opengl/libglut.html http://www.akita-nct.ac.jp/~yamamoto/lecture/2003/5E/lecture_5E/diff_eq/diff_eq.html