Un oggetto Graphics disegna cerchi e quadrati ma è anche in grado di tracciare forme più complesse, in particolare quando i metodi di disegno vengono utilizzati in combinazione con le proprietà e i metodi della classe Math. La classe Math contiene costanti di interesse matematico comune, come
Math.PI
(circa 3.14159265...), una costante per il rapporto tra la circonferenza di un cerchio e il proprio diametro. Inoltre, contiene metodi per funzioni trigonometriche, tra cui
Math.sin()
,
Math.cos()
e
Math.tan()
. Disegnare forme utilizzando questi metodi e queste costanti consente di creare effetti visivi più dinamici, in particolare se impiegati in modo ripetuto o ricorsivo.
Molti metodi della classe Math prevedono misure circolari espresse in radianti anziché in gradi. La conversione tra questi due tipi di unità di misura rappresenta un uso comune della classe Math:
var degrees = 121;
var radians = degrees * Math.PI / 180;
trace(radians) // 2.111848394913139
L'esempio seguente crea una sinusoide e un'onda coseno per evidenziare la differenza tra i metodi
Math.sin()
e
Math.cos()
per un determinato valore.
var sinWavePosition = 100;
var cosWavePosition = 200;
var sinWaveColor:uint = 0xFF0000;
var cosWaveColor:uint = 0x00FF00;
var waveMultiplier:Number = 10;
var waveStretcher:Number = 5;
var i:uint;
for(i = 1; i < stage.stageWidth; i++)
{
var sinPosY:Number = Math.sin(i / waveStretcher) * waveMultiplier;
var cosPosY:Number = Math.cos(i / waveStretcher) * waveMultiplier;
graphics.beginFill(sinWaveColor);
graphics.drawRect(i, sinWavePosition + sinPosY, 2, 2);
graphics.beginFill(cosWaveColor);
graphics.drawRect(i, cosWavePosition + cosPosY, 2, 2);
}