OpenGLライブラリを用いた3次元フラクタルの描画

Slides:



Advertisements
Similar presentations
Computer graphics 入門 VRML を使用したCG. 2 1.1 Computer の歴史 (1)自動計算システム ブール代数(1854年)+2進法 +スイッチ回路 ⇒ 1940年後半 (2)プログラム内臓式 computer (現在の もの) 集合論(1895年、カントール)+ ラッセルのパラドックス+ヒルベルトの.
Advertisements

ファーストイヤー・セミナーⅡ 第13回 2次元グラフィックス(1). 2次元グラフィックス Ultra-C では、これまで利用してきた「標準入出力」 以外に「グラフィックス画面」があり、図形などを 表示できる C 言語のグラフィックスには細かな規定がなく、こ れから学ぶ内容が他の環境、システムでは利用でき.
数学のかたち 数学解析の様々なツール GRAPSE編 Masashi Sanae.
初年次セミナー 第13回 2次元グラフィックス(1).
情報処理演習 (9)グラフィックス システム科学領域 日浦 慎作.
初年次セミナー 第14回 2次元グラフィックス(2).
パノラマ動画像モデルによる 仮想空間表現システムの研究
本講義の目標: ・C言語とOpenGLを用いて,プログラミングによるコンピュータグラフィックス生成手法について学ぶ
3DCG技法についての 調査報告 ○○県立○○高等学校 1年は組 グループ0.
今日の内容 前回の演習の復習 前回の復習 ポリゴンの描画方法(復習) 基本オブジェクトの描画 ポリゴンモデルの描画 演習課題.
班紹介 描画班一同.
今日の内容 前回の復習 前回の演習の復習 視点操作の実現方法(復習) 視点操作の拡張 変換行列によるアニメーション 演習課題.
形状を平行移動や回転移動させて位置を変えたり,拡大・縮小して変形させる方法を説明する.
Microsoft PowerPointを使ってみよう
平成23年8月 情報学群 岡田 守 このスライドは, 前川佳徳編著による「コンピュータグラフィックス」(オーム社)を基に作成されている.
地理情報システム論 第3回 コンピュータシステムおける データ表現(1)
第18回全国高専プログラミングコンテスト 課題部門 10020
プログラミング演習3 第4回 ミニプロジェクト.
EGSに対応した粒子軌跡と 計算体系の3次元表示ソフト - CGVIEW -
CADの概要2 電子制御設計製図Ⅰ 2009年4月14日 Ⅲ限目.
軌跡とジオメトリー表示プログラム CGVIEW(Ver2.2)の改良
レンダリングにおいて写実性を高めるための処理である,シェーディングとテクスチャマッピングについて述べる.
オブジェクト指向言語論 第十三回 知能情報学部 新田直也.
透視投影(中心射影)とは  ○ 3次元空間上の点を2次元平面へ投影する方法の一つ  ○ 投影方法   1.投影中心を定義する   2.投影平面を定義する
OpenGLによる結び目の 近傍抜き出しソフトウェア 情報システム解析学科 谷研究室  澄川 知弘.
金沢大学 工学部 情報システム工学科3年 岩淵 勇樹
コンピュータグラフィックスS 第6回 第6回 レンダリング・パイプライン システム創成情報工学科 尾下 真樹
文字画像の変形・生成に関する          研究 愛知県立大学情報科学部    情報科学研究科 大槻 汎   巣 宇燕   何 立風.
データ構造とアルゴリズム論 第8章 再帰処理 平成15年12月2日 森田 彦.
チューリング機械 状態の有限集合 ヘッドの方向を表す。 L:1コマ左へ R:1コマ右へ テープ記号の有限集合 入力記号の有限集合 動作関数
CGと形状モデリング 授業資料 長井 超慧(東京大学)
オーサリングツール&ブラウザの 技術的トピック
基礎プログラミング演習 第10回.
Computer Graphics 第3回 座標変換 芝浦工業大学情報工学科 青木 義満
CGと形状モデリング 授業資料 1,2限: 大竹豊(東京大学) 3,4限: 俵 丈展(理化学研究所)
Computer Graphics 第4回 投影・ビューイングパイプライン モデリング 芝浦工業大学情報工学科 青木 義満
グラフアルゴリズムの可視化 数理科学コース 福永研究室 高橋 優子 2018/12/29.
電界中の電子の運動 シミュレータ作成 精密工学科プログラミング基礎 資料.
OpenGLを使ったプログラム作成 澤見研究室
第9回 卒業研究1
垂直多関節ロボットの製作 T19R014 笹野 博昭.
画像処理工学 2013年1月23日 担当教員 北川 輝彦.
点・線分・多角形を レンダリングする方法 東京大学 精密工学専攻 大竹豊.
5章  3次元形状を2次元面に投影する 3次元空間内に定義した形状を,2次元面上(ディスプレイのスクリーン面,プリンタの紙面など)に投影して表示するために必要になる変換について説明する.
構造情報に基づく特徴量を用いた グラフマッチングによる物体識別 情報工学科 藤吉研究室  EP02086 永橋知行.
2019/2/24 情報処理 第13回.
データ構造とアルゴリズム論 第7章 再帰処理 平成17年12月6日 森田 彦.
可視面・不可視面の判定方法と隠れ面(不可視面)の消去法について述べる.
CGと形状モデリング 授業資料 1,2限: 大竹豊(東京大学) 3,4限: 俵 丈展(理化学研究所)
中点連結定理 本時の目標 「中点連結定理を理解する。」
ここに 表題や引用文が入る 背景への図の使用とキャプションへのテクスチャの適用 (中級)
SystemKOMACO Jw_cad 基本操作(3) Ver.1
プロジェクト演習Ⅳ インタラクティブゲーム制作 プログラミング4
超立方体の展開図 Cabri 研究会 2012年1月9日 生越 茂樹.
並列処理プロセッサTPCOREの 組み込みシステムへの応用 理工学研究科数理情報科学専攻 福永 力,岩波智史,情報システム研究室.
アルゴリズムとデータ構造 --- 理論編 --- 山本 真基
プロジェクト演習Ⅳ・Ⅵ インタラクティブゲーム制作
地理情報システム論(総)/ 国民経済計算論(商)
地理情報システム論 第4回 コンピュータシステムおける データ表現(2)
免許法認定公開講座: コンピュータグラフィックス
データ構造とアルゴリズム論 第7章 再帰処理 平成16年11月30日 森田 彦.
プログラミング言語論 第十四回 理工学部 情報システム工学科 新田直也.
バネモデルの シミュレータ作成 精密工学科プログラミング基礎 資料.
点・線分・多角形を レンダリングする方法 東京大学 精密工学専攻 大竹豊.
オブジェクト指向言語論 第十三回 知能情報学部 新田直也.
ベクトル関数の回転(カール、ローティション)
スライドの終わりまでテキストが繰り返しスクロールされます • スライドの終わりまでテキストが繰り返しスクロールされます •
サンプル見出し テキスト 1 行目 テキスト 2 行目 テキスト 3 行目 (中級) 図の背後でタイトルを移動させるアニメーション効果
CGと形状モデリング 授業資料 1,2限: 大竹豊(東京大学) 3,4限: 俵 丈展(理化学研究所)
CGプログラミング論 平成28年5月11日 森田 彦.
Presentation transcript:

OpenGLライブラリを用いた3次元フラクタルの描画 2012年3月16日 福永研究室 坂上慎一

目 次 1.OpenGLの概要 2.フラクタルとは・・・ 3.OpenGLへのフラクタルの実装 4.まとめ

1.OpenGLの概要(1/3) 主に3次元CGの機能を実装するのに用いる。 CADシステムとは・・・ コンピューターによる設計支 援ツール     OS非保存のマルチプラットホーム対     応で、科学技術における可視化や産     業分野のCADシステムに利用されて     いる。 CADシステムとは・・・  コンピューターによる設計支  援ツール

1.OpenGLの概要(2/3) ~特長~ 3次元CGの高度な描画機能を有する。 簡潔で分かりやすいコマンド体系を有する。 標準C/C++言語の初歩的な知識のみでプログラミングが可能である。

1.OpenGLの概要(3/3) 以下の3つのライブラリを用いる OpenGLライブラリ(OpenGL) ※OpenGLには描画機能しかなく、ウィンドウ制御やイベント処理などはOSやウィンドウシステムに依存する。GLUTを併せて利用する事で汎用性の高いアプリケーション開発が可能。  以下の3つのライブラリを用いる OpenGLライブラリ(OpenGL)   点・線・などの描画、色の制御といった基本的な描画機能を備えている。 OpenGLユーティリティライブラリ(GLU)   アプリケーション開発に便利な機能を提供する。簡易な投影変換設定、高度なテクスチャ処理などのコマンドを有する。 GLUTライブラリ(GLUT)   ウィンドウ管理、入力イベント処理、球体・円柱などの基本立体、OpenGLやGLUを組み合わせた高度な描画を行う。

OpenGLライブラリ(OpenGL)を用いてるところ glColor3f(R,G,B)     描画する図形の色の指定 glBegin(図形のタイプ)     図形定義の開始 glVertex3f(x、y、z)     頂点の設定 glEnd()     図形定義の終了 glColor3f(1.01.01.0); glBegin(GL_LINES); glVertex3f(x1,y1,z1); glVertex3f(x2,y2,z2); glVertex3f(x3,y3,z3); glVertex3f(x4,y4,z4); glEnd();

OpenGLユーティリティライブラリ(GLU)を用いているところ gluPerspective(120.0,1.0,1.0,1000.0); //透視投影    3次元物体をスクリーン座標系に映す方法のひとつ。私たちの視覚系と同様に遠近感が得られるため、現実に近い画像生成ができる。 gluLookAt(ViewPointX+leftright,ViewPointY,ViewPointZ+updown, 0.0+leftright,0.0,0.0+updown , 0.0,0.0,Z);    始点位置と視点方向を表している。視点のx、y、z座標と目標のx、y、z座標とウィンドウに表示される画像の上の方向を示すベクトルとして設定する。

GLUTライブラリ(GLUT)を用いているところ glutInitWindowPosition(0,0);    ウィンドウの左上を(0,0)にする。 glutInitWindowSize(500, 500);    ウィンドウサイズを500*500に設定する。 glutInitDisplayMode(GLUT_RGBA);    色の指定にRGBAモードを用いる。 glutMouseFunc(mouse); glutKeyboardFunc(keyboard);    マウス入力、キーボード入力のコールバック関数

2.フラクタルとは・・・(1/3) フランスの数学者ブノワ・マンデルブロが導入した幾何学の概念。図形の部分と全体が自己相似になっている。 自己相似とは・・・   図形において、ある図形の断片を取ってきたとき、それより小さな断片の形状と図形全体の形状とが相似である場合を指す。

2.フラクタルとは・・・ (2/3) ~フラクタルの一例~ マンデルブロー集合 シェルピンスキー曲線

2.フラクタルとは・・・ (3/3) ~今回描画したフラクタル図形~ シェルピンスキーのギャスケット 【手順】 1.1辺の長さ1の正三角形の各辺の中点を結ぶと中心部に長さ1/2の正三角形ができる。 2.この長さ1/2の正三角形を切り取る。これによって長さ1/2の正三角形が3個残る。 3.さらにこれら3つの正三角形の各辺の中点を結んで長さ1/4の正三角形が9個残る。 4.同様に手順を繰り返すと、n回目には長さ(1/2)^nの正三角形を切り取り、長さ(1/2)^nの正三角形が3^n個残る。 今回これを3次元で描画した。

3.OpenGLへのフラクタルの実装(1/2) } 再帰処理 正四面体の  描画

3.OpenGLへのフラクタルの実装(2/2) ~キーボード操作~ ↑:視点を上に回転   ↓:視点を下に回転 →:視点を右に回転   ←:視点を左に回転 w:上方向に平行移動   s:右方向に平行移動 z:下方向に平行移動    a:左方向に平行移動 p:縮小 l:拡大 k: 1ステップ進む     i:1ステップ戻る

4.まとめと今後の展望 当研究室で行っている画像解析のテスト用のアニメーションをOpenGLで作れるのでは・・・ 最後のまとめとしてプログラムの実演