スポンサーリンク

【JavaScript】角度を16方位に変換するソースコード

スポンサーリンク
JavaScript
スポンサーリンク

スポンサーリンク

概要

与えられたある角度を16方位に変換する。

よくありがちな処理としてこんなものがあります。

var dname = ["N", "NNE", "NE", "ENE", "E", "ESE", "SE", "SSE", "S", "SSW", "SW", "WSW", "W", "WNW", "NW", "NNW", "N"];
var dindex = Math.round( degree / 22.5 )

alert("方角は" + dname[dindex])

JSの場合、

IEEE754
というものがあり、浮動小数点数を利用した計算の場合、誤差が発生します。

なので、個人的には厳密な値を求める場合、浮動小数が含まれる計算はなるべく避けたいものです。

ソース

上記を考慮して、なるべく少数が含まれる計算を排除したのがこれ↓です。

function getAzimuth(degree) {
    var dname = ["N", "NNE", "NE", "ENE", "E", "ESE", "SE", "SSE", "S", "SSW", "SW", "WSW", "W", "WNW", "NW", "NNW", "N"];
    var count = 0
    for (var i = 11.25; i 
JavaScript アルゴリズム
スポンサーリンク
スポンサーリンク
スポンサーリンク
404 Motivation Not Found
タイトルとURLをコピーしました