三角学主要研究三角形以及他们的边角关系。如果某个三角形的一个角扩大,那么它所对应的边就会拉长(假设另外两条边保持原有长度),并且另外两个叫也会随之变小。他们的具体变化需要一些计算,不过其中的比率已经过充分研究并可以通过编码实现。
javascript包含用于计算多种三角关系的三角函数,如正弦、余弦、正切、反正弦、反余弦、反正切。
正弦
表示对边比斜边,90度的余弦值是1,sin(90°)=1;
30°的角的正确值用js表示(30°是x轴正方向向下30度的角参考canvas坐标系)console.log(Math.sin(30))
与我们期望的是0.5差别太大了
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Math/sin
Math.sin接收的是一个弧度值;
角度与弧度互转:
角度 = Math.PI*180/弧度;
弧度 = Math.PI*角度/180
转换后再打印console.log(Math.sin(30*Math.PI/180))
已经很接近0.5咯;
其余几个也就差不多的事,值得一说的是反正切。
反正切
反正切是正切的逆运算。
求30度的正切
Math.tan(30*Math.PI/180) //0.5773502691896257
求0.5773502691896257的反正切
Math.atan(0.5773502691896257)*180/Math.PI
把这个值转换为角度发现已经是很接近30°了
atan2
事情明明已经是非常简明了,为什么还要另一个同样功能的函数(Math.atan2())呢
这个D的正弦是-1/-2=0.5,B是1/2=0.5。
atan函数无法分辨对角。
atan2接收两个参数,对边和临边;
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/atan2