Presentation is loading. Please wait.

Presentation is loading. Please wait.

JAVA GUIプログラミング 第2回 グラフィックスを使っての演習 グラフを描こう.

Similar presentations


Presentation on theme: "JAVA GUIプログラミング 第2回 グラフィックスを使っての演習 グラフを描こう."— Presentation transcript:

1 JAVA GUIプログラミング 第2回 グラフィックスを使っての演習 グラフを描こう

2 前回の復習 線が2本引けますね 絵を描く部分を次のように描くと・・ public void paint(Graphics g) {
g.drawLine(100,100,200,200); g.drawLine(200,100,300,200); } 線が2本引けますね

3 今日は色をつけてみよう public void paint(Graphics g) { g.setColor(Color.red);
g.drawLine(100,100,200,200); g.setColor(Color.blue); g.drawLine(200,100,300,200); }

4 色の設定 setColor(色)のように設定します。 色には Color.red Color.blue Color.yellow
Color.white などなど、たくさんあります。

5 自分で色を作る コンピュータの色の3源色(RGB) をまぜて自分で色を作ることができます。

6 構文 setColor(new Color(赤,緑,青)) 赤、緑、青には 0~255までの整数を代入します。 値は強さをさしています

7 例 setColor(new Color(0,0,0)) ⇒黒 setColor(new Color(255,255,255)) ⇒白
⇒黄色 setColor(new Color(125,125,125)) ⇒灰色

8 ではやってみましょう public void paint(Graphics g) {
g.setColor(new Color(200,0,150)); g.fillRect(100,100,200,50); }

9 どうですか? 色を指定する方法はこんな感じです いろいろと試してください(駄洒落ではありません) 次にjavaでfor文を使ってみましょう

10 for文 for(初期値の設定;継続条件;1回ごとの処理) 例 for(i=1;i<5;i++) { }
例  for(i=1;i<5;i++) { } i++とはiに1を足すという意味です。 { }の中は4回繰り返されます

11 for文のサンプル① public void paint(Graphics g) { int i; i+=10とは
for(i=100;i<=300;i+=10) g.drawLine(100,i,i,300); } i+=10とは iに10を足すという意味です このプログラムの結果を 想像してみてください

12 for文のサンプル② public void paint(Graphics g) { int i;
for(i=0;i<=255;i++) g.setColor(new Color(0,i,255-i)); g.drawLine(i,0,i,100); } これも結果を想像 してみよう!

13 色についてはここまで 次はグラフを描いてみましょう

14 座標系の違いに注意 描かせたいグラフの範囲を[-1,1]×[-1,1]とします。 画面のサイズを500×500とします。
数学上の座標を(x,y)とし 画面の座標を(x’,y’)とすると・・ x’= x y’= y となります。

15 プログラムの前に・・ これからy=x のグラフを描きます drawLine(200,200,200,200)
これからy=x のグラフを描きます グラフを描くときには点を細かく打っていきますが、 JAVAには点を打つ命令がありません。 もし(200,200)に点を打ちたいときは drawLineを使って次のようにします。 drawLine(200,200,200,200)

16 ではプログラムです public void paint(Graphics g) { double x,y; int x1,y1;
for(x=-1;x<=1;x+=0.01) y=x*x; x1=(int)( *x); y1=(int)( *y); g.drawLine(x1,y1,x1,y1); }

17 実数の計算をするので x,yをdoubleで定義します public void paint(Graphics g) {
double x,y; int x1,y1; for(x=-1;x<=1;x+=0.01) y=x*x; x1=(int)( *x); y1=(int)( *y); g.drawLine(x1,y1,x1,y1); } 実数の計算をするので x,yをdoubleで定義します

18 整数型でx1,y1を定義します。 コンピュータの座標が整数のため です。 public void paint(Graphics g) {
double x,y; int x1,y1; for(x=-1;x<=1;x+=0.01) y=x*x; x1=(int)( *x); y1=(int)( *y); g.drawLine(x1,y1,x1,y1); } 整数型でx1,y1を定義します。 コンピュータの座標が整数のため です。

19 xをー1から1まで、0.01ずつ 増やしながら繰り返します。 public void paint(Graphics g) {
double x,y; int x1,y1; for(x=-1;x<=1;x+=0.01) y=x*x; x1=(int)( *x); y1=(int)( *y); g.drawLine(x1,y1,x1,y1); } xをー1から1まで、0.01ずつ 増やしながら繰り返します。

20 今回描かせたい関数 public void paint(Graphics g) { double x,y; int x1,y1;
for(x=-1;x<=1;x+=0.01) y=x*x; x1=(int)( *x); y1=(int)( *y); g.drawLine(x1,y1,x1,y1); } 今回描かせたい関数

21 数学上の座標から コンピュータの座標に変換します コンピュータの座標のため 整数型になおします。
public void paint(Graphics g) { double x,y; int x1,y1; for(x=-1;x<=1;x+=0.01) y=x*x; x1=(int)( *x); y1=(int)( *y); g.drawLine(x1,y1,x1,y1); } 数学上の座標から コンピュータの座標に変換します コンピュータの座標のため 整数型になおします。

22 (x1,y1)に点を打ちます public void paint(Graphics g) { double x,y; int x1,y1;
for(x=-1;x<=1;x+=0.01) y=x*x; x1=(int)( *x); y1=(int)( *y); g.drawLine(x1,y1,x1,y1); } (x1,y1)に点を打ちます

23 今日はここまでです 暇がある人は いろいろな絵や いろいろな関数を描いてみてください。


Download ppt "JAVA GUIプログラミング 第2回 グラフィックスを使っての演習 グラフを描こう."

Similar presentations


Ads by Google