コンピュータグラフィックス基礎 第 4 回 課題 課題の目標 ・C++の初歩的な機能について理解する ・GLUT を用いた対話的なアプリケーションを作成できるようになる 課題の内容 (1) サンプルコード vector3d_example.cpp で提供されている Vector3d クラスに対して、減算 を表す演算子(-)の処理と、減算代入を表す演算子(-=)の処理を追加しなさい。 また、𝑎𝑎 ⃗ = (2, 3, 4), 𝑏𝑏�⃗ = (3, 5, −2), 𝑐𝑐⃗ = (2, −1, 1) のときに、次のベクトル計算を行う 処理を main 関数に記述し、その結果を出力しなさい。×は外積を、 ・は内積を表すものとする。 (a) 𝑎𝑎⃗ − 𝑏𝑏�⃗ (b) 3𝑎𝑎⃗ − 2𝑏𝑏�⃗ (d) 𝑎𝑎⃗ × 𝑏𝑏�⃗ の単位ベクトル (2) (c) 𝑎𝑎⃗・𝑏𝑏�⃗ (e) (𝑎𝑎⃗ + 2𝑏𝑏�⃗) × 𝑐𝑐⃗ サンプルプログラムコード kadai04_pick_sphere.cpp を実行すると、下図のように 3 つの 球体が表示される。 ★記号で示した箇所を埋めて、プログラムを完成させると、下図のようにマウスクリックで選 択した球体の ID と、クリックした位置の座標値が画面に描画される。必要なコードを追加して プログラムを完成させなさい。 (発展課題:オプション) 課題 3 で学習した内容を活用し、球体が空間を動き回ったり、視点の位置がキーボードで変わるよう にし、球体をクリックできた場合に得点が加算されるようなゲームアプリケーションを作りなさい。 提出するレポートに含めるもの 上記の課題のプログラムコードと、実行結果のウィンドウをキャプチャした図。課題(1),(2)のプロ グラムコードについては、自分で作成した部分と、元からある部分が区別できるように示すこと。 発展課題で動きのあるものは、動いている様子が分かるように、複数のキャプチャ画像を含めること。 mp4 やアニメーション GIF などの動画ファイルを作成できる場合は、動画を含めること。
© Copyright 2024 ExpyDoc