La synthèse additive des couleurs se fait par projection et superposition de spots lumineux.
La superposition des 3 couleurs fondamentales permet d'obtenir du blanc.
La superposition additive des couleurs est gérée par le script
globalCompositeOperation = 'lighter'
.
Vous constatez que le spot vert mobile ne sort jamais du canvas.
Si la position d'un spot est supérieure à la largeur ou la hauteur du canvas le déplacement est inversé :
if( x inf à r ou x sup à canvas.width-r) dx=-dx
Il s'agit d'un programme appelé Rebond sur les bords du canvas.
J'aurais voulu faire la même chose en synthèse soustractive,
Mais c'est impossible, les écrans ne fonctionnant qu'en synthèse additive.