東西南北 方位を求める - 北北西へ進路をとれ
2010/04/01
java
方位
Javaです。
えーと、方位(方角)を求めてみることにしました。が、しかし、あいまいな知識とあいまいな努力でよくわからずコード書きました。
360度をこえると全部北に変換。
以下のような感じ
public class AAAA {
public static void main(String[] args) {
for (double d = 0; d <= 361; d+=0.5) {
System.out.printf("%.1f:%s %n", d, 東西南北を求める(d));
}
}
static String 東西南北を求める(double d) {
final double D = 22.5;
String[] s = { "北", "北北東", "北東", "東北東", "東", "東南東", "南東", "南南東", "南",
"南南西", "南西", "西南西", "西", "西北西", "北西", "北北西" };
// 360越えたら全部北
if ((360.0 - (D / 2)) < d)
return s[0];
d = d + (D / 2);
int i = (int)(d / D);
return s[i];
}
}
public static void main(String[] args) {
for (double d = 0; d <= 361; d+=0.5) {
System.out.printf("%.1f:%s %n", d, 東西南北を求める(d));
}
}
static String 東西南北を求める(double d) {
final double D = 22.5;
String[] s = { "北", "北北東", "北東", "東北東", "東", "東南東", "南東", "南南東", "南",
"南南西", "南西", "西南西", "西", "西北西", "北西", "北北西" };
// 360越えたら全部北
if ((360.0 - (D / 2)) < d)
return s[0];
d = d + (D / 2);
int i = (int)(d / D);
return s[i];
}
}
そして結果、かなり長いけど。
0.0:北
0.5:北
1.0:北
1.5:北
2.0:北
2.5:北
3.0:北
3.5:北
4.0:北
4.5:北
5.0:北
5.5:北
6.0:北
6.5:北
7.0:北
7.5:北
8.0:北
8.5:北
9.0:北
9.5:北
10.0:北
10.5:北
11.0:北
11.5:北北東
12.0:北北東
12.5:北北東
13.0:北北東
13.5:北北東
14.0:北北東
14.5:北北東
15.0:北北東
15.5:北北東
16.0:北北東
16.5:北北東
17.0:北北東
17.5:北北東
18.0:北北東
18.5:北北東
19.0:北北東
19.5:北北東
20.0:北北東
20.5:北北東
21.0:北北東
21.5:北北東
22.0:北北東
22.5:北北東
23.0:北北東
23.5:北北東
24.0:北北東
24.5:北北東
25.0:北北東
25.5:北北東
26.0:北北東
26.5:北北東
27.0:北北東
27.5:北北東
28.0:北北東
28.5:北北東
29.0:北北東
29.5:北北東
30.0:北北東
30.5:北北東
31.0:北北東
31.5:北北東
32.0:北北東
32.5:北北東
33.0:北北東
33.5:北北東
34.0:北東
34.5:北東
35.0:北東
35.5:北東
36.0:北東
36.5:北東
37.0:北東
37.5:北東
38.0:北東
38.5:北東
39.0:北東
39.5:北東
40.0:北東
40.5:北東
41.0:北東
41.5:北東
42.0:北東
42.5:北東
43.0:北東
43.5:北東
44.0:北東
44.5:北東
45.0:北東
45.5:北東
46.0:北東
46.5:北東
47.0:北東
47.5:北東
48.0:北東
48.5:北東
49.0:北東
49.5:北東
50.0:北東
50.5:北東
51.0:北東
51.5:北東
52.0:北東
52.5:北東
53.0:北東
53.5:北東
54.0:北東
54.5:北東
55.0:北東
55.5:北東
56.0:北東
56.5:東北東
57.0:東北東
57.5:東北東
58.0:東北東
58.5:東北東
59.0:東北東
59.5:東北東
60.0:東北東
60.5:東北東
61.0:東北東
61.5:東北東
62.0:東北東
62.5:東北東
63.0:東北東
63.5:東北東
64.0:東北東
64.5:東北東
65.0:東北東
65.5:東北東
66.0:東北東
66.5:東北東
67.0:東北東
67.5:東北東
68.0:東北東
68.5:東北東
69.0:東北東
69.5:東北東
70.0:東北東
70.5:東北東
71.0:東北東
71.5:東北東
72.0:東北東
72.5:東北東
73.0:東北東
73.5:東北東
74.0:東北東
74.5:東北東
75.0:東北東
75.5:東北東
76.0:東北東
76.5:東北東
77.0:東北東
77.5:東北東
78.0:東北東
78.5:東北東
79.0:東
79.5:東
80.0:東
80.5:東
81.0:東
81.5:東
82.0:東
82.5:東
83.0:東
83.5:東
84.0:東
84.5:東
85.0:東
85.5:東
86.0:東
86.5:東
87.0:東
87.5:東
88.0:東
88.5:東
89.0:東
89.5:東
90.0:東
90.5:東
91.0:東
91.5:東
92.0:東
92.5:東
93.0:東
93.5:東
94.0:東
94.5:東
95.0:東
95.5:東
96.0:東
96.5:東
97.0:東
97.5:東
98.0:東
98.5:東
99.0:東
99.5:東
100.0:東
100.5:東
101.0:東
101.5:東南東
102.0:東南東
102.5:東南東
103.0:東南東
103.5:東南東
104.0:東南東
104.5:東南東
105.0:東南東
105.5:東南東
106.0:東南東
106.5:東南東
107.0:東南東
107.5:東南東
108.0:東南東
108.5:東南東
109.0:東南東
109.5:東南東
110.0:東南東
110.5:東南東
111.0:東南東
111.5:東南東
112.0:東南東
112.5:東南東
113.0:東南東
113.5:東南東
114.0:東南東
114.5:東南東
115.0:東南東
115.5:東南東
116.0:東南東
116.5:東南東
117.0:東南東
117.5:東南東
118.0:東南東
118.5:東南東
119.0:東南東
119.5:東南東
120.0:東南東
120.5:東南東
121.0:東南東
121.5:東南東
122.0:東南東
122.5:東南東
123.0:東南東
123.5:東南東
124.0:南東
124.5:南東
125.0:南東
125.5:南東
126.0:南東
126.5:南東
127.0:南東
127.5:南東
128.0:南東
128.5:南東
129.0:南東
129.5:南東
130.0:南東
130.5:南東
131.0:南東
131.5:南東
132.0:南東
132.5:南東
133.0:南東
133.5:南東
134.0:南東
134.5:南東
135.0:南東
135.5:南東
136.0:南東
136.5:南東
137.0:南東
137.5:南東
138.0:南東
138.5:南東
139.0:南東
139.5:南東
140.0:南東
140.5:南東
141.0:南東
141.5:南東
142.0:南東
142.5:南東
143.0:南東
143.5:南東
144.0:南東
144.5:南東
145.0:南東
145.5:南東
146.0:南東
146.5:南南東
147.0:南南東
147.5:南南東
148.0:南南東
148.5:南南東
149.0:南南東
149.5:南南東
150.0:南南東
150.5:南南東
151.0:南南東
151.5:南南東
152.0:南南東
152.5:南南東
153.0:南南東
153.5:南南東
154.0:南南東
154.5:南南東
155.0:南南東
155.5:南南東
156.0:南南東
156.5:南南東
157.0:南南東
157.5:南南東
158.0:南南東
158.5:南南東
159.0:南南東
159.5:南南東
160.0:南南東
160.5:南南東
161.0:南南東
161.5:南南東
162.0:南南東
162.5:南南東
163.0:南南東
163.5:南南東
164.0:南南東
164.5:南南東
165.0:南南東
165.5:南南東
166.0:南南東
166.5:南南東
167.0:南南東
167.5:南南東
168.0:南南東
168.5:南南東
169.0:南
169.5:南
170.0:南
170.5:南
171.0:南
171.5:南
172.0:南
172.5:南
173.0:南
173.5:南
174.0:南
174.5:南
175.0:南
175.5:南
176.0:南
176.5:南
177.0:南
177.5:南
178.0:南
178.5:南
179.0:南
179.5:南
180.0:南
180.5:南
181.0:南
181.5:南
182.0:南
182.5:南
183.0:南
183.5:南
184.0:南
184.5:南
185.0:南
185.5:南
186.0:南
186.5:南
187.0:南
187.5:南
188.0:南
188.5:南
189.0:南
189.5:南
190.0:南
190.5:南
191.0:南
191.5:南南西
192.0:南南西
192.5:南南西
193.0:南南西
193.5:南南西
194.0:南南西
194.5:南南西
195.0:南南西
195.5:南南西
196.0:南南西
196.5:南南西
197.0:南南西
197.5:南南西
198.0:南南西
198.5:南南西
199.0:南南西
199.5:南南西
200.0:南南西
200.5:南南西
201.0:南南西
201.5:南南西
202.0:南南西
202.5:南南西
203.0:南南西
203.5:南南西
204.0:南南西
204.5:南南西
205.0:南南西
205.5:南南西
206.0:南南西
206.5:南南西
207.0:南南西
207.5:南南西
208.0:南南西
208.5:南南西
209.0:南南西
209.5:南南西
210.0:南南西
210.5:南南西
211.0:南南西
211.5:南南西
212.0:南南西
212.5:南南西
213.0:南南西
213.5:南南西
214.0:南西
214.5:南西
215.0:南西
215.5:南西
216.0:南西
216.5:南西
217.0:南西
217.5:南西
218.0:南西
218.5:南西
219.0:南西
219.5:南西
220.0:南西
220.5:南西
221.0:南西
221.5:南西
222.0:南西
222.5:南西
223.0:南西
223.5:南西
224.0:南西
224.5:南西
225.0:南西
225.5:南西
226.0:南西
226.5:南西
227.0:南西
227.5:南西
228.0:南西
228.5:南西
229.0:南西
229.5:南西
230.0:南西
230.5:南西
231.0:南西
231.5:南西
232.0:南西
232.5:南西
233.0:南西
233.5:南西
234.0:南西
234.5:南西
235.0:南西
235.5:南西
236.0:南西
236.5:西南西
237.0:西南西
237.5:西南西
238.0:西南西
238.5:西南西
239.0:西南西
239.5:西南西
240.0:西南西
240.5:西南西
241.0:西南西
241.5:西南西
242.0:西南西
242.5:西南西
243.0:西南西
243.5:西南西
244.0:西南西
244.5:西南西
245.0:西南西
245.5:西南西
246.0:西南西
246.5:西南西
247.0:西南西
247.5:西南西
248.0:西南西
248.5:西南西
249.0:西南西
249.5:西南西
250.0:西南西
250.5:西南西
251.0:西南西
251.5:西南西
252.0:西南西
252.5:西南西
253.0:西南西
253.5:西南西
254.0:西南西
254.5:西南西
255.0:西南西
255.5:西南西
256.0:西南西
256.5:西南西
257.0:西南西
257.5:西南西
258.0:西南西
258.5:西南西
259.0:西
259.5:西
260.0:西
260.5:西
261.0:西
261.5:西
262.0:西
262.5:西
263.0:西
263.5:西
264.0:西
264.5:西
265.0:西
265.5:西
266.0:西
266.5:西
267.0:西
267.5:西
268.0:西
268.5:西
269.0:西
269.5:西
270.0:西
270.5:西
271.0:西
271.5:西
272.0:西
272.5:西
273.0:西
273.5:西
274.0:西
274.5:西
275.0:西
275.5:西
276.0:西
276.5:西
277.0:西
277.5:西
278.0:西
278.5:西
279.0:西
279.5:西
280.0:西
280.5:西
281.0:西
281.5:西北西
282.0:西北西
282.5:西北西
283.0:西北西
283.5:西北西
284.0:西北西
284.5:西北西
285.0:西北西
285.5:西北西
286.0:西北西
286.5:西北西
287.0:西北西
287.5:西北西
288.0:西北西
288.5:西北西
289.0:西北西
289.5:西北西
290.0:西北西
290.5:西北西
291.0:西北西
291.5:西北西
292.0:西北西
292.5:西北西
293.0:西北西
293.5:西北西
294.0:西北西
294.5:西北西
295.0:西北西
295.5:西北西
296.0:西北西
296.5:西北西
297.0:西北西
297.5:西北西
298.0:西北西
298.5:西北西
299.0:西北西
299.5:西北西
300.0:西北西
300.5:西北西
301.0:西北西
301.5:西北西
302.0:西北西
302.5:西北西
303.0:西北西
303.5:西北西
304.0:北西
304.5:北西
305.0:北西
305.5:北西
306.0:北西
306.5:北西
307.0:北西
307.5:北西
308.0:北西
308.5:北西
309.0:北西
309.5:北西
310.0:北西
310.5:北西
311.0:北西
311.5:北西
312.0:北西
312.5:北西
313.0:北西
313.5:北西
314.0:北西
314.5:北西
315.0:北西
315.5:北西
316.0:北西
316.5:北西
317.0:北西
317.5:北西
318.0:北西
318.5:北西
319.0:北西
319.5:北西
320.0:北西
320.5:北西
321.0:北西
321.5:北西
322.0:北西
322.5:北西
323.0:北西
323.5:北西
324.0:北西
324.5:北西
325.0:北西
325.5:北西
326.0:北西
326.5:北北西
327.0:北北西
327.5:北北西
328.0:北北西
328.5:北北西
329.0:北北西
329.5:北北西
330.0:北北西
330.5:北北西
331.0:北北西
331.5:北北西
332.0:北北西
332.5:北北西
333.0:北北西
333.5:北北西
334.0:北北西
334.5:北北西
335.0:北北西
335.5:北北西
336.0:北北西
336.5:北北西
337.0:北北西
337.5:北北西
338.0:北北西
338.5:北北西
339.0:北北西
339.5:北北西
340.0:北北西
340.5:北北西
341.0:北北西
341.5:北北西
342.0:北北西
342.5:北北西
343.0:北北西
343.5:北北西
344.0:北北西
344.5:北北西
345.0:北北西
345.5:北北西
346.0:北北西
346.5:北北西
347.0:北北西
347.5:北北西
348.0:北北西
348.5:北北西
349.0:北
349.5:北
350.0:北
350.5:北
351.0:北
351.5:北
352.0:北
352.5:北
353.0:北
353.5:北
354.0:北
354.5:北
355.0:北
355.5:北
356.0:北
356.5:北
357.0:北
357.5:北
358.0:北
358.5:北
359.0:北
359.5:北
360.0:北
360.5:北
361.0:北
361.5:北
362.0:北
: