中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JavaScript支不支持三角函數

發布時間:2021-11-03 17:09:30 來源:億速云 閱讀:145 作者:iii 欄目:web開發

這篇文章主要介紹“JavaScript支不支持三角函數”,在日常操作中,相信很多人在JavaScript支不支持三角函數問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”JavaScript支不支持三角函數”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

JavaScript支持三角函數。js中的三角函數都是靜態方法,必須使用Math來調用,因此語法格式為“Math.sin(x)”,“Math.cos(x)”,“Math.tan(x)”。

JavaScript支不支持三角函數

本教程操作環境:windows7系統、javascript1.8.5版、Dell G3電腦。

JavaScript支持三角函數。它們分別為:“Math.sin(x)”,“Math.cos(x)”,“Math.tan(x)”。

下面我們來看看JavaScript支持三角函數。

首先呢,我們復習一下高中時候學習的三角函數的的基本知識吧,我這里介紹其中幾個簡單的,第一個是sin函數,第二個是cos函數 ,第三個是tan函數,四四個是atan函數,sin函數在數學里面其實是一個三角形的對邊比上斜邊得出的值,我們來看一個圖像

JavaScript支不支持三角函數

那么cos30=x/r,cos函數是臨邊比上斜邊,tan30=y/x,tan函數則是對邊比上臨邊,通過這些公式,我們可以很容易的得到這個三角函數的值,然后就闊以拿這些值去做有意思的事情啦!!

那么我們在javascript里面的三角函數和數學中的三角函數其實有一點區別外,第一是寫發上不一樣,js里面三角函數都是靜態方法,必須使用Math來調用,三個函數分別是Math.sin()Math.cos()Math.tan()

這個很容易理解咯,那么第二個不同就是數學里面的三角函數使用接受的參數是角度,但是在js里面所接受的參數是弧度,有的朋友可能暈了,弧度角度什么玩意???不要著急,這里簡單介紹一下,我們首先來看一個圓

JavaScript支不支持三角函數

如果一個圓的一段邊的長度等于這個圓的半徑長度,那么這段邊就代表一弧度,正如圖中紅色部分,就代表一弧度,這個其實僅僅就是一個概念,我們真正要使用的是吧我們想要的角度轉化成弧度,這里直接套用數學公公式  1角度=π/180  那么10個角度就等于10*π/180

那我們要用js的Math.sin()算出30度角等于多少,那么就應該寫成Math.sin(30*Math.PI/180),這里注意一下js里面的πMath.PI。相信大家看到這里對js的三角函數肯定有一些了解咯,那么接下來我們來看一個實際的小例子吧。

  首先呢,有一個需求。頁面上有一個小球,我希望當我的鼠標放到頁面上時候,我的鼠標移動到那里。小球就會移動到對應的位置,注意,不是移動到鼠標所在的位置,而是對應的位置,這里不好發網址,發個圖看看吧。

JavaScript支不支持三角函數

其中,紅色小球代表一個槍口。藍色的小球代表鼠標的位置,當鼠標放置到頁面不同位置的時候,紅色的小球就會移動到相應的角度上與之對應,但是我們也看到有一個r,表示在平面的范圍呢,紅色小球能夠移動的范圍,實際上就是一個圓的半徑,如果這個r越大,那么小球移動的范圍就越大啦!!(不理解的朋友先把下面的例子復制出來運行一下就可以了)

這個功能的實現就需要我們使用三角函數來完成,檢測鼠標的位置并且是在360度的范圍上來檢測,這里就需要通過角度就算出紅色小球的距離左邊值和距離上邊的值,然后賦值給小球就闊以啦!!我們再來看一張圖

JavaScript支不支持三角函數

下面是這個案例的代碼,有興趣的朋友可以看看!

/***********例子來了*************/
<!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('box');
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+'px';
obox.style.left = 400+cx+'px';
}
</script>
</html>

到此,關于“JavaScript支不支持三角函數”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

儋州市| 大田县| 德惠市| 师宗县| 乌兰浩特市| 汉沽区| 温宿县| 北海市| 呼和浩特市| 那曲县| 通州市| 揭阳市| 乐都县| 长葛市| 尉犁县| 太湖县| 武陟县| 衡南县| 永靖县| 枣强县| 七台河市| 将乐县| 大渡口区| 麻江县| 富平县| 曲靖市| 仪陇县| 遂溪县| 莲花县| 海林市| 遵化市| 同仁县| 沭阳县| 固原市| 郎溪县| 榆社县| 绵竹市| 保亭| 惠安县| 白水县| 嘉定区|