js中的数学

三角形,的sin cos tan 

对于一角来说,对边是a 斜边是c 邻边是b

sin  a/c  正弦

cos b/c 余弦

tan a/b  正切


Math中也有以上三个方法,参数是弧度。

弧度=2*Math.PI/360*角度


在js里当一个点需要以特定角度移动一定距离时,

这时需要来算x y 轴上的移动距离。就会动到以上数学了

y轴长度=sin(弧度)*移动距离

//因为sin=对边/斜边  :   对边=sin*长度

x轴长度=cos(弧度)*移动距离

这样就算出来x y 距离的距离就可以得到移动点的位置了


canvas画时钟线的应用:

首先需要算出时分秒针的角度

因为canvas中弧度是水平的x轴向下算起,所以弧度需要-90度的值。

y=Math.sin(angle)*length

x=Math.cos(angule)*length


js中随机数:

随机数一般都是

Math.round(Math.random()*10)

(Math.random()*10).toFixed(2)

但现在要做从小到大循环的数字。

1,2,3,4 1,2,3,4这样的从小到大,再从小到大。

可以在setInterval内使用当前时间来完成。

因为时间动态增加的

但是如何实现从小到大呢。

取余,它会算出一个数对于另一个数的余数。

余数*数可以获取0-1的数。

被除数呢需要动态变,这时时间就可以用上了。

Date.now()%600*600

解析:

时间会一直在增加用它来取600的余数,余数肯定是从0-599 当再加一时也就从0继续开始了。


生成从小到大再从大到小的数

在做canvas中给圆做闪烁时上边的从小到大再从小到大方法用上效果不是很自然。

最好的是从小到大 从大再到小。

js里哪些方法可以做到小大大小呢?

Math.sin(num)

它的返回值

0:0

0.1:  0.09983341664682815

1.60 0.9995736030415051

1.70 0.9916648104524686

3.10 0.04158066243328916

3.20 -0.05837414342758142

6.30 0.016813900484343496

看它的值从小到大返回的结果

值从0到1.6结果是从小到大

1.7以后就是从大到小了

一直到3.1都是小

而3.2以后就是-的值。

结果它的值从0-3.1 结果会是从小到大再从大到小。

所以我们可以得到从0-3的值也就是从小到大再从小到大的值。

由sin来生成小大小的结果。

这里就用上了上边的取余随机数。

它得出来的是0-1可以去*Math.PI再使用sin来得到结果

setInterval(function(){
var a=Date.now();

console.log(Math.sin((a+50)%600/600)*Math.PI);

},30)




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值