図形科学演習 II の授業の情報 (山口 泰)
目次
- ITC-LMS の利用
授業に関連するファイルの配布やレポートの提出に
ITC-LMS
を利用します.
「時間割」表で「図形科学演習II」を選択して下さい.
なお,ITC-LMSの利用にあたって,最初にITC-LMSの登録が要になります.
「コース検索」で「30812 図形科学演習II」を選択してください.
- ITC-LMS への課題提出について
課題を提出する際はファイル名(フォルダ名/ディレクトリ名)に
日本語は使わないでください
- 重要:レポート作成の注意
レポートは MSWord などを使っても作っても構いません.
最後に印刷で,MacOSの場合「PDFとして保存…」,Windowsの場合「Adobe PDF」などを選ぶことでPDF形式にできます.
- 課題の作成・提出方法
課題は,以下の要領でレポートとプログラムファイルをひとまとめにして,
提出してください.
- レポートはPDF形式のファイルとする.
- レポートとプログラムファイル(pyファイル)を
zip で1つにまとめる.
なお,レポートのPDFファイル,1つにまとめたzipファイルともに,
report<番号(2桁)>-<学生証番号2桁>-<学生証番号6桁>.pdf,
report<番号(2桁)>-<学生証番号2桁>-<学生証番号6桁>.zip
というファイルにする.
- 上記のITC-LMSにログインして,「課題」から提出する.
- プログラムやレポートの作成にあたって,
ファイル名には漢字を用いないこと.
レポート作成の詳細は,
こちら を参考にしてください.
- レポート提出に間に合わなかった人へ
時間どおりにでなかったレポートは,
(もちろん〆切を遅れたというペナルティは加味されますが)
以下にメールすれば受け付ける場合があります.
- レポートの作成について
レポート作成については,
履修の手引き(2022年度版)
にもあるように,自らの責任をもって実施することや,
引用する場合には適切な方法で行なうことが前提となります.
- Python環境
ECCSのMac端末上でAnacodaのPython3を利用します.
以下のコマンドを実行することでAnacondaのPythonが利用できるようになります.
$ conda activate¶
- 自分のPCにPyOpenGL 環境を導入する
コロナの状況によっては,自分のPCでの演習が必要となるかもしれません.
また自分のPCを利用したいという人もいるかもしれません.
その場合にはPCにAnacondaとPyOpenGLをインストールする必要があります.
初回に配布するプリントを参考にしてみてください.
プリントを配布する予定です.
授業とほぼ同様の内容を Javaプログラミングで行うための本で,
以前は教科書として利用していました.
山口 泰:「Javaによる3DCG入門」朝倉書店 (ISBN 9784254122107)
(2015年 4月10日 初版発行)
参考書の訂正
- drawLine, drawString, drawOval メソッド (p.4)
これらのメソッドは Graphics クラスのメソッドであり,
p.4 の2行目( Frame クラスの直前)に移動する.
- アフィン変換 (p.36)
「いかなるアフィン変換も」となっているが,「多くのアフィン変換は」に修正する.
- 五角形片のスケール (p.49, 「様々なフラクタル図形」)
「1/φ」となっているが,「1/φ2 = 1/(1+φ)」に修正する.
- 3次のベジエ曲線の微分 (p.55)
第2項が「- 6(1-t)t (p2 - p1)」となっているが,
実際には「+ 6(1-t)t (p2 - p1)」.
- 「立体データの意味」(p.83, 章末課題の3番目)
2番目の課題と同じタイトルなので,「その他の立体データ」に変更する.
- 「回転速度の対話的な調整」(p.108, 章末課題の2番目)
回転量を得るメソッドは「mwe.getWheelRotate()」となっているが,
実際には「mwe.getWheelRotation()」.
- glPolygonOffsetの引数(p.113, 例3の説明)
「これによって本来のZ値に1が加えられる(1.0×Z+1.0)」とあるが,
「これによって本来のZ値に(1.0×m+1.0×r)が加えられる
(ただし,mはポリゴンの傾き,rはZ値の実装上の単位となる)」.
- (15.8)式(p.119, 回転の式)
3行目の式の第3項が「- (v・p) v」とあるが,
「+ (v・p) v」.
- (15.12)式(p.120, 回転行列の式)
2行目の式の第2項の行列で 3行1列の成分は「vsvz」とあるが,
「vxvz」.
- 15.3節「平行移動と回転のプログラム」(p.120〜122,例1〜3)
Rotation の rotAroundAxisメソッドに回転軸として
零ベクトルが与えられると零除算が発生してしまう.
Rotationで零判定の許容差(第5章のVector2Dを参照のこと)を定義し,
RotMatrixとQuaternionのrotAroundAxisで零ベクトルの判定をする.
変更部分を含めたプログラムを授業(ITC-LMS)で配布する.
ECCSのiMac端末の使い方,ターミナルにおけるコマンド
- レポート0 (4月13日以前)
指示にしたがって,
ITC-LMSへの登録とメールを送付してください.
前者は課題提出に必要で,後者は授業の進め方の参考とします.
また自分のPCにPythonの実行環境を作るとともに,
滞りなくレポート作成できるようにしておいてください.
〆切は 4月13日(水)授業開始前とします.
- レポート1 (4月 6日分)
第1章の例題プログラムを実施して,レポートを提出しなさい.
レポートの作成にあたっては,
「 課題の作成・提出方法 」
の指示にしたがってください.
提出〆切は 4月13日(水)授業開始前とします.
なお,レポートの評価やコメントは ITC-LMSの課題コメントに書く予定です.
ITC-LMSから提出しないとフィードバックが受けられなくなりますから,
時間内に提出するようにしてください.
ちなみに,過去のレポート(言語がJavaのときもあります)に対する
コメントの一部 を示します.
- レポート2 (4月13日分)
第2章の例題プログラムと章末課題「ダイアモンドパターンの描画」を実施しなさい.
章末課題の「ネフロイドの描画」や,その他の図形の描画も歓迎する.
なお,例題についてはプログラムリストをレポートに載せなくて良い
(考察で行番号を使いたい場合はリストがあった方が良い).
レポートの作成にあたっては,
「 課題の作成・提出方法 」
の指示にしたがってください.
なおlines.py と dotLines.py は,
ITC-LMSの教材からダウンロードできる.
提出〆切は 4月20日(水)授業開始前とします.
ちなみに,過去のレポート(言語がJavaのときもあります)に対する
コメントの一部 を示します.
- レポート3 (4月20日分)
第3章の例題プログラムと章末課題を実施しなさい.
ただし「明度を変化させた色円盤」は選択課題とし,
その他の図形の描画も歓迎する.
なお,例題についてはプログラムリストをレポートに載せなくて良い
(考察で行番号を使いたい場合はリストがあった方が良い).
レポートの作成にあたっては,
「 課題の作成・提出方法 」
の指示にしたがってください.
提出〆切は 4月27日(水)授業開始前とします.
ちなみに,過去のレポート(言語がJavaのときもあります)に対する
コメントの一部 を示します.
<参考> 色に関わる錯覚について
- レポート4 (4月27日分)
第4章の例題プログラムと章末課題「マウスイベントの確認」を実施しなさい.
他の章末課題や参考「プログラムの改良」も歓迎する.
なお,例題についてはプログラムリストをレポートに載せなくて良い
(考察で行番号を使いたい場合はリストがあった方が良い).
レポートの作成にあたっては,
「 課題の作成・提出方法 」
の指示にしたがってください.
なおbackground.py, clickSpeed.py は,
ITC-LMSの教材からダウンロードできる.
提出〆切は 5月11日(水)授業開始前とします.
ちなみに,過去のレポート(言語がJavaのときもあります)に対する
コメントの一部 を示します.
- レポート5 (5月11日分)
第5章の例題プログラムと章末課題を実施しなさい.
5.2節については,考察は例1のみで良い.
その他,自分で工夫したプログラムも歓迎する.
なお,例題についてはプログラムリストをレポートに載せなくて良い
(考察で行番号を使いたい場合はリストがあった方が良い).
レポートの作成にあたっては,
「 課題の作成・提出方法 」
の指示にしたがってください.
なお, myCanvas.py は ITC-LMS の教材からダウンロードできる.
提出〆切は 5月18日(水)授業開始前とします.
ちなみに,過去のレポート(言語がJavaのときもあります)に対する
コメントの一部 を示します.
- レポート6 (5月18日分)
第6章の例題プログラムと章末課題を実施しなさい.
ただし「様々なフラクタル図形」は可能な範囲で実施すればよく,
「Lシステムのプログラム」は選択課題とします.
なお,例題についてはプログラムリストをレポートに載せなくて良い
(考察で行番号を使いたい場合はリストがあった方が良い).
レポートの作成にあたっては,
「 課題の作成・提出方法 」
の指示にしたがってください.
提出〆切は 5月25日(水)授業開始前とします.
ちなみに,過去のレポート(言語がJavaのときもあります)に対する
コメントの一部 を示します.
- レポート7 (5月25日分)
第8章と第10章の例題プログラム(第8章は例1のみ)と章末課題を実施しなさい.
章末課題「立体データの意味」で面情報の書き換えについては,
様々な場合を試して表示結果との関連を検討してみること.
なお,例題についてはプログラムリストをレポートに載せなくて良い
(考察で行番号を使いたい場合はリストがあった方が良い).
レポートの作成にあたっては,
「 課題の作成・提出方法 」
の指示にしたがってください.
なお,lines.py はITC-LMSの教材からダウンロードできる.
提出〆切は 6月 8日(水)授業開始前とします.
ちなみに,過去のレポート(言語がJavaのときもあります)に対する
コメントの一部 を示します.
- レポート8 (6月 8日分)
第11章の例題プログラムと章末課題を実施しなさい.
なお,例題についてはプログラムリストをレポートに載せなくて良い
(考察で行番号を使いたい場合はリストがあった方が良い).
レポートの作成にあたっては,
「 課題の作成・提出方法 」
の指示にしたがってください.
提出〆切は 6月15日(水)授業開始前とします.
ちなみに,過去のレポート(言語がJavaのときもあります)に対する
コメントの一部 を示します.
- レポート9 (6月15日分)
第12章の例題プログラムと章末課題を実施しなさい.
またフラクタル立体のハウスドルフ次元を計算すること.
本章の例1〜3に限って,考察をまとめて書いても良い.
なお,例題についてはプログラムリストをレポートに載せなくて良い
(考察で行番号を使いたい場合はリストがあった方が良い).
レポートの作成にあたっては,
「 課題の作成・提出方法 」
の指示にしたがってください.
なお,プログラムがやや多いため,cube.py と
polyhedron.py をITC-LMSの教材からダウンロードできる.
提出〆切は 6月22日(水)授業開始前とします.
ちなみに,過去のレポート(言語がJavaのときもあります)に対する
コメントの一部 を示します.
- レポート10 (6月22日分)
第13章の例題プログラムと章末課題を実施しなさい.
ただし「回転速度の対話的な調整」は選択課題とします.
なお,例題についてはプログラムリストをレポートに載せなくて良い
(考察で行番号を使いたい場合はリストがあった方が良い).
レポートの作成にあたっては,
「 課題の作成・提出方法 」
の指示にしたがってください.
提出〆切は 6月29日(水)授業開始前とします.
ちなみに,過去のレポート(言語がJavaのときもあります)に対する
コメントの一部 を示します.
- レポート11 (6月29日分)
第14章の例題プログラムと章末課題を実施しなさい.
なお,例題についてはプログラムリストをレポートに載せなくて良い
(考察で行番号を使いたい場合はリストがあった方が良い).
レポートの作成にあたっては,
「 課題の作成・提出方法 」
の指示にしたがってください.
提出〆切は 7月 6日(水)授業開始前とします.
ちなみに,過去のレポート(言語がJavaのときもあります)に対する
コメントの一部 を示します.
- レポート12 (7月 6日分)
第15章と第16章の例題プログラム(第16章は例1のみ)と
章末課題(それぞれ最初の課題のみ)を実施しなさい.
特に第15章の章末課題の透視投影によって生じる歪みと観察方法に絡んで,
バスタブ錯視との関係を考察すること.
章末課題の「奥行方向の平行移動」や,その他の工夫も歓迎する.
なお,例題についてはプログラムリストをレポートに載せなくて良い
(考察で行番号を使いたい場合はリストがあった方が良い).
レポートの作成にあたっては,
「 課題の作成・提出方法 」
の指示にしたがってください.
プログラムの行数がやや多いため,
quaternion.pyをITC-LMSの教材からダウンロードできる.
提出〆切は 7月13日(水)授業開始前とします.
ちなみに,過去のレポート(言語がJavaのときもあります)に対する
コメントの一部 を示します.
- レポート13 (7月13日分)
第17章の例題プログラムと章末課題を実施しなさい.
本章の例1〜3は考察をまとめて書いても良い.
フラクタル立体や曲面を含むような形状を作ってみることを歓迎する.
なお,例題についてはプログラムリストをレポートに載せなくて良い
(考察で行番号を使いたい場合はリストがあった方が良い).
レポートの作成にあたっては,
「 課題の作成・提出方法 」
の指示にしたがってください.
プログラムの行数がやや多いため,
shadedCube.py, shadedIcosahedron.py
をITC-LMSの教材からダウンロードできる.
提出〆切は 7月22日(金)20:00とします.
ちなみに,過去のレポートに対する
コメントの一部 を示します.
休講の予定はありません.