我基本上是想找出指南针上两个点相距多少度。例如,如果一个人面朝 270 度,而指南针为 280 度,那么这两点之间就有 10 度。如果相对于第一个标题,它在左侧,我还想要一个负数,在右侧则为正数。
例如,当 to 标题为 350 和 020 时,就会出现问题。这两点相距 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/
function GetHeadingDiff(_Heading1, _Heading2)
{
return (_Heading2-_Heading1+540) % 360 - 180;
}
例子:
GetHeadingDiff( 280, 270 )
-10
GetHeadingDiff( 270, 280 )
10
GetHeadingDiff( 350, 20 )
30
GetHeadingDiff( 20, 350 )
-30
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)