使用js画图之正弦曲线
数学式:y=Asin(ωx+φ)+k
样例:http://www.zhaojz.com.cn/demo/draw7.html
JS函数的声明:
//画正弦曲线 //dot原点 //amplitude 振幅--A //initialPhase初相--φ //setover偏距--k //palstance角速度--ω //len周期数 functiondrawSinusoid(dot,amplitude,initialPhase,palstance,setover,len,opts){ varcolor=opts&&opts.color?opts.color:"DarkRed";//曲线的颜色 varmax=len*2*Math.PI/w;//x的最大值 //varx=-2*Math.PI/w/3; varx=0;//x的初值 varpre=[dot[0]+x,dot[1]+(amplitude*Math.sin(palstance*x+initialPhase)+setover)];//y的初值 for(;x<max;x+=5){//每五个单位画一条线 varcur=[dot[0]+x,dot[1]+(amplitude*Math.sin(palstance*x+initialPhase)+setover)]; drawLine(pre,cur,{color:color});//画线 pre=cur; } vard=Math.PI/(2*w); for(varx=0;x<max;x+=d){//描点 varcur=[dot[0]+x,dot[1]+(amplitude*Math.sin(palstance*x+initialPhase)+setover)]; drawPoint({ pw:3,ph:3,color:'DarkRed',point:cur }); } varpend=[dot[0]+max,dot[1]+(amplitude*Math.sin(palstance*max+initialPhase)+setover)]; drawPoint({ pw:3,ph:3,color:'DarkRed',point:pend }); drawLine(pre,pend); }