Presentation is loading. Please wait.

Presentation is loading. Please wait.

CGプログラミング論 平成28年5月11日 森田 彦.

Similar presentations


Presentation on theme: "CGプログラミング論 平成28年5月11日 森田 彦."— Presentation transcript:

1 CGプログラミング論 平成28年5月11日 森田 彦

2 【基礎課題2-1 】の解答 ① A B C x=10; x=30; ② 行が3つに C A B ③ 高さが半分に C A B
【基礎課題2-1 】の解答  ①  A B C x=10; x=30; ②  for (int i=1; i<=3; i++) 行が3つに C A B ③  h=20;  高さが半分に C A B

3 【基礎課題2-2 】の解答 if( ((i%2)==0 && (j%2)==0) || ((i%2)==1 && (j%2)==1) ) {
g.fillRect(x,y,w,h); } ((i%2)==1 && (j%2)==1) (行、列共に奇数)

4 【応用課題2-A 】の解答 if(               ) { g.fillRect(x,y,w,h); } i==j

5 【応用課題2-B 】の解答 void DrawGraphics(Graphics g) { int Gyou=Integer.parseInt(jTextFieldGyou.getText()); int Retsu=Integer.parseInt(jTextFieldRetsu.getText()); int width=myPanel1.getWidth(); //パネル幅の取得 int height=myPanel1.getHeight(); //パネルの高さの取得 int x,y,w,h; x=0; //描画するマスの左上隅のx座標(右方向の位置) y=0; //描画するマスの左上隅のy座標(下方向の位置) w= width/Retsu; //マスの横幅 h= height/Gyou; //マスの高さ ・・・ 行数 列数 width/Retsu; height/Gyou;

6 本日の学習内容 ピラミッド図形の描画 提出課題  【基礎課題3-1】~【基礎課題3-4】および【応用課題3-A】の5題です。

7 演習課題の受け取りについて 原則として講義時間内に提出してもらいます。提出が遅れた場合は以下のように減点とします。 基礎課題 応用課題
100% 終了後1時間以内 90% 1時間超~当日中 70% 翌日の17:00まで 0% それ以上の遅れ 課題内容によっては、上の基準を緩和します。その際は講義時にアナウンスします。

8 基礎課題3-1 i=1のとき x=10+9*w i=2のとき x=10+8*w となるためには・・・ i=3のとき x=10+7*w
void DrawGraphics(Graphics g) { int x,y,w,h; w=15; //マスの横幅 h=15; //マスの高さ g.setColor(Color.red); //描画色を赤色に指定 for (int i=1; i<=10; i++) { //行方向の繰り返し x= 10+(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だけずらす } C 10+(10-i)*w i=1のとき x=10+9*w i=2のとき x=10+8*w となるためには・・・ i=3のとき x=10+7*w

9 基礎課題3-2 int x,y,w,h; w=15; //マスの横幅 h=15; //マスの高さ
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++) { //列方向の繰り返し if( j==1 || j==2*i ) { g.setColor(Color.red); //描画色を赤色に指定 g.fillRect(x,y,w,h); //マス内を塗りつぶす g.setColor(Color.black); //マスの外枠の描画色を黒色に指定 g.drawRect(x,y,w,h); //マス(の外枠)を描く } x=x+w; //描画位置を右にwだけずらす    } j==1 || j==2*i-1

10 基礎課題3-3 i=10のとき x=10+0*w i= 9のとき x=10+1*w となるためには・・・ i= 8のとき x=10+2*w
void DrawGraphics(Graphics g) { int x,y,w,h; w=15; //マスの横幅 h=15; //マスの高さ for (int i=10; i>=1 ; i--) { //行方向の繰り返し 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だけずらす } A 10+(10-i)*w i=10のとき x=10+0*w i= 9のとき x=10+1*w となるためには・・・ i= 8のとき x=10+2*w

11 基礎課題3-4 i=1のとき 19 i=2のとき 17 マスの個数 i=3のとき 15 となるためには・・・ C 2*(11-i)-1 ①
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; 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だけずらす } C 2*(11-i)-1 i=1のとき 19 i=2のとき 17 マスの個数 i=3のとき 15 となるためには・・・


Download ppt "CGプログラミング論 平成28年5月11日 森田 彦."

Similar presentations


Ads by Google