数学式:y = asin(ωx+φ)+k
例:http://www.zhaojz.com.cn/demo/draw7.html
JS関数の宣言:
コードコピーは次のとおりです。
//正弦波曲線を描きます
//ドット起源
//振幅振幅 - a
//初期第1フェーズ-φ
// Setover offset-- k
// Palstance Angular Velocity-ω
//サイクルの数
関数Drawsinusoid(DOT、振幅、初期、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){// 5ユニットごとに線を描く
var cur = [dot [0]+x、dot [1]+(amplitude*math.sin(palstance*x+initialphase)+setover)];
ドローライン(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]+(amplitude*math.sin(palstance*max+initialphase)+setover)];
drawpoint({
PW:3、PH:3、Color: 'Darkred'、Point:Pend
});
ドローライン(pre、pend);
}