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

Slides:



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

初年次セミナー 第13回 2次元グラフィックス(1).
プログラミング 平成24年1月11日 森田 彦.
プログラミング 平成25年10月29日 森田 彦.
情報処理演習 (9)グラフィックス システム科学領域 日浦 慎作.
初年次セミナー 第14回 2次元グラフィックス(2).
情253 「ディジタルシステム設計 」 (3)Constellation3
プログラミング 平成25年12月3日 森田 彦.
プログラミング 平成25年11月19日 森田 彦.
JAVA GUIプログラミング 第6回 TextFieldとLabel.
ネットワークプログラミング論 平成27年10月12日 森田 彦.
プログラミング 平成24年10月23日 森田 彦.
CGプログラミング論 平成28年6月1日 森田 彦.
・y=sinθのグラフとy=2sinθのグラフ ・y=sinθのグラフとy=sin2θのグラフ ・周期と値域
情報数理Ⅱ 平成27年9月30日 森田 彦.
伝達事項 試験は6/6 (土) 1限目の予定です。.
問題 1 キーボードから入力した数の合計を計算するプログラムを 作成せよ。最初に、何個の数を入力するかその数を入力 するようにする。
CGプログラミング論 平成28年4月27日 森田 彦.
プログラミング入門2 総合演習課題 2008年 1/7, 1/21 実施 これまでの講義内容についての腕試し
プログラミング 平成25年12月10日 森田 彦.
ネットワークプログラミング論 平成28年10月17日 森田 彦.
3次元での回転表示について.
ネットワークプログラミング論 平成28年12月12日 森田 彦.
プログラミング 平成24年10月30日 森田 彦.
プログラミング 平成23年10月5日 森田 彦.
データ構造とアルゴリズム論 第2回目テスト 平成15年12月9日 森田 彦.
データ構造とアルゴリズム論 第8章 再帰処理 平成15年12月2日 森田 彦.
CGと形状モデリング 授業資料 長井 超慧(東京大学)
ネットワークプログラミング論 平成28年11月21日 森田 彦.
C 言語について 補足資料 資料および授業の情報は :
基礎プログラミング演習 第10回.
二分木説明 点Cの座標を求めよ。.
プログラミング 平成25年11月5日 森田 彦.
データ構造と アルゴリズム論 平成29年9月27日 森田 彦.
JAVA GUIプログラミング 第2回 グラフィックスを使っての演習 グラフを描こう.
グラフィックス、その1 色の表示 フォントを変えて文字を表示 直線、四角形、楕円形の描画 円弧の描画 多角形の描画
ネットワークプログラミング論 平成28年12月26日 森田 彦.
CGプログラミング論 平成28年6月8日 森田 彦.
CGプログラミング論 平成28年4月20日 森田 彦.
プログラミング 平成23年12月21日 森田 彦.
第9回 卒業研究1
ネットワークプログラミング論 平成28年11月7日 森田 彦.
ネットワークプログラミング論 平成28年10月31日 森田 彦.
プロジェクト演習III,V <インタラクティブ・ゲーム制作> プログラミングコース
データ構造とアルゴリズム論 第3章 ファイルを用いたデータ入出力2
データ構造とアルゴリズム論 終章 専門科目におけるプログラミング
3次元での回転表示について.
プログラミングⅠ 平成30年10月29日 森田 彦.
ネットワークプログラミング論 平成28年12月19日 森田 彦.
データ構造とアルゴリズム論 第2回目テスト 平成16年12月14日 森田 彦.
プログラミングⅠ 平成30年10月15日 森田 彦.
ねらい「関数y=ax2のグラフをかき、その特徴を理解する。」
プログラミングⅠ 平成30年10月22日 森田 彦.
プログラミングⅠ 平成31年1月7日 森田 彦.
プログラミング 平成22年12月15日 森田 彦.
逆運動学:手首自由度 運動学:速度、ャコビアン 2008.5.27
アルゴリズムとプログラミング (Algorithms and Programming)
プログラミング 平成24年11月13日 森田 彦.
データ構造とアルゴリズム論 第7章 再帰処理 平成16年11月30日 森田 彦.
プロジェクト演習III,V <インタラクティブ・ゲーム制作> プログラミングコース
CGプログラミング論 平成28年7月6日 森田 彦.
CGプログラミング論 平成28年5月18日 森田 彦.
情報数理Ⅱ 平成28年9月21日 森田 彦.
データ構造とアルゴリズム論 第9章 連結リスト
統計解析 第11回.
CGプログラミング論 平成28年6月29日 森田 彦.
プログラミング 平成24年12月11日 森田 彦.
プログラミング 平成28年10月25日 森田 彦.
CGと形状モデリング 授業資料 1,2限: 大竹豊(東京大学) 3,4限: 俵 丈展(理化学研究所)
CGプログラミング論 平成28年5月11日 森田 彦.
Presentation transcript:

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

基礎課題4-1 y0-100 y0-150 y0=200; //グラフの原点のy座標 ① ② x軸 y軸 100 25 (0,0) x0 y0 (x0,y0) 線分1 線分2 線分3 <コンピュータ上の座標> (x0+100,y0-50) グラフのx座標 グラフのy座標 void DrawGraphics(Graphics g) { int x0,y0,lx,ly; lx=200; //x軸の長さ ly=180; //y軸の長さ x0=10; //グラフの原点のx座標 y0=200; //グラフの原点のy座標 g.setColor(Color.black); //軸の描画色を黒色に指定 g.drawLine(x0,y0,x0+lx,y0); //x軸の描画 g.drawLine(x0,y0,x0,y0-ly); //y軸の描画 g.setColor(Color.blue); //グラフの描画色を青色に指定 g.drawLine(x0,y0,x0+100, y0-50 ) ; //線分1の描画 g.drawLine(x0+100,y0-50,x0+150, y0-100   ); //線分2の描画 g.drawLine(x0+150,y0-100,x0+175, y0-150   ); //線分3の描画 } y0-100 ① y0-150 ②

基礎課題4-2 y1+50 void DrawGraphics(Graphics g) { x軸 y軸 100 25 (0,0) x0 y0 (x0,y0) 線分1 線分2 線分3 <コンピュータ上の座標> (x0+100,y0-50) グラフのx座標 グラフのy座標 基礎課題4-2 void DrawGraphics(Graphics g) { int x0,y0,lx,ly,x1,y1,x2,y2; lx=200; //x軸の長さ ・・・ g.setColor(Color.blue); //グラフの描画色を青色に指定 //グラフの描画 int wx=100; //x軸方向の移動幅の設定 x1=0; //最初の始点のx座標の設定 y1=0; //最初の始点のy座標の設定 for(int i=1;i<=3;i++) { x2=x1+wx; //終点のx座標の設定 y2= y1+50  ; //終点のy座標の設定 g.drawLine(x0+x1,y0-y1,x0+x2,y0-y2); x1=x2; //次の始点のx座標の設定 y1=y2; //次の始点のy座標の設定 wx=wx/2; //次のx軸方向の移動幅の設定 } ① y1+50

基礎課題4-3 y=x2 (0≦x≦10) i<=10 ・・・ //グラフの描画 int wx=1; x1=0; y1=0; for(int i=1; i<=10 ;i++) { x2=i*wx; y2=x2*x2; g.drawLine(x0+20*x1,y0-2*y1,x0+20*x2,y0-2*y2); x1=x2; y1=y2; } ① i<=10

基礎課題4-4 y=x2 (0≦x≦1) i<=10 void DrawGraphics(Graphics g) { int x0,y0,lx,ly; double x1,y1,x2,y2; //一般的には座標値は実数型で表す lx=200; //x軸の長さ ・・・ //グラフの描画 double wx=0.1; //x軸方向の刻み幅も一般には実数型変数で表す。 x1=0; y1=0; for(int i=1; i<=10 ;i++) { x2=i*wx; y2=x2*x2; g.drawLine( x0+(int)(100*x1),y0-(int)(100*y1), x0+(int)(100*x2),y0-(int)(100*y2) ); x1=x2; y1=y2; } y=x2 (0≦x≦1) ① i<=10

応用課題4-A 10+lx 10+ly void DrawGraphics(Graphics g) { int x0,y0,lx,ly; (0,0) (x0,y0) (10,10) ly lx (コンピュータ上の)x軸 (コンピュータ上の)y軸 x軸 y軸 応用課題4-A void DrawGraphics(Graphics g) { int x0,y0,lx,ly; double x1,y1,x2,y2; lx=200; //x軸の長さ ly=200; //y軸の長さ x0=10+lx/2; //グラフの原点のx座標 y0=10+ly/2; //グラフの原点のy座標 g.setColor(Color.black); //軸の描画色を黒色に指定 g.drawLine(10,y0, 10+lx  ,y0); //x軸の描画 g.drawLine(x0,10,x0, 10+ly ); //y軸の描画 g.setColor(Color.blue); //グラフの描画色を青色に指定 //グラフの描画 10+lx ① 10+ly ②

応用課題4-A (その2) y=x3 (-3≦x≦3) -3 double wx=0.1; int Cx=20,Cy=3; x1= -3 ; //グラフの描画 double wx=0.1; int Cx=20,Cy=3; x1= -3  ; y1=x1*x1*x1; for(int i=1;i<=60;i++) { x2=i*wx-3; y2=x2*x2*x2; g.drawLine( x0+(int)(Cx*x1),y0-(int)(Cy*y1),          x0+(int)(Cx*x2),y0-(int)(Cy*y2) ); x1=x2; y1=y2; } ③ -3

応用課題4-B y=sin(x) (-3.14≦x≦3.14) Math.sin(x1) Math.sin(x2) ・・・ //グラフの描画 int Cx=30,Cy=60; int Num=100; double wx=3.14*2/Num; x1=-3.14; y1= Math.sin(x1)  ; for(int i=1;i<=Num;i++) { x2=i*wx-3.14; y2= Math.sin(x2)  ; g.drawLine( x0+(int)(Cx*x1),y0-(int)(Cy*y1), x0+(int)(Cx*x2),y0-(int)(Cy*y2)); x1=x2; y1=y2; } Math.sin(x1) ① Math.sin(x2) ②

本日の学習内容 円の描画 y x 5-1 三角関数の初歩 x=r×cosθ y=r×sinθ 三角関数の定義 半径rの円周上の点P(x,y) 本日の学習内容 円の描画 5-1 三角関数の初歩 半径rの円周上の点P(x,y) P(x,y) r y y θ x=r×cosθ x x y=r×sinθ cosθ=x/r, sinθ=y/r 三角関数の定義

基礎課題5-1 1 2 60° 30° 1 45° cos(60°)=1/2 sin(60°)= sin(30°)= 1/2 ① cos(60°)=1/2 sin(60°)= ② sin(30°)= ③ 1/2 cos(30°)= sin(45°)= cos(45°)= ④

基礎課題5-1 θ(ラジアン)=(θ(角度)/180)×π 45° →         (ラジアン) π/4 ⑤ 60° →         (ラジアン) π/3 ⑥

本日の学習内容 円の描画 提出課題  【基礎課題5-1】~【基礎課題5-5】および【応用課題5-A】の6題です。

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