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

Slides:



Advertisements
Similar presentations
ネットワークプログ ラミング論 平成27年 11 月 1 6日 森田 彦. 【基礎課題 6-1 】の解答 ① サーブレットを記述して保管するとコン パイルが自動的に行われる。 ② サーブレットの記述後、開発者がコンパ イル命令を実行しなければならない。 ③ プロジェクト名が Web アプリケーション.
Advertisements

プログラミング 平成24年1月11日 森田 彦.
プログラミング 平成25年10月29日 森田 彦.
情報処理演習 (9)グラフィックス システム科学領域 日浦 慎作.
プログラミング演習3 李 亜民クラス 第2回 ラスタライズ.
プログラミング 平成25年12月3日 森田 彦.
プログラミング 平成25年11月19日 森田 彦.
データ構造とアルゴリズム論 第6章 探索のアルゴリズム
データ構造とアルゴリズム論 第5章 レコード構造を使った処理-クラスの利用
ネットワークプログラミング論 平成27年10月12日 森田 彦.
プログラミング 平成24年10月23日 森田 彦.
CGプログラミング論 平成28年6月1日 森田 彦.
データ構造とアルゴリズム論 第9章 木構造 平成16年12月21日 森田 彦.
情報数理Ⅱ 平成27年9月30日 森田 彦.
演習12.
CGプログラミング論 平成28年4月27日 森田 彦.
データ構造とアルゴリズム論 第2章 配列(構造)を使った処理
プログラミング 平成25年12月10日 森田 彦.
ネットワークプログラミング論 平成28年10月17日 森田 彦.
ネットワークプログラミング論 平成28年12月12日 森田 彦.
プログラミング 平成24年10月30日 森田 彦.
プログラミング 平成23年10月5日 森田 彦.
データ構造とアルゴリズム論 第9章 木構造 平成17年12月20日 森田 彦.
データ構造とアルゴリズム論 第2回目テスト 平成15年12月9日 森田 彦.
データ構造とアルゴリズム論 第8章 再帰処理 平成15年12月2日 森田 彦.
CGと形状モデリング 授業資料 長井 超慧(東京大学)
ネットワークプログラミング論 平成28年11月21日 森田 彦.
C 言語について 補足資料 資料および授業の情報は :
基礎プログラミング演習 第10回.
プログラミング 平成25年11月5日 森田 彦.
データ構造と アルゴリズム論 平成29年9月27日 森田 彦.
JAVA GUIプログラミング 第2回 グラフィックスを使っての演習 グラフを描こう.
CGプログラミング論 平成28年5月25日 森田 彦.
グラフィックス、その1 色の表示 フォントを変えて文字を表示 直線、四角形、楕円形の描画 円弧の描画 多角形の描画
ネットワークプログラミング論 平成28年12月26日 森田 彦.
CGプログラミング論 平成28年4月20日 森田 彦.
プログラミング 平成22年11月24日 森田 彦.
プログラミング 平成23年12月21日 森田 彦.
電界中の電子の運動 シミュレータ作成 精密工学科プログラミング基礎 資料.
第9回 卒業研究1
ネットワークプログラミング論 平成28年11月7日 森田 彦.
ネットワークプログラミング論 平成28年10月31日 森田 彦.
データ構造とアルゴリズム論 第3章 ファイルを用いたデータ入出力2
データ構造とアルゴリズム論 終章 専門科目におけるプログラミング
演習1 : インターフェイスを使ってみよう 「10人の客(乗用車、バイク、ストーブのいずれかランダムに決定)に1~100(L)の給油をするガソリンスタンドをシミュレートする実行クラス : RefuelSimulation」を作成する。給油の際には、どの種類の客が何リットル給油したか出力すること。 実行結果例.
データ構造とアルゴリズム論 第7章 再帰処理 平成17年12月6日 森田 彦.
プログラミングⅠ 平成30年10月29日 森田 彦.
VBで始めるプログラミング こんにちは、世界。 /28 NARC.
ネットワークプログラミング論 平成28年12月19日 森田 彦.
データ構造とアルゴリズム論 第2回目テスト 平成16年12月14日 森田 彦.
データ構造とアルゴリズム論 第4章 レコード構造を使った処理-クラスの利用
プログラミングⅠ 平成30年10月15日 森田 彦.
ソフトウェア制作論 平成30年10月10日.
学 正多角形のどんな性質を使えば,プログラミングで正多角形を描くことができるだろうか。
プログラミングⅠ 平成31年1月7日 森田 彦.
プログラミング 平成22年12月15日 森田 彦.
課題 5/25 以下の指示に従って作成した pptx あるいは ppt ファイルを電子メールで へ送りなさい。
データ構造とアルゴリズム論 終章 専門科目におけるプログラミング
プログラミング 平成24年11月13日 森田 彦.
vc-2. Visual Studio C++ のデバッガー (Visual Studio C++ の実用知識を学ぶシリーズ)
データ構造とアルゴリズム論 第7章 再帰処理 平成16年11月30日 森田 彦.
CGプログラミング論 平成28年7月6日 森田 彦.
CGプログラミング論 平成28年5月18日 森田 彦.
情報数理Ⅱ 平成28年9月21日 森田 彦.
データ構造とアルゴリズム論 第9章 連結リスト
CGプログラミング論 平成28年6月29日 森田 彦.
プログラミング 平成24年12月11日 森田 彦.
CGと形状モデリング 授業資料 1,2限: 大竹豊(東京大学) 3,4限: 俵 丈展(理化学研究所)
CGプログラミング論 平成28年5月11日 森田 彦.
プログラミング演習I 補講用課題
Presentation transcript:

CGプログラミング論 平成28年6月8日 森田 彦

基礎課題6-1 y0-y[i] void DrawGraphics(Graphics g) { int[] x={0,30,30,0,-30,-30}; //多角形のx座標の定義 int[] y={0,30,90,60,90,30}; //多角形のy座標の定義 int N=6; //データ数(多角形の頂点の数) int x0=100; //原点のx座標(コンピュータ上) int y0=200; //原点のy座標(コンピュータ上) int[] xp=new int[N]; //コンピュータ上のx座標を格納する配列 int[] yp=new int[N]; //コンピュータ上のy座標を格納する配列 g.setColor(Color.BLUE); //描画色を青に設定 for(int i=0; i<N; i++) { xp[i]= x0+x[i] ; yp[i]= y0-y[i] ; } g.drawPolygon(xp,yp,N); //多角形を描画 y0-y[i] ①

基礎課題6-2 追加部分 y0+y[i] void DrawGraphics(Graphics g) { int[] x={0,30,30,0,-30,-30}; //多角形のx座標の定義 ・・・ for(int i=0; i<N; i++) { xp[i]= x0+x[i] ; yp[i]= y0-y[i] ; } g.drawPolygon(xp,yp,N); //多角形を描画 //x軸対称な図形の描画 yp[i]= y0-y[i]  ; 追加部分 ① y0+y[i]

基礎課題6-3 今の場合、図形の対称性から「y0+y[i]」でも同じ結果になるが、一般には「y0-y[i]」が正しい。 void DrawGraphics(Graphics g) { int[] x={0,30,90,60,90,30}; //多角形のx座標の定義 int[] y={0,-30,-30,0,30,30}; //多角形のy座標の定義 int N=6; //データ数(多角形の頂点の数) ・・・ //図形(多角形)の描画 for(int i=0; i<N; i++) { xp[i]= x0+x[i] ; yp[i]= y0-y[i] ; } g.drawPolygon(xp,yp,N); //多角形を描画 //y軸対称な図形の描画 xp[i]= x0-x[i] ; 今の場合、図形の対称性から「y0+y[i]」でも同じ結果になるが、一般には「y0-y[i]」が正しい。 x0-x[i] ① y0-y[i] ②

基礎課題6-4 void DrawGraphics(Graphics g) { int[] x={0,30,30,0}; //多角形のx座標の定義 int[] y={0,30,90,60}; //多角形のy座標の定義 int N=4; //データ数(多角形の頂点の数) ・・・ //図形(多角形)の描画 for(int i=0; i<N; i++) { xp[i]=x0+x[i]; yp[i]=y0-y[i]; } g.drawPolygon(xp,yp,N); //多角形を描画 //原点対称な図形の描画 xp[i]= x0-x[i] ; yp[i]= y0+y[i] ; x0-x[i] ① y0+y[i] ②

基礎課題6-5 void DrawGraphics(Graphics g) { ・・・ //x軸対称な図形の描画 for(int i=0; i<N; i++) { xp[i]= x0+x[i] ; yp[i]= y0+y[i] ; } g.drawPolygon(xp,yp,N); //多角形を描画 //y軸対称な図形の描画 xp[i]= x0-x[i] ; yp[i]= y0-y[i] ; //原点対称な図形の描画 x0+x[i] ① y0+y[i] ② x0-x[i] ③ y0-y[i] ④ x0-x[i] ⑤ y0+y[i] ⑥

基礎課題6-6 void DrawGraphics(Graphics g) { ・・・ //図形(多角形)の描画 double x_rot,y_rot,theta,d_theta; d_theta= 2*Math.PI/4 ; //角度θの刻み幅 for(int j=0;j<4;j++) { //4つの三角形を繰り返し処理で描画 theta=d_theta*j; //角度θ for(int i=0; i<N; i++) {    ・・・ } g.drawPolygon(xp,yp,N); //多角形を描画 2*Math.PI/4 ①

応用課題6-A(その1) ② void DrawGraphics(Graphics g) { ・・・ //図形(多角形)の描画 double x_rot,y_rot,theta,d_theta; d_theta= 2*Math.PI/12 ; //角度θの刻み幅 for(int j=0;j<12;j++) { theta=d_theta*j; //角度θ for(int i=0; i<N; i++) { x_rot=x[i]*Math.cos(theta)-y[i]*Math.sin(theta); y_rot=x[i]*Math.sin(theta)+y[i]*Math.cos(theta); xp[i]=x0+(int) (x_rot); yp[i]=y0-(int) (y_rot); } g.drawPolygon(xp,yp,N); //多角形を描画 2*Math.PI/12 ① ②

応用課題6-A(その2) ② void DrawGraphics(Graphics g) { ・・・ //図形(多角形)の描画 double x_rot,y_rot,theta,d_theta; d_theta= 2*Math.PI/12 ; //角度θの刻み幅 for(int j=0;j<12;j++) { theta=d_theta*j; //角度θ for(int i=0; i<N; i++) { } g.setColor(Color.blue); //塗る色を青に設定 g.fillPolygon(xp,yp,N); //多角形を描画(塗りつぶし) g.setColor(Color.black); //輪郭を描く色を黒に設定 g.drawPolygon(xp,yp,N); //多角形を描画 ②

本日の学習内容 グラデーション 提出課題  【基礎課題7-1】~【基礎課題7-3】および【応用課題7-A】の4題です。

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