2

私はいくつかのJavaScriptに取り組んでおり、数学の問題に遭遇しました:

var p1 = {x:0,y:0}, p2 = {x:1,y:1};
return Math.sin(45) * Math.sqrt((Math.pow(p2.x-p1.x,2) + Math.pow(p2.y-p1.y,2)));

1.203359304667218 を返します

しかし、電卓で同じ計算を行うと、この計算が返すと予想される 1 が返されます。誰でもこれを説明できますか?

4

3 に答える 3

3

これらは常に有用であり、おそらく将来の混乱を避けるでしょう:

function sind(d) {
  return Math.sin(Math.PI*d/180.0); 
}

function cosd(d) {
  return Math.cos(Math.PI*d/180.0); 
}

function tand(d) {
  return Math.tan(Math.PI*d/180.0); 
}
于 2012-08-21T06:33:31.467 に答える
3

電卓でどのモードで作業しましたか?

ラジアンまたは度?それがあなたの「問題」であり、簡単に解決できると思います:-)

于 2012-08-21T05:46:57.957 に答える
2
var degreesToRadians = function (d) {
  return Math.PI * d / 180; 
}
于 2012-08-21T05:49:26.433 に答える