1 / 8

精密工学科プログラミング基礎 第 6 回資料 その 2 (11/18 実施 )

精密工学科プログラミング基礎 第 6 回資料 その 2 (11/18 実施 ). 資料の URL : http://lecture.ecc.u-tokyo.ac.jp/~tohtake/. 今回の授業で追加で習得してほしいこと : グラフィクスライブラリ ( OpenGL )を例にして、 他の人が作った関数ライブラリを使ってみる ライブラリ中の関数の使い方 繰り返し・条件分岐の復習 図形を表示して楽しむ. OpenGL と は?. データ ( 0,0) ( 1,0) ( 0,1). ディスプレイに 表示.

courtney
Download Presentation

精密工学科プログラミング基礎 第 6 回資料 その 2 (11/18 実施 )

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 精密工学科プログラミング基礎第6回資料その2(11/18実施)精密工学科プログラミング基礎第6回資料その2(11/18実施) 資料のURL : http://lecture.ecc.u-tokyo.ac.jp/~tohtake/ 今回の授業で追加で習得してほしいこと: • グラフィクスライブラリ(OpenGL)を例にして、他の人が作った関数ライブラリを使ってみる • ライブラリ中の関数の使い方 • 繰り返し・条件分岐の復習 • 図形を表示して楽しむ

  2. OpenGL とは? データ(0,0)(1,0) (0,1) ディスプレイに表示 グラフィクス出力のための面倒な計算を            行うための関数ライブラリ 座標値を渡すだけで絵が描ける

  3. OpenGL で描くことができる図形 3角形 4角形 glBegin(GL_POLYGON); glVertex2d( 1, 1); glVertex2d(-1, 1); glVertex2d(-1,-1); glVertex2d( 0,-1); glEnd(); glBegin(GL_POLYGON); glVertex2d(0,0); glVertex2d(1,0); glVertex2d(0,1); glEnd(); • 点・線分・多角形 などの基本図形 • glBegin(図形タイプ) で始めて、 glEnd() で閉じる。 • glVertex2d(x,y)で図形を定義する点の座標を指定 • “2d” は 2次元のdouble型という意味

  4. 描ける図形タイプ 線分2本を描画 3点を描画 glLineWidth(2.5); glBegin(GL_LINES); glVertex2d(0,0); glVertex2d(1,0); glVertex2d(0,1); glVertex2d(1,1); glEnd(); glPointSize(3); glBegin(GL_POINTS); glVertex2d(0,0); glVertex2d(1,0); glVertex2d(0,1); glEnd(); 1本目 2本目 描画される点(線分)の 大きさ(太さ)の設定

  5. 色の設定 glBegin(GL_POINTS); glColor3d(1,0,0); glVertex2d(0,0.5); glColor3d(0,1,0); glVertex2d(0,0); glColor3d(0,0,1); glVertex2d(0.5,0); glEnd(); • glColor3d で、(R, G, B) を指定する • 値は 0.0~1.0 まで

  6. 例: 円を点で描画 ・・・・ (省略) /* 図形描画のためのOpenGLのプログラムをここに書く */ void paint(){ inti; /* 繰り返しのカウンタ */ glPointSize(3.0); /* 点の大きさ (単位はピクセル) */ glColor3d(1, 1, 1); /* 色の設定. 光の3原色(赤, 緑, 青) */ /* 点で円を描く */ for(i=0; i<100; i++){ double a = 2*3.1415*i/100; /* 角度 */ glBegin(GL_POINTS); glVertex2d(200*cos(a)+250, 200*sin(a)+250); glEnd(); } } ・・・・・(省略) ここを変えると図形が変わる 中心 (250, 250) 半径 200 の円 ウィンドウサイズは 500 × 500 三角関数で、円周上に100個の点を並べる。

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

  8. 課題 マウスやキーボードの利用やアニメーションなどもできる。 詳しくは下記のURLなどを参考。 http://www.wakayama-u.ac.jp/~tokoi/opengl/libglut.html 以下を表示するプログラムを作成せよ。 • 同心円 • 3色のルーレット • 2色のチェック模様 • 3色以上も考えてみよ

More Related