CGプログラミング論 平成27年5月13日 森田 彦 基礎課題3-1 void DrawGraphics(Graphics g) { int x,y,w,h; w=15; //マスの横幅 h=15; //マスの高さ g.setColor(Color.red); //描画色を赤色に指定 for (int i=1; i<=10; i++) { //行方向の繰り返し 10+(10-i)*w ① x= C10+(10-i)*w ; //次行のマスの描画開始位置 y=10+(i-1)*h; //描画位置を下にhだけずらす for (int j=1; j<=2*i-1; j++) { //列方向の繰り返し g.drawRect(x,y,w,h); //マスを描く x=x+w; //描画位置を右にwだけずらす } } } i=1のとき x=10+9*w i=2のとき x=10+8*w i=3のとき x=10+7*w となるためには・・・ 基礎課題3-2 void DrawGraphics(Graphics g) { int x,y,w,h; w=15; //マスの横幅 h=15; //マスの高さ for (int i=1; i<=10; i++) { //行方向の繰り返し x=10+(10-i)*w; y=10+(i-1)*h; for (int j=1; j<=2*i-1; j++) { //列方向の繰り返し j==1 || || ① j==2*i-1 if( j==1 j==2*i-1 ) { g.setColor(Color.red); //描画色を赤色に指定 g.fillRect(x,y,w,h); //マス内を塗りつぶす g.setColor(Color.black); //マスの外枠の描画色を黒色に指定 g.drawRect(x,y,w,h); //マス(の外枠)を描く } x=x+w; } } } //描画位置を右にwだけずらす ① 基礎課題3-3 void DrawGraphics(Graphics g) { int x,y,w,h; w=15; //マスの横幅 h=15; //マスの高さ for (int i=10; i>=1 ; i--) { ① A 10+(10-i)*w x= 10+(10-i)*w ; //行方向の繰り返し y=10+(10-i)*h; for (int j=1; j<=2*i-1; j++) { //列方向の繰り返し g.setColor(Color.red); //描画色を赤色に指定 g.fillRect(x,y,w,h); //マス内を塗りつぶす g.setColor(Color.black); //マスの外枠の描画色を黒色に指定 g.drawRect(x,y,w,h); //マス(の外枠)を描く x=x+w; //描画位置を右にwだけずらす } } } i=10のとき x=10+0*w i= 9のとき x=10+1*w i= 8のとき x=10+2*w となるためには・・・ ① 基礎課題3-4 void DrawGraphics(Graphics g) { int x,y,w,h; w=15; //マスの横幅 h=15; //マスの高さ for (int i=1; i<=10 ; i++) { //行方向の繰り返し x=10+(i-1)*w; y=10+(i-1)*h; ① C 2*(11-i)-1 for (int j=1;j<= 2*(11-i)-1 ; j++) { //列方向の繰り返し g.setColor(Color.red); //描画色を赤色に指定 g.fillRect(x,y,w,h); //マス内を塗りつぶす g.setColor(Color.black); //マスの外枠の描画色を黒色に指定 g.drawRect(x,y,w,h); //マス(の外枠)を描く x=x+w; //描画位置を右にwだけずらす } } } マスの個数 i=1のとき i=2のとき i=3のとき 19 17 15 となるためには・・・ 応用課題3-A(その1) for (int i=1; i<=19; i++) { if(i<=9) { x= 10+(10-i)*w ; 10+(10-i)*w ① } else { x= 10+(i-10)*w 10+(i-10)*w ② ; } y=10+(i-1)*h; ・・・ A 応用課題3-A(その2) if(i>=11) { jMax= 2*(20-i)-1 ③ } else { jMax= 2*i-1; } B ; 応用課題3-A(その3) for (int j=1; j<=jMax; j++) { //列方向の繰り返し j==1 || ||④ j==jMax if( j==1 j==jMax ) { g.setColor(Color.red); g.fillRect(x,y,w,h); g.setColor(Color.black); g.drawRect(x,y,w,h); } x=x+w; } ・・・ 本日の学習内容 グラフの描画 提出課題 【基礎課題4-1】~【基礎課題4-4】および【応 用課題4-A】、【応用課題4-B】の6題です。 演習課題の受け取りについて 原則として講義時間内に提出してもらいます。提出 が遅れた場合は以下のように減点とします。 基礎課題 応用課題 講義時間内 終了後1時間以内 100% 90% 100% 100% 1時間超~当日中 70% 100% 翌日の17:00まで 0% 100% それ以上の遅れ 0% 0% 課題内容によっては、上の基準を緩和します。その際は講義 時にアナウンスします。
© Copyright 2025 ExpyDoc