MyShape クラスを使ってみます。
では試してみます。 左上から右下に向かって線が引かれます。
import java.awt.Graphics2D; import MyShape; import Tpl02; public class TestMyShape02_1 extends Tpl02 { public void draw(Graphics2D g2) { MyShape sp = new MyShape(); // 直線 g2.draw(sp.Line(0, 0, getWidth(), getHeight())); } }
実行例
円を描いてみます。 中心(50,50)、半径50の円です。
import java.awt.Graphics2D; import MyShape; import Tpl02; public class TestMyShape02_2 extends Tpl02 { public void draw(Graphics2D g2) { MyShape sp = new MyShape(); // 円 g2.draw(sp.Circle(50, 50, 50)); } }
実行例
実際に使ってみます。
import java.awt.Graphics2D; import MyShape; import Tpl02; public class TestMyShape02_3 extends Tpl02 { public void draw(Graphics2D g2) { MyShape sp = new MyShape(); // 点 g2.fill(sp.Point(50, 50)); } }
実行例
1 + 2 + 3 + 4 + 5 = 10 です。 これを表現するプログラムです。
ソースです。
import java.awt.Graphics2D; import MyPoint; import MyShape; import Tpl02; public class TestMyShape02_4 extends Tpl02 { public void draw(Graphics2D g2) { MyShape sp = new MyShape(); double x, y; double x0, y0; double r = 10; // 半径 x0 = getWidth() / 2; y0 = r; for (int i = 0; i < 8; i++) { for (int j = 0; j <= i; j++) { x = x0 - (i - 2 * j) * r; y = y0 + 2 * i * r; g2.draw(sp.Circle(x, y, r)); } } } }
実行例
丸が正三角形に並んでいます。 一番上から、1個、2個、3個・・・と並んでいます。 1 + 2 + 3 + 4 + 5 = 10 と同じ内容になっているのがわかります。 また、この図が10進法になった理由の1つだそうです。