回答編集履歴
3
誤りを訂正、図形に(x,y)が含まれるかを追記
test
CHANGED
@@ -12,9 +12,9 @@
|
|
12
12
|
|
13
13
|
- C3(x,y): 円の中心の位置(Circleのインスタンス変数 xpos, ypos)
|
14
14
|
|
15
|
-
- 距離(M,C3)が C3 の半径 r
|
15
|
+
- 距離(M,C3)が C3 の半径 rad 以内に収まるか。
|
16
16
|
|
17
|
-
- Circle.isIn(x,y):boolean
|
17
|
+
- ~~Circle.isIn(x,y):boolean~~Circle.contains(x,y):boolean
|
18
18
|
|
19
19
|
|
20
20
|
|
@@ -33,3 +33,55 @@
|
|
33
33
|
**repaintする。**
|
34
34
|
|
35
35
|
- repaint()して間接的にc3.draw(g)を呼びます。
|
36
|
+
|
37
|
+
|
38
|
+
|
39
|
+
### 図形が点(x,y)を含むかの判定 (2018-05-11)
|
40
|
+
|
41
|
+
ある図形の上でマウスがクリックされたかを判定するには、java.awt.Shape.contains(x,y)を使います。Shapeを継承するクラスは以下のとおり。
|
42
|
+
|
43
|
+
- 楕円(円) - java.awt.geom.Ellipse2D
|
44
|
+
|
45
|
+
- 四角形(正方形) - java.awt.geom.Rectangle2D
|
46
|
+
|
47
|
+
- 多角形(三角形) - java.awt.Polygon
|
48
|
+
|
49
|
+
|
50
|
+
|
51
|
+
Circle,Rect,Triangleクラスでそれぞれインスタンスを保持しておきます。移動したら作り直します。
|
52
|
+
|
53
|
+
|
54
|
+
|
55
|
+
**円**
|
56
|
+
|
57
|
+
```Java
|
58
|
+
|
59
|
+
Shape shape = new Ellipse2D.Double(xpos - rad, ypos - rad, rad * 2, rad * 2);
|
60
|
+
|
61
|
+
```
|
62
|
+
|
63
|
+
**正方形**
|
64
|
+
|
65
|
+
```Java
|
66
|
+
|
67
|
+
Shape shape = new Rectangle2D.Double(xpos - width / 2, ypos - height / 2, width, height);
|
68
|
+
|
69
|
+
```
|
70
|
+
|
71
|
+
**三角形**
|
72
|
+
|
73
|
+
```Java
|
74
|
+
|
75
|
+
Shape shape = new Polygon(xs, ys, 3);
|
76
|
+
|
77
|
+
```
|
78
|
+
|
79
|
+
点(x,y)が図形に含まれるかの判定。
|
80
|
+
|
81
|
+
|
82
|
+
|
83
|
+
```Java
|
84
|
+
|
85
|
+
shape.contains(x,y);
|
86
|
+
|
87
|
+
```
|
2
java.util.Rnadomに訂正
test
CHANGED
@@ -22,7 +22,7 @@
|
|
22
22
|
|
23
23
|
- Math.random()で乱数(0<=r<1)を得て、整数にする。(0x1000000をかける)
|
24
24
|
|
25
|
-
- java.math.RnadomのnextInt()を使って、整数を得る。
|
25
|
+
- ~~java.math.Rnadom~~java.util.RnadomのnextInt()を使って、整数を得る。
|
26
26
|
|
27
27
|
- 上のいずれかの方法で得た整数を Color のコンストラクタの引数に与える。
|
28
28
|
|
1
Color -> Circle に訂正
test
CHANGED
@@ -14,7 +14,7 @@
|
|
14
14
|
|
15
15
|
- 距離(M,C3)が C3 の半径 rnd 以内に収まるか。
|
16
16
|
|
17
|
-
- C
|
17
|
+
- Circle.isIn(x,y):boolean
|
18
18
|
|
19
19
|
|
20
20
|
|
@@ -26,7 +26,7 @@
|
|
26
26
|
|
27
27
|
- 上のいずれかの方法で得た整数を Color のコンストラクタの引数に与える。
|
28
28
|
|
29
|
-
- C
|
29
|
+
- Circle.changeColor():void
|
30
30
|
|
31
31
|
|
32
32
|
|