js中三角函数sincostancot角度计算

JavaScript07

js中三角函数sincostancot角度计算,第1张

正弦(sin)     sinA = a / c       sinθ = y / r 余弦(cos)    cosA = b / c      cosθ = y / r 正切(tan)     tanA = a / b      tanθ = y / x 余切(cot)     cotA = b / a      cotθ = x / y js中计算三角函数用Math.sin()等静态方法,参数为弧度 角度与弧度都是角的度量单位 1弧度时,弧长等于半径,那弧长是半径的倍数就是弧度了 弧度 = 弧长 / 半径 弧长 = 弧度 * 半径 弧长 = (角度 / 360) * 周长 角度 = 弧长 / 周长 = 弧长/(2πr) = 弧度*r/(2πr) = 弧度/(2π) 弧度 = 弧长 / 半径 = [(角度 / 360) * 周长] / 半径 =[ (角度 / 360) * 2πr] / r = 角度 * π / 180

cxt.scale(2,2) 缩放的是整个画布,缩放后,继续绘制的图形会被放大或缩小。ctx.translate(x,y) 方法重新映射画布上的 (0,0) 位置x: 添加到水平坐标(x)上的值 y: 添加到垂直坐标(y)上的值 发生位移后,相当于把画布的0,0坐标 更换到新的x,y的位置,所有绘制的新元素都被影响。 位移画布一般配合缩放和旋转等。context.rotate(angle) 方法旋转当前的绘图 注意参数是弧度(PI) 如需将角度转换为弧度,请使用 degrees*Math.PI/180 公式进行计算。

这是数学题啊....

Rotate = function(Source,Angle)//Angle为正时逆时针转动, 单位为弧度

{

var A,R

A = Math.atan2(Source.Y,Source.X)//atan2自带坐标系识别, 注意X,Y的顺序

A += Angle//旋转

R = Math.sqrt(Source.X * Source.X + Source.Y * Source.Y)//半径

return {

X : Math.cos(A) * R,

Y : Math.sin(A) * R

}

}

Rotate({X : 0,Y : 4},-Math.PI / 4)

注意, 由於牵扯浮点运算, 所以你如果调用

Rotate({X : 0,Y : 4},Math.PI / 2)

返回可能会是{X: -4, Y: 4.898425415289509e-16}

Y很小但不等於0

当然如果用矩阵变换也是可以写的..