ホームページ > ウェブフロントエンド > フロントエンドQ&A > JavaScript は三角関数をサポートしていますか?

JavaScript は三角関数をサポートしていますか?

青灯夜游
リリース: 2021-11-03 16:57:51
オリジナル
2061 人が閲覧しました

JavaScript は三角関数をサポートしています。 js の三角関数はすべて静的メソッドであり、Math を使用して呼び出す必要があるため、構文形式は「Math.sin(x)」、「Math.cos(x)」、「Math.tan(x)」になります。

JavaScript は三角関数をサポートしていますか?

このチュートリアルの動作環境: Windows7 システム、JavaScript バージョン 1.8.5、Dell G3 コンピューター。

JavaScript は三角関数をサポートしています。 それらは、「Math.sin(x)」、「Math.cos(x)」、「Math.tan(x)」です。

JavaScript による三角関数のサポートを見てみましょう。

まずは高校で習った三角関数の基礎知識を復習しましょう ここでは簡単なものをいくつか紹介します 一つ目はsin関数、二つ目はcos関数、 3 つ目は、tan 関数、4 または 4 は atan 関数、数学における sin 関数は、実際には三角形の反対側と斜辺を比較することによって得られる値です。画像を見てみましょう

すると、cos30=x/r、cos関数は上側に対する反対側の比、tan30=y/となります。 x、tan 関数は反対側と上位側の比です。これらの公式を通じて、この三角関数の値を簡単に取得でき、これらの値を使用して興味深いことができます。 !

JavaScript の三角関数と数学の三角関数の間には、実際にはいくつかの違いがあります。1 つ目は、記述が異なることです。js の三角関数はすべて静的メソッドであり、Math を使用して呼び出す必要があります。 3 つの関数は、Math.sin()Math.cos()Math.tan() です。

これは簡単に理解できます。次に 2 番目の違いは、数学の三角関数で受け入れられるパラメータは角度ですが、JS で受け入れられるパラメータはラジアンであるということです。混乱している友達もいるかもしれません。ラジアン角 一体何ですか? ? ?心配しないでください。ここで簡単に説明します。まず円を見てみましょう

#円の一辺​​の長さが円の半径と等しい場合, すると、この辺は 1 ラジアンを表します。図の赤い部分と同じように、1 ラジアンを表します。これは実際には単なる概念です。実際に使用する必要があるのは、必要な角度をラジアンに変換することです。ここでは、数学的計算を直接適用します。式 1 角度 = π /180 したがって、10 個の角度は 10*π/180

に等しいため、js の Math.sin() を使用する必要があります。 30 度の角度を計算するには、次の値に等しい場合、Math.sin(30*Math.PI/180) と記述する必要があります。ここで π であることに注意してください。 js では Math.PI です。ここで、誰もが js の三角関数をある程度理解している必要があると思いますので、小さな実践例を見てみましょう。

まず第一に、ニーズがあります。ページ上に小さなボールがあるので、ページ上にマウスを置くとそこにマウスが移動するようにしたいです。ボールは対応する位置に移動します。マウスの位置ではなく、対応する位置に移動することに注意してください。ここに URL を投稿するのは簡単ではありません。写真を投稿してみましょう。

このうち、赤いボールは銃口を表しています。青いボールはマウスの位置を表します。マウスがページ上の別の位置に置かれると、赤いボールは対応する角度に移動しますが、平面の範囲を示す r があることもわかります。 , 赤いボールが動かせる範囲は実際には円の半径であり、rが大きいほどボールが動かせる範囲は大きくなります。 ! (わからない人は以下の例をコピーして実行してください)

この関数を実装するには、マウスの位置を検出するために三角関数を使用し、360 度で検出する必要があります。 range 、ここでは、角度を介して赤いボールの左までの距離と上部までの距離を計算し、ボールに値を割り当てる必要があります。これで完了です。 !別の写真を見てみましょう

#以下はこのケースのコードです。興味のある友人は見てください。

/***********例子来了*************/
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>Document</title>
<style>
#box{width:30px;height:30px;background:red;position:absolute;top:400px;left:400px;border-radius:15px;}
</style>
</head>
<body>
<p id="box"></p>
</body>
<script>
var obox = document.getElementById(&#39;box&#39;);
var r=50;
document.onmousemove=function(ev){
var oev = ev||event;
var x = Math.abs(oev.clientX-obox.offsetLeft);
var y = Math.abs(oev.clientY-obox.offsetTop);
var angle = Math.atan(y/x);
var cx=0;
var cy=0;
if(oev.clientX>=obox.offsetLeft && oev.clientY<=obox.offsetTop){
cx = Math.cos(angle)*r;
cy = Math.sin(angle)*-r;
}
if(oev.clientX<obox.offsetLeft && oev.clientY<obox.offsetTop){
cx = Math.cos(angle)*-r;
cy = Math.sin(angle)*-r;
}
if(oev.clientX<obox.offsetLeft && oev.clientY>obox.offsetTop){
cx = Math.cos(angle)*-r;
cy = Math.sin(angle)*r;
}
if(oev.clientX>obox.offsetLeft && oev.clientY>obox.offsetTop){
cx = Math.cos(angle)*r;
cy = Math.sin(angle)*r;
}
    obox.style.top = 400+cy+&#39;px&#39;;
obox.style.left = 400+cx+&#39;px&#39;;
}
</script>
</html>
ログイン後にコピー

【推奨学習: JavaScript 上級チュートリアル

以上がJavaScript は三角関数をサポートしていますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート