JS Math.sin() 與 Math.cos() 用法
1.關於Math.sin(x)以及math.cos(X)
Math.sin(x) x 的正玄值。返回值在 -1.0 到 1.0 之間;
Math.cos(x) x 的餘弦值。返回的是 -1.0 到 1.0 之間的數;
這兩個函式中的X 都是指的“弧度”而非“角度”,弧度的計算公式為: 2*PI/360*角度;
30° 角度 的弧度 = 2*PI/360*30
2.如何得到圓上每個點的座標?
解決思路:根據三角形的正玄、餘弦來得值;
假設一個圓的圓心座標是(a,b),半徑為r,
則圓上每個點的X座標=a + Math.sin(2*Math.PI / 360) * r ;Y座標=b + Math.cos(2*Math.PI / 360) * r ;
3.如何求時鐘的秒針轉動一圈的軌跡?
假設秒針的初始值(起點)為12點鐘方向,圓心的座標為(a,b)。
解決思路:一分鐘為60秒,一個圓為360°,所以平均每秒的轉動角度為 360°/60 = 6°;
for(var times=0; times<60; times++) {
var hudu = (2*Math.PI / 360) * 6 * times;
var X = a + Math.sin(hudu) * r;
var Y = b - Math.cos(hudu) * r // 注意此處是“-”號,因為我們要得到的Y是相對於(0,0)而言的。
}
Math.cos(x) x 的餘弦值。返回的是 -1.0 到 1.0 之間的數;
這兩個函式中的X 都是指的“弧度”而非“角度”,弧度的計算公式為: 2*PI/360*角度;
30° 角度 的弧度 = 2*PI/360*30
2.如何得到圓上每個點的座標?
解決思路:根據三角形的正玄、餘弦來得值;
假設一個圓的圓心座標是(a,b),半徑為r,
則圓上每個點的X座標=a + Math.sin(2*Math.PI / 360) * r ;Y座標=b + Math.cos(2*Math.PI / 360) * r ;
3.如何求時鐘的秒針轉動一圈的軌跡?
假設秒針的初始值(起點)為12點鐘方向,圓心的座標為(a,b)。
解決思路:一分鐘為60秒,一個圓為360°,所以平均每秒的轉動角度為 360°/60 = 6°;
for(var times=0; times<60; times++) {
var hudu = (2*Math.PI / 360) * 6 * times;
var X = a + Math.sin(hudu) * r;
var Y = b - Math.cos(hudu) * r // 注意此處是“-”號,因為我們要得到的Y是相對於(0,0)而言的。
}
Math.cos(x) x 的餘弦值。返回的是 -1.0 到 1.0 之間的數;
這兩個函式中的X 都是指的“弧度”而非“角度”,弧度的計算公式為: 2*PI/360*角度;
30° 角度 的弧度 = 2*PI/360*30
2.如何得到圓上每個點的座標?
解決思路:根據三角形的正玄、餘弦來得值;
假設一個圓的圓心座標是(a,b),半徑為r,
則圓上每個點的X座標=a + Math.sin(2*Math.PI / 360) * r ;Y座標=b + Math.cos(2*Math.PI / 360) * r ;
3.如何求時鐘的秒針轉動一圈的軌跡?
假設秒針的初始值(起點)為12點鐘方向,圓心的座標為(a,b)。
解決思路:一分鐘為60秒,一個圓為360°,所以平均每秒的轉動角度為 360°/60 = 6°;
for(var times=0; times<60; times++) {
var hudu = (2*Math.PI / 360) * 6 * times;
var X = a + Math.sin(hudu) * r;
var Y = b - Math.cos(hudu) * r // 注意此處是“-”號,因為我們要得到的Y是相對於(0,0)而言的。
}