this.createEmptyMovieClip('sinewave_mc',1);
sinewave_mc._x = 40;
sinewave_mc._y = Stage.height/2;
drawSineWave (6, 50, 50, 1, 0, 1, 0x9966FF,
100);
function drawSineWave(points:Number, amplitude:Number,
wavelength:Number, frequencey:Number, Phase:Number,
lineHeight:Number, lineColor:Number, lineAlpha:Number):Void{
xscale = amplitude;
yscale = wavelength;
sinewave_mc.lineStyle(lineHeight,lineColor,
lineAlpha);
var m1 = yscale/xscale;
var b1 = 0;
for(i = 1; i <= points; i++){
var angle = 2*Math.PI*i/points;
var m2 = yscale/xscale*Math.cos(angle);
var b2 = yscale*(Math.sin(angle) - angle*Math.cos(angle));
var x = (b1 - b2)/(m2 - m1);
var y = m2*x + b2;
if(Math.abs(m1 - m2) < 0.001) {
sinewave_mc.lineTo(xscale*angle, yscale*Math.sin(angle));
}
else {
sinewave_mc.curveTo(x, y, xscale*angle, yscale*Math.sin(angle));
}
m1 = m2;
b1 = b2;
}
}
|