第3回 グラフィック1(OpenGL・glut,関数,構造体の利用)

本日の内容

各演習・課題に取り組む手順

  1. まず自力でプログラムを書いてみる. 間違っていても構わない.教科書やWeb上のリファレンスを見ても構わない.
  2. ひととおり入力を終えたら,ビルドする前にソースをレポートに貼り付けておく
  3. ビルドする.ビルドエラーをレポートに貼り付けておく.
  4. エラーを取り除き,正しく動作するプログラムを作成する.
  5. 自力で考えた限界のソースコードをレポートに貼り付けておく
  6. 友人と相談した場合,誰と相談したか,また,相談した結果気がついた間違いをレポートに記述する.
  7. 完成版のソースコード,および,実行結果の画像をレポートに貼り付ける.

演習3.1

OpenGLとGLUTの準備(WindowsのVisual Studioで開発する場合)

MacのXcodeで開発する場合

以下の図は、WindowsのVisual Studioで開発する場合

OpenGLとGLUTを使ったプログラムの流れ

-以下のように設定する

-コード例

- Mac Xcodeを使用している場合:

図形の情報の書き方(自作関数を使わない場合)

図形の情報の書き方(自作関数を使う場合1)

自作の矩形描画関数drawRect()

書式: void drawRect(double pos[2], double size[2], double color[3])
引数:
    double pos[2]: 開始座標(x, y)
    double size[2]: x座標とy座標の移動距離(=矩形の大きさ)
    double color[3]: 線の色(RGB、0~1)
戻り値:
    なし

描画関数display()で矩形描画関数drawRect()を呼び出すコード例

図形の情報の書き方(自作関数を使う場合2)

円を描く考え方

自作の円・円弧描画関数drawCircle()

書式: void drawCircle(double pos_x, double pos_y, double radius, int startAngle, int endAngle)
引数:
  pos_x, pos_y: 円の中心座標
  radius: 半径 (円の大きさ)
  startAngle: 開始角度(0~360度)
  endAngle: 終了角度(0~360度)
戻り値:
  なし

コード例

描画関数display()で円描画関数drawCircle()を呼び出すコード例

課題3.1

演習3.1を修正して、複数の三角形、矩形、円を描画せよ。できるだけ下記の出力結果と同じ描画にすること。なお,矩形と円は自作関数をループ文で呼び出して描画すること。

課題3.2

drawCircle関数とdrawRect関数を利用して,テーマ「果物」について自由に描画せよ.
(「果物」に限らず,drawCircleとdrawRectを用いれば何でもよい)

レポート

提出先・期限
担当教員の指示に従うこと.
内容
Microsoft Wordを用いてレポートを作成すること.

下記について記述すること.

提出ファイル
Wordファイルにソースコードやキャプチャした実行画面などを貼り付けてmanabaのレポートから提出すること.
テンプレート等(Word)
Word表紙 (回数やタイトルなどを適宜修正して使うこと.)