1999.1.29

 

<T> 以下はレイトレーシング法のアルゴリズムの概要を記したものである.空欄@〜Eに最も適する語を選択肢から選び,その番号を解答欄に書け.

  1. 視点と @ を定義する.
  2. 各画素について,

  1. 画素点と視点を結んだ直線( A )を発生する.
  2. レイとすべての物体との B を求める.

    1. 交点がなければ,その画素の輝度は C である.
    2. 交点があれば,視点に一番 D 交点を可視点とし,可視点の E を計算して,それをその画素の輝度とする.

[選択肢]

1.スクリーン 2.終点 3.背景色 4.レイ 5.接点 6.近い 7.交点 8.遠い 9.輝度

 

解答欄 @   A   B   C   D   E  

解説の必要はないと思います.黒板に書いた通りです.

 

<U> CSG表現において,2つのプリミティブP1,P2を以下の式で定義する.

P1: x2 + y2 + z2 - 1 ≦ 0

P2: (x-1)2 + y2 + z2 - 1 ≦ 0

このとき,

  1. プリミティブP1,P2に対する点X(0,0,0),点Y(1,1,0)の境界評価値をそれぞれ求めよ.
  2. 形状Q = P1 + P2,R = P1 - P2に対する点X,点Yの境界評価値をそれぞれ求めよ.
  3. 視点C(1,0,0)から点(0,1,0)の方向にレイを発生したとき,形状Rに対する可視点Vの座標を求めよ.

 

解答(1)  B1(X) = -1   B1(Y) =  1  B2(X) = 0   B2(Y) = 0  

 

解答(2)  BQ(X) = -1   BQ(Y) = 0   BR(X) = 0   BR(Y) = 1  

解答(3)  V =                   

 

(1),(2)CSGの境界評価関数についての理解を見る問題で,式に代入するだけなので簡単でしょう.(3)CSG表現に対するレイトレーシングについて...形状Rがどんな形なのかと可視点の意味がわかれば,あとは計算すればよい(あるいは図を書いてみればわかるはず...).

 

<V> カメラ座標系の原点(視点)C(10,10,10)とし,視点からワールド座標系の原点を見るようにカメラ座標系U-V-Nを設定する.

  1. 単位視線ベクトルNを求めよ.
  2. V = (0,0,1)として単位ベクトルVを求めよ.
  3. 単位ベクトルUを求めよ.
  4. ワールド座標系の点(0,0,2)をカメラ座標系に変換せよ.

 

  1. 単位ベクトル化を忘れないように.
  2. これも公式(ベクトルの演算式)に当てはめ,さらに単位ベクトル化が必要.
  3. ベクトルの外積.
  4. C,U,V,Nから4×4の変換行列T,Bを設定し,後はベクトルと行列の積を計算する.計算ミスしやすいかも...

 

 

<W> コンピュータグラフィックスについて自由に意見を述べよ.

ちょっとついでにアナウンスします.この講義の受講者はコンピュータを使ってCGで遊べると思って登録した人が多いようですが,実際は単なる板書だけだったので期待を裏切られたようです.

今まではまだ決まっていなかったので,言ってませんでしたが,99年度からは知識工学実験1,2にCGが組み込まれます.

実験1(2年秋)では「コンピュータグラフィックス(仮題)」というテーマで,CGに実際に触れる機会を作ります.まだ未定ですが,たぶん,CGのソフトを使った作品づくりのようなことをやると思います.

実験2(3年春)では「CGプログラミング(仮題)」というテーマで,CGソフトを制作(プログラミング)してもらいます.要するに,CGの講義で色々と説明した式とかアルゴリズムとかを実際にプログラム化してみようということです.

あと,CGの講義は1年生には難しすぎるのでは?という意見がありましたが,色々な理由でCGは1年秋設置科目になっています.CGだけのことを考えれば,2年秋・3年春位が適当かもしれません.

しかし,今回の試験結果からは,1年生が特に点数が低いわけではありませんでしたので,1年生には無理ということはないと思います.(講義の工夫はなるべく行っていきたいとは考えています.)

また,旧カリキュラムでは,1年生に専門科目がほとんどないということで,なるべく1年生科目にして欲しいという要望がありました.

それに以前から,「知識工学科で数学や物理が多いがなぜ必要なのかわからない」とかいう意見が出ていました.特に,1年生科目にそういった数学系,物理系科目が多いわけですが,CGで数学や物理などの利用例を示せれば,なぜ必要かの一端を示せるのでは,という思いもありました.

実際CGでは,色々な現象を物理的に捉えて,それを数学的に表現・展開し,それをさらにアルゴリズムとして記述し,最後にプログラミングという流れになるかと思います.

 

以下に,入学年度別平均点を示します.

特に,大きな差は認められません.96年度生がいいようですが,これは,時間割的に他科目との競合がありCGに特に興味がある人のみ受講しているためではないかと推察されます.