数学式:y=Asin(ωx+φ)+k
JS函数的声明:
代码如下:
etover 偏距 -- k
//palstance 角速度 -- ω
//len 周期数
function drawSinusoid(dot,amplitude,initialPhase,palstance,setover,len,opts){
var color = opts&&opts.color?opts.color:"DarkRed"; //曲线的颜色
var max = len*2*Math.PI/w; //x的最大值
//var x = -2*Math.PI/w/3;
var x = 0; //x的初值
var pre = [dot[0]+x,dot[1]+(amplitude*Math.sin(palstance*x+initialPhase)+setover)]; //y的初值
for(;x < max;x+=5){ //每五个单位画一条线
var cur = [dot[0]+x,dot[1]+(amplitude*Math.sin(palstance*x+initialPhase)+setover)];
drawLine(pre,cur,{color: color}); // 画线
pre = cur;
}
var d = Math.PI/(2*w);
for(var x =0;x < max;x+=d){//描点
var cur = [dot[0]+x,dot[1]+(amplitude*Math.sin(palstance*x+initialPhase)+setover)];
drawPoint({
pw:3,ph:3,color:'DarkRed',point: cur
});
}
var pend = [dot[0]+max,dot[1]+(amplitudeMath.sin(palstancemax+initialPhase)+setover)];
drawPoint({
pw:3,point: pend
});
drawLine(pre,pend);
}
原文地址:https://www.jb51.cc/js/56361.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。