Utilisation de la classe Math avec les méthodes de dessin

Flash Player 9 et les versions ultérieures, Adobe AIR 1.0 et les versions ultérieures

Un objet Graphics trace des cercles et des carrés, mais il permet aussi de dessiner des formes plus complexes, en particulier lorsque les méthodes de dessin sont utilisées en combinaison avec les propriétés et les méthodes de la classe Math. La classe Math contient des constantes d’intérêt général en mathématiques, telles que Math.PI (environ 3,14159265...), qui est la constante définissant le rapport entre la circonférence et le diamètre d’un cercle. Elle contient également des méthodes de fonctions trigonométriques, entre autres Math.sin(), Math.cos() et Math.tan(). L’utilisation de ces méthodes et constantes pour le dessin de formes permet d’obtenir des effets visuels plus dynamiques, en particulier en utilisant des répétitions et des récursions.

De nombreuses méthodes de la classe Math attendent des mesures circulaires en radians, et non en degrés. La conversion entre ces deux types d’unités représente elle-même un cas d’utilisation courante de la classe Math :

var degrees = 121; 
var radians = degrees * Math.PI / 180; 
trace(radians) // 2.111848394913139

L’exemple suivant crée une onde sinusoïdale et une onde cosinusoïdale, afin d’illustrer la différence entre les méthodes Math.sin() et Math.cos() pour une même valeur.

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); 
}