1

私は基本的に、コンパスの 2 つのポイントが何度離れているかを見つけようとしています。たとえば、人が 270 度を向いていてコンパスが 280 度の場合、これらの 2 点の間には 10 度の角度があります。また、最初の見出しに対して、左にある場合は負の数、右にある場合は正の数が必要です。

たとえば、見出しが 350 と 020 の場合に問題が発生します。これらの 2 つの点は 30 度離れていますが、結果は -330 になります。

以下は私のコードの例です:

function ConvertToRadians(_var)
{
    return _var * (Math.PI/180);
}
function ConvertToDegrees(_var)
{
    return _var * (180/Math.PI);
}
function GetHeadingDiff(_Heading1, _Heading2)
{   
    return ConvertToDegrees((ConvertToRadians(_Heading2) - ConvertToRadians(_Heading1)));
}

$(document).ready(function (){
    $('#process').click(function (e){
        e.preventDefault();
        var Hdg1 = parseFloat($('#heading1').val());
        var Hdg2 = parseFloat($('#heading2').val());
        $('#results').html(GetHeadingDiff(Hdg1,Hdg2));
    });
});

<input id="heading1" type="text" />
<input id="heading2" type="text" />
<button id="process" type="button">Submit</button>
<div id="results">
</div>

欠けている簡単な数学関数があると確信していますが、それを理解できないようです。

ここにjsfiddleリンクがありますhttp://jsfiddle.net/dTmPn/3/

4

3 に答える 3