90 likes | 244 Views
CG プログラミング論. 平成 26 年 6 月 16 日 森田 彦. y. (x3,y3). (x4,y4). r2. (x2,y2). r1. θ2. (x1,y1). θ1. x. 基礎課題 8 - 1. void DrawGraphics(Graphics g) { ・・・ for ( int i=0;i<N_r;i++){ ・・・ for ( int j=0; j<N_theta;j++) { theta1=d_theta*j; theta2=theta1+d_theta;
E N D
CGプログラミング論 平成26年6月16日 森田 彦
y (x3,y3) (x4,y4) r2 (x2,y2) r1 θ2 (x1,y1) θ1 x 基礎課題8-1 void DrawGraphics(Graphics g) { ・・・ for(int i=0;i<N_r;i++){ ・・・ for (int j=0; j<N_theta;j++) { theta1=d_theta*j; theta2=theta1+d_theta; x1=r1*Math.cos(theta1); x2=r2*Math.cos(theta1); x3= r2 *Math.cos(theta2); x4= r1 *Math.cos(theta2); y1=r1*Math.sin(theta1); y2=r2*Math.sin(theta1); y3= r2 *Math.sin(theta2) ; y4= r1 *Math.sin(theta2) ; ・・・ } ① r2 ② r1 ③ r2 ④ r1
基礎課題8-2 void DrawGraphics(Graphics g) { int x0,y0,r1,r2,d_r,N_theta,N_r,red,green,blue; ・・・ for(int i=0;i<N_r;i++){ r1=i*d_r; r2=r1+d_r; red= 255-Kido*i ; green= 255-Kido*i; blue= 255-Kido*i ; for (int j=0; j<N_theta;j++) { ・・・ } } } ① 255-Kido*i ② 255-Kido*i ③ 255-Kido*i
基礎課題8-3 void DrawGraphics(Graphics g) { int x0,y0,r1,r2,d_r,N_theta,N_r,red,green,blue; ・・・ for(int i=0;i<N_r;i++){ r1=i*d_r; r2=r1+d_r; for (int j=0; j<N_theta;j++) { red= Kido*j ; green= Kido*j ; blue= Kido*j ; ・・・ } } } ① Kido*j ② Kido*j ③ Kido*j
でもOK! r2 応用課題8-A void DrawGraphics(Graphics g) { ・・・ r1=0; //描画開始時の半径r1 r2=r1+d_r-2; //描画開始時の半径r2 for(int i=0;i<N_r;i++){ r1=i*d_r; r2=r1+d_r; ・・・ for (int j=0; j<N_theta;j++) { ・・・ } d_r=d_r-2; r1= r1+d_r ; r2=r1+(d_r-2); } } ① r1+d_r
応用課題8-B void DrawGraphics(Graphics g) { ・・・ for(int i=0;i<N_r;i++){ ・・・ for (int j=0; j<N_theta;j++) { if(j<N_theta/2){ red=Kido*j; green=Kido*j; blue=Kido*j; } else { red=Kido*( N_theta-j ); green=Kido*( N_theta-j ); blue=Kido*( N_theta-j ); } ・・・ ① N_theta-j ① N_theta-j ① N_theta-j
楕円の座標 x=acosθ y=asinθ×(b/a) =bsinθ Y b Q(x,y) a θ a X
本日の学習内容 楕円のグラデーション • 提出課題 【基礎課題9-1】~【基礎課題9-4】および【応用課題9-A】、【応用課題9-B 】の6題です。
演習課題の受け取りについて • 原則として講義時間内に提出してもらいます。提出が遅れた場合は以下のように減点とします。 基礎課題 応用課題 課題内容によっては、上の基準を緩和します。その際は講義時にアナウンスします。