js數學公式-曲線運動

---勾股定理
a*a + b*b =c*c

---三角函數
正弦 : sin
餘弦 : cos
正切 : tan
餘切 : cot
正弦定理
a/sinA = b/sinB =c/sinC = 2r(r爲外接圓半徑)
餘弦定理
cosA = b*b + c*c - a*a / 2bc
cosB = c*c + a*a - b*b / 2ca
cosC = a*a + b*b - c*c / 2ab
javascript



---什麼是弧度
一個角度到底表明多少弧度:這個角度所包含的外接圓的弧長/外接圓的半徑

360 角度 = 2*PI*r/r 弧度(360角度 = 2*PI 弧度)
===> (單位換算)
1角度 = PI/180 弧度
1弧度 = 180/PI 角度css

                                              //角度         
testNode.style.left = startX + (deg*Math.PI/180)*step/2 +'px';
// 函數返回一個數值的正弦值。 testNode.style.top
= startY + Math.sin( deg*Math.PI/180 )*step*2+"px";Math.sin()

 



---角度轉弧度 弧度轉角度
弧度值 = 角度值*PI/180 角度值 = 弧度值*180/PI


---三角函數圖像
曲線運動

---完成曲線運動

---與canvas結合html

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <style type="text/css">
            *{
                margin: 0;
                padding: 0;
            }
            #test{
                position: absolute;
                left: 200px;
                top: 300px;
                width: 10px;
                height: 10px;
                background: black;
            }
            
            .box{
                position: absolute;
                border: 1px solid;
            }
        </style>
    </head>
    <body>
        <div id="test"></div>
    </body>
    <script type="text/javascript">
        
        window.onload=function(){
            var testNode = document.querySelector("#test");
            var startX = testNode.offsetLeft;
            var startY = testNode.offsetTop;
            //角度
            var deg =0;
            var step = 100;
            
            
            setInterval(function(){
                deg++;
                
                testNode.style.left = startX + (deg*Math.PI/180)*step/2 +'px';
                
                testNode.style.top = startY + Math.sin( deg*Math.PI/180 )*step*2+"px";
                
                var boxNode = document.createElement("div");
                boxNode.classList.add("box");
                boxNode.style.left=testNode.offsetLeft+"px";
                boxNode.style.top=testNode.offsetTop+"px";
                document.body.appendChild(boxNode);
                
            },1000/60)
        }
        
        
    </script>
</html>
View Code
相關文章
相關標籤/搜索