【第三週課題】 グラフィックス幾何操作の完成と表示
計算機序論2,
www.kameda-lab.org
2005/10/17
第三週課題
今週の授業で用いるサンプルプログラムは
残念ながら、そのままコンパイルしても何も表示されないが、
あと少し書き加えれば動くはずである。
今週の課題は、このサンプルプログラムを完成させることと、
それに関連する記述課題を行うことである。
今週のレポート課題として、以下の各項目について全て報告すること。
- 【必須】サンプルプログラムの完成
- 自分で作成したプログラム部分について、自分のコメントを付加すること。
(ソースコードは自分が作成した部分だけでよい。)
- どの関数がどの関数を呼び出しているか、全関数の呼び出し関係を図を用いて示せ。
関数一覧表を利用してよい。
- 【必須】幾何操作の記述
- 幾何操作のうち、回転は simple_rotation_x(), simple_rotation_y(), simple_rotation_z() で
行われる。本プログラムで用いる空間座標系に対して、これらの回転がどちら向きであるのか、
図示(ないし正確な記述)で示せ。
- パラメータ構造体を使った幾何操作は、create_transform_matrix()関数で行われる。
ここでは、パラメータ構造体を使って幾何変換を指定できるが、
1回で任意の操作ができるわけではない。
本関数の呼び出し1回で出来る幾何操作を行列を用いて説明し、
そこからどのような操作が1回で出来ないか、理由とともに述べよ。
- 【応用】様々なスクリプトを利用した実行
- 演習のページに載せてある
3次元モデルスクリプトのファイルを読み込んで実行してみよう。
結果は実行の様子を挿入して示すこと。
- いちいちファイルを置き換えしなくても良いように、
ファイル名をコマンドラインから指定してできるようにしてみよう。
参考までに、役に立ちそうな例を挙げておく。
char filename[256] = "fig_data.dat";
if (argc >= 2) {
strncpy(filename, argv[1], 256);
fprintf(stderr, "File = \"%s\"\n", filename);
}
Yoshinari Kameda