数式: y=Asin(ωx φ) k
サンプル: http://www.zhaojz.com.cn/demo/draw7.html
JS 関数宣言:
//サインカーブを描きます
//ドット原点
//振幅 振幅 -- A
//initialPhase 初期位相 -- φ
//セットオーバーオフセット -- k
//パルス角速度 -- ω
//len サイクル数
functiondrawSinusoid(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*xInitialPhase) setover)] //y
の初期値
for(;x < max;x =5){ //5 単位ごとに線を描画します
var cur = [dot[0] x, dot[1] (amplitude*Math.sin(palstance*xInitialPhase) 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*xInitialPhase) setover)];
drawPoint({
pw:3,ph:3,color:'DarkRed',point:cur
});
}
var pend = [dot[0] max, dot[1] (振幅*Math.sin(パルス*最大初期位相) セットオーバー)];
ドローポイント({
pw:3,ph:3,color:'DarkRed',point:pend
});
drawLine(pre, pend);
}