計算機科学実験及演習4(2002):補足
学生実験4,
亀田能成のホーム
2002/10/04, 2004/03/09
ポリゴンランダム発生
第1課題ではポリゴンデータは内部ランダム発生で構いませんが、
第2課題以降があるのでプログラム内部のデータ構造は
柔軟にしておいたほうがいいでしょう。
VRML読み込みルーチン
第2課題の参考になるかどうか分りませんが、
私が作成した(椋木先生改訂)サブルーチンを利用しても構いません。
ただし、利用した場合はその旨レポートに報告して下さい。
- vrml.c
- vrml.h
VRMLデータファイルについて
サンプルVRMLファイルです。拡張子は本来".wrl"です。
ファイルサイズが大きいので、プリントアウトしたりしないようにしてください。
サンプルファイル
| 反射属性
| 最小値
| 最大値
| 頂点数
| 面数
| 注釈
|
av1
| 拡
| (-200, -150, -500)
| ( 200, 150, -400)
| 5
| 4
| 菱形
|
av2
| 拡
| (-200, -100, -500)
| ( 200, 200, -400)
| 6
| 2
| 要Zバッファリング
|
av3
| 拡
| (-190, -90, -600)
| ( 210, 110, -400)
| 1562
| 3120
| 大規模な例
|
av4
| 拡・鏡
| (-190, -90, -600)
| ( 210, 110, -400)
| 1562
| 3120
|
|
av5
| 拡・鏡・環
| (-190, -90, -600)
| ( 210, 110, -400)
| 1562
| 3120
|
|
head
| 拡・環
| (-190, -90, -600)
| ( 210, 110, -400)
| 267
| 530
| 人頭
|
dragon
| 拡・環
| (-145.0670, -78.0, -457.972)
| ( 74.0515, 107.4, -215.558)
| 403
| 607
| 龍(逆面が混入)
|
iiyama
| 拡
| (-0.051510, -0.678160, 0.118390)
| (-0.124040, 0.137250, -0.515220 (0.499))
| 5046
| 13252
| 実測人面
|
aa053
| 拡
| (x, x, x)
| (x, x, x)
| x
| x
| ?
|
av007
| 拡
| (x, x, x)
| (x, x, x)
| x
| x
| ?
|
av020
| 拡
| (x, x, x)
| (x, x, x)
| x
| x
| ?
|
生成例
生成したPPM画像の例
|
|
|
av1
| av2
| av3
|
|
|
|
av4
| head
| iiyama
|
|
|
|
av5(Constant shading)
| av5(Gouraud shading)
| av5(Phong shading)
|
カメラ位置 :(x,y,z) = (0.0, 0.0, 0.0)
カメラ方向 :(x,y,z) = (0.0, 0.0, -1.0)
カメラ焦点距離:256.0
光源方向 :(x,y,z)=(1.0, -1.0, -2.0)
光源明るさ :(r,g,b)=(1.0, 1.0, 1.0)
光源モデル :平行光源
レポート提出方法
TeXで報告書を作成してpdfをメール送信する方法について簡単に
説明します。まず作成方法は以下のようになります。
- (emacs等でsample.texを作成)
- /usr/local/bin/platex sample.tex (sample.dviを生成)
- /usr/local/bin/xdvi sample.dvi (dviファイルを確認)
- /usr/bin/dvipdf sample.dvi sample.pdf (pdfファイルを生成)
- /usr/local/bin/acroread sample.pdf (pdfファイルの確認)
- 参考:/usr/local/bin/dvips sample.dvi sample.ps (psファイルを生成)
- 参考:/usr/X11R6/bin/ghostview sample.ps (psファイルの確認)
次いで、emacs内のmewで添付メールを送るには、以下のようにします。
Mewでメールの新規作成を始め、
Subjectや文章(カバーページ)を書いたあと、下記の作業をしてください。
- Prepare Attachment(C-c C-a)
- 添付ファイルのリスト中の空欄で、l (小文字のエル)
[または、メニューから
Mew/Draft→Attachment Command→Insert a File by Linking]
- 添付ファイルのパスを入力。[スペースで補完可能]
- 相手先での展開時のファイル名も指定できますが、
デフォルトのままでいいでしょう。
- C-c C-cで送信。
参考:
私家版 Mew 取扱説明書
参考文献
テキストでも述べている参考文献
OpenGL Programming Guide
は、2階計算機室に日本語版の紙の本が2冊ほど準備されています。
本演習の概念を深く理解するには好適でしょう。
Xクライアント化
OpenGLとGLUTを使って、
自分でレンダリングした画像バッファを
そのまま表示するサンプルプログラムを用意しました。
GLUTはOpenGLを使う上で有用なユーティリティをまとめたライブラリです。
render_viewer.c の render_the_image() 関数を、
自分の作成した関数に置き変えて下さい。
(2002/10現在動作未確認)
<kameda@media.kyoto-u.ac.jp>