欧美亚洲中文,在线国自产视频,欧洲一区在线观看视频,亚洲综合中文字幕在线观看

      1. <dfn id="rfwes"></dfn>
          <object id="rfwes"></object>
        1. 站長資訊網(wǎng)
          最全最豐富的資訊網(wǎng)站

          JavaScript支持三角函數(shù)嗎

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

          JavaScript支持三角函數(shù)嗎

          本教程操作環(huán)境:windows7系統(tǒng)、javascript1.8.5版、Dell G3電腦。

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

          下面我們來看看JavaScript支持三角函數(shù)。

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

          JavaScript支持三角函數(shù)嗎JavaScript支持三角函數(shù)嗎

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

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

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

          JavaScript支持三角函數(shù)嗎

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

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

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

          JavaScript支持三角函數(shù)嗎

          其中,紅色小球代表一個槍口。藍色的小球代表鼠標(biāo)的位置,當(dāng)鼠標(biāo)放置到頁面不同位置的時候,紅色的小球就會移動到相應(yīng)的角度上與之對應(yīng),但是我們也看到有一個r,表示在平面的范圍呢,紅色小球能夠移動的范圍,實際上就是一個圓的半徑,如果這個r越大,那么小球移動的范圍就越大啦!?。ú焕斫獾呐笥严劝严旅娴睦訌?fù)制出來運行一下就可以了)

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

          JavaScript支持三角函數(shù)嗎

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

          /***********例子來了*************/ <!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>

          【推薦學(xué)習(xí):javascript高級教程】

          贊(0)
          分享到: 更多 (0)
          網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號