質問編集履歴

6

2017/11/14 07:21

投稿

aiueoaiueoaiue
aiueoaiueoaiue

スコア94

test CHANGED
@@ -1 +1 @@
1
- 車のカブの軌跡を描き
1
+ Javaでエラが出
test CHANGED
@@ -1,80 +1,6 @@
1
- #車のカ軌跡を描きたい
1
+ #Javaでエラが出てしまったで直したい
2
-
3
- Javaでアプレットビューワーを使い直進又はカーブの軌跡を描きたいのですがうまくいきません。
4
-
5
- ソースは以下に示す通りです。
6
-
7
- ```Java
8
-
9
- import java.applet.Applet;
10
-
11
- import java.awt.Graphics;
12
-
13
- import java.awt.Color;
14
-
15
- import java.awt.Dimension;
16
-
17
- import java.lang.Object;
18
-
19
- import java.awt.geom.QuadCurve2D;
20
-
21
- import java.awt.geom.QuadCurve2D.Double;
22
2
 
23
3
 
24
-
25
- /*
26
-
27
- <applet code="Test.class" width="1920" height="1080">
28
-
29
- </applet>
30
-
31
- */
32
-
33
-
34
-
35
- import java.applet.* ;
36
-
37
- import java.awt.* ;
38
-
39
-
40
-
41
- public QuadCurve2D.Double(double x1, double y1, double ctrlx, double ctrly, double x2, double y2){}
42
-
43
-
44
-
45
- public class Test extends Applet {
46
-
47
-
48
-
49
- public void paint(Graphics g) {
50
-
51
- int t; // 角度
52
-
53
- double hankei = 50 ; // 軌道の半径
54
-
55
- for( t=0 ; t<360 ; t+=10 ) {
56
-
57
- double a ;
58
-
59
- int x, y ;
60
-
61
- a = (double)t*Math.PI/180.0 ;
62
-
63
- x = (int)( hankei * a* Math.cos(Math.toRadians(90)) ) ;
64
-
65
- y = (int)( hankei * a* Math.sin(Math.toRadians(90)) ) ;
66
-
67
- g.setColor(Color.blue) ;
68
-
69
- g.fillOval( x+600, -y+500, 21, 21 ) ;
70
-
71
- }
72
-
73
- }
74
-
75
- }
76
-
77
- ```
78
4
 
79
5
  #エラーメッセージ
80
6
 
@@ -82,25 +8,9 @@
82
8
 
83
9
  public QuadCurve2D.Double(double x1, double y1, double ctrlx, double ctrly, double x2, double y2){}
84
10
 
85
- #現状
86
-
87
- ![0度のとき](e11af9c08ce814a7cb7c9823428b08d8.png)
88
-
89
- ![45度の時](a373704021c2335b09e2a5ee9c198d1d.png)
90
-
91
- ![90度の時](323eddc2dacecbc3931932594b9e2155.png)
92
-
93
- 上からcos,sinの中身が0,45,90の時なのですが画像のように直線になるのではなく、始点から終点までの曲線の軌跡を描きたいのです。(0や90の時は直線でもよい)
94
-
95
- どの様に変更すれば角度依存で曲線を描けるでしょうか?
96
-
97
- #イメージ図
98
-
99
- ![イメージ説明](ee02e12c4f8856fae56ce009e19c2aac.png)]
100
-
101
11
  #追記
102
12
 
103
- 試しに別のソースも書いてみましたがエラーが出てよくわかりません。
13
+ 試しに別のソースも書ましたがエラーが出てよくわかりません。
104
14
 
105
15
  ```Java
106
16
 
@@ -187,9 +97,3 @@
187
97
  シンボル: メソッド draw(Double)
188
98
 
189
99
  場所: タイプGraphicsの変数 g
190
-
191
- #追記
192
-
193
- ソースのsin、cosの中身をtに変えた結果
194
-
195
- ![結果](948c52ed88b7ed5dcb35cec04250dd76.png)

5

追記

2017/11/14 07:21

投稿

aiueoaiueoaiue
aiueoaiueoaiue

スコア94

test CHANGED
File without changes
test CHANGED
@@ -187,3 +187,9 @@
187
187
  シンボル: メソッド draw(Double)
188
188
 
189
189
  場所: タイプGraphicsの変数 g
190
+
191
+ #追記
192
+
193
+ ソースのsin、cosの中身をtに変えた結果
194
+
195
+ ![結果](948c52ed88b7ed5dcb35cec04250dd76.png)

4

追記

2017/11/12 15:21

投稿

aiueoaiueoaiue
aiueoaiueoaiue

スコア94

test CHANGED
File without changes
test CHANGED
@@ -97,3 +97,93 @@
97
97
  #イメージ図
98
98
 
99
99
  ![イメージ説明](ee02e12c4f8856fae56ce009e19c2aac.png)]
100
+
101
+ #追記
102
+
103
+ 試しに別のソースも書いてみましたがエラーが出てよくわかりません。
104
+
105
+ ```Java
106
+
107
+ import java.applet.Applet;
108
+
109
+ import java.awt.Graphics;
110
+
111
+ import java.awt.Color;
112
+
113
+ import java.awt.Dimension;
114
+
115
+ import java.lang.Object;
116
+
117
+ import java.awt.geom.QuadCurve2D;
118
+
119
+ import java.awt.geom.QuadCurve2D.Double;
120
+
121
+ import javax.swing.*;
122
+
123
+ import java.awt.Graphics2D;
124
+
125
+ import java.awt.RenderingHints;
126
+
127
+ import java.awt.geom.*;
128
+
129
+
130
+
131
+ /*
132
+
133
+ <applet code="Test1.class" width="1920" height="1080">
134
+
135
+ </applet>
136
+
137
+ */
138
+
139
+
140
+
141
+ import java.applet.* ;
142
+
143
+ import java.awt.* ;
144
+
145
+
146
+
147
+
148
+
149
+ public class Test1 extends Applet {
150
+
151
+
152
+
153
+ public void paint(Graphics g) {
154
+
155
+ QuadCurve2D.Double curve = new QuadCurve2D.Double();
156
+
157
+ curve.setCurve(60.0d, 20.0d, 40.0d, 140.0d, 220.0d, 120.0d);
158
+
159
+ double x1 = curve.x1;
160
+
161
+ double y1 = curve.y1;
162
+
163
+ double x2 = curve.x2;
164
+
165
+ double y2 = curve.y2;
166
+
167
+ double ctrlx = curve.ctrlx;
168
+
169
+ double ctrly = curve.ctrly;
170
+
171
+ g.draw(new Ellipse2D.Double(x1 - 5.0d, y1 - 5.d, 10.d, 10.0d));
172
+
173
+ }
174
+
175
+ }
176
+
177
+ ```
178
+
179
+ #エラーメッセージ
180
+
181
+ エラー: シンボルを見つけられません
182
+
183
+ g.draw(new Ellipse2D.Double(x1 - 5.0d, y1 - 5.d, 10.d, 10.0d));
184
+
185
+ ^
186
+
187
+ シンボル: メソッド draw(Double)
188
+
189
+ 場所: タイプGraphicsの変数 g

3

改良

2017/11/12 14:51

投稿

aiueoaiueoaiue
aiueoaiueoaiue

スコア94

test CHANGED
File without changes
test CHANGED
@@ -38,7 +38,7 @@
38
38
 
39
39
 
40
40
 
41
- public Double(double x1, double y1, double ctrlx, double ctrly, double x2, double y2){}
41
+ public QuadCurve2D.Double(double x1, double y1, double ctrlx, double ctrly, double x2, double y2){}
42
42
 
43
43
 
44
44
 
@@ -80,7 +80,7 @@
80
80
 
81
81
  Test.java:17: エラー: class、interfaceまたはenumがありません
82
82
 
83
- public Double(double x1, double y1, double ctrlx, double ctrly, double x2, double y2){}
83
+ public QuadCurve2D.Double(double x1, double y1, double ctrlx, double ctrly, double x2, double y2){}
84
84
 
85
85
  #現状
86
86
 

2

改良

2017/11/12 13:21

投稿

aiueoaiueoaiue
aiueoaiueoaiue

スコア94

test CHANGED
File without changes
test CHANGED
@@ -14,6 +14,12 @@
14
14
 
15
15
  import java.awt.Dimension;
16
16
 
17
+ import java.lang.Object;
18
+
19
+ import java.awt.geom.QuadCurve2D;
20
+
21
+ import java.awt.geom.QuadCurve2D.Double;
22
+
17
23
 
18
24
 
19
25
  /*
@@ -29,6 +35,10 @@
29
35
  import java.applet.* ;
30
36
 
31
37
  import java.awt.* ;
38
+
39
+
40
+
41
+ public Double(double x1, double y1, double ctrlx, double ctrly, double x2, double y2){}
32
42
 
33
43
 
34
44
 
@@ -66,6 +76,12 @@
66
76
 
67
77
  ```
68
78
 
79
+ #エラーメッセージ
80
+
81
+ Test.java:17: エラー: class、interfaceまたはenumがありません
82
+
83
+ public Double(double x1, double y1, double ctrlx, double ctrly, double x2, double y2){}
84
+
69
85
  #現状
70
86
 
71
87
  ![0度のとき](e11af9c08ce814a7cb7c9823428b08d8.png)

1

追記

2017/11/12 13:01

投稿

aiueoaiueoaiue
aiueoaiueoaiue

スコア94

test CHANGED
File without changes
test CHANGED
@@ -77,3 +77,7 @@
77
77
  上からcos,sinの中身が0,45,90の時なのですが画像のように直線になるのではなく、始点から終点までの曲線の軌跡を描きたいのです。(0や90の時は直線でもよい)
78
78
 
79
79
  どの様に変更すれば角度依存で曲線を描けるでしょうか?
80
+
81
+ #イメージ図
82
+
83
+ ![イメージ説明](ee02e12c4f8856fae56ce009e19c2aac.png)]