[canvas] 三角函数
三角函数
普通坐标与canvas坐标是不同的
常用三角函数
在canvas中采用的是弧度制。
θ * Math.PI/180
是将角度转成弧度,比如:30° = 30 * π /180 = π / 6
。
Math.asin(x/R)
(弧度值)乘上180/Math.PI
是将弧度转成角度。
Math.atan()可以直接通过两个直角边得到角度值,但是会得到两个相同的角度值
使用Math.atan2(dy, dx)可以弥补该问题
函数波形
sin函数波形
//sin函数在[0, 2π]之间的值,非连续的情况下,可以这样估算:
for(var angle=0; angle<Math.PI*2; angle+=0.1){
console.log(Math.sin(angle)); //打印出角度对应的sin值
}
圆
椭圆
正圆半径在x轴和y轴上的距离是相同的,都是Radius ,而椭圆则是不同的,我们用a, b 表示。
两点之间距离
假设有两个点, a(x1, y1), b(x2, y2)
dx = x2 - x1;
dy = y2 - y1;
distance = Math.sqrt(dx*dx + dy*dy); //勾股定理
弧度
弧度是角的度量单位。(rad)
定义:弧长等于半径的弧,其所对的圆心角为1弧度。
一周的弧度数为2πr/r=2π,360°角=2π弧度,
1弧度约为57.3°,即57°17'44.806'',
1°为π/180弧度,近似值为0.01745弧度,
周角为2π弧度,
平角(即180°角)为π弧度,
直角为π/2弧度。