18 lines
451 B
JavaScript
18 lines
451 B
JavaScript
|
// wind direction
|
||
|
const directionToNSEW = (Direction) => {
|
||
|
const val = Math.floor((Direction / 22.5) + 0.5);
|
||
|
const arr = ['N', 'NNE', 'NE', 'ENE', 'E', 'ESE', 'SE', 'SSE', 'S', 'SSW', 'SW', 'WSW', 'W', 'WNW', 'NW', 'NNW'];
|
||
|
return arr[(val % 16)];
|
||
|
};
|
||
|
|
||
|
const distance = (x1, y1, x2, y2) => Math.sqrt((x2 - x1) ** 2 + (y2 - y1) ** 2);
|
||
|
|
||
|
// wrap a number to 0-m
|
||
|
const wrap = (x, m) => ((x % m) + m) % m;
|
||
|
|
||
|
export {
|
||
|
directionToNSEW,
|
||
|
distance,
|
||
|
wrap,
|
||
|
};
|