<総評> 全般的に言って折角 CGCanvas を作っているのに,スクリーン座標系で考えている人が多かった. CGCanvasを使うには,とにかくワールド座標系にすることが大事. mousePressedされてときの座標値も,すぐにワールド座標系に変換して, ワールド座標系のなかで作業した方が良い. <授業の進め方 - 1> ・今回は割と授業中に課題に取り組む時間があってよかった。 ↓ という意見もあった. <授業の進め方 - 2> ・はじめのアフィン変換、回転変換についての説明は、理系の学生は全員1年生のときに線形代数を 取っているので、完全に省いてしまってもよかったのではないか、 と思った。 ↓ という意見もあった. <授業の進め方 - 3> ・これから内容が難しくなっていくでしょうから、演習の時間よりも、説明の方にしっかり時間を取っていただきたい。 ↓ という意見もあった. <授業の進め方 - 4> ・今回は、自宅でプログラムを事前に入力してから授業に望むことができた。正直な ところ、大学のキーボードはあまり使いやすいとは言えず、キー間隔が狭いため入 力ミスが多発する。(あと、ことえりの変換がよろしくない。)そのため、今回 は、いつもより時間がかからずに終了することができた。さらに、プログラムを入 力した後なので、解説がわかりやすかった。 ↓ 先にプログラムを見ておく/書いておく方が,理解には役立つだろう. <授業の進め方 - 5> ・簡単だと思われるjava言語についても、一言でいいから説明が欲しいです。 ↓ これだと,何がわからなかったのかが,判断できない.概ね初出のものについては,説明しているつもりだが,もしもわからないことがあれば,授業中に直接聞いてもらいたい. <レポート> ・教科書に例題が載っているプログラムについては、プログラムリストは省略してもよいだろうか。 ↓ もちろん良い(と説明したつもりだったが…),ただし考察の際に行番号などを使いたいのであれば,プログラムリストがあった方が良いだろう(ということもコメントしたと思う). <Javaプログラムについて - 1> ・なぜpublic static void main(String[] args)のString[] argsがないとならないか不明。 ↓ Javaのメソッドは,メソッド名だけでなく,引数や返り値の型を含めたシグネチャで区別されるため. <Javaプログラムについて - 2> ・以下のエラーで実行できなかった。 CGDrawOval.java:28: シンボルを見つけられません。 シンボル: メソッド drawCircle(java.awt.Graphics,Vector2D,int) 場所 : java.awt.Graphics の クラス g.drawCircle(g,point(startX-r,startY-r),r*2); ^ エラー 1 個 ↓ Javaのメソッドでは,シンボルというとメソッド名だけではなく, 引数や返り値の型も含んだシグネチャが一致しないと同一シンボルと見なされない. g.drawCircle(int, int, int, int)でないといけない <Javaプログラムについて - 3> ・ちょっと疑問なのですが、CGCanvasファイルの中でこれ(注: java.awt.event.* など)をインポートしているのに どうしてそれの下位クラスでまたインポートしないといけないのでしょうか? ↓ (コンパイルする際に)プログラム内で利用されているクラスの所在を明確にしないといけない. 今回のプログラム中では,MouseAdapterやMouseEventなどのクラスを利用しているので,importは欠かせない <Javaプログラムについて - 4> ・自分のMacでは全角のコメントが引っかかってコンパイルできなかったので、コメントを 全消去した。 ↓ 符号化方式(エンコーディング)の問題であろう.ファイルの符号化方式(エンコーディング)を変更するか,コンパイル時に -encoding オプションで符号化方式(エンコーディング)を指定すれば良かった.