from http://vernier.frederic.free.fr/Teaching/IntroGraphic
On souhaite afficher un dégradé derrière le soleil et au dessus de l'horizon. On vous demande d'écrire une fonction gradientCiel()
qui colorie tous les pixels de la manière suivante :
void gradientCiel(int xO, int yO, int R, int r, int g, int b) ;
x0,y0 ) est comprise entre R et 2*R, la couleur dégradée de bleu est modifiée
|
Figure 6 |
Proposez un algorithme qui dessine le motif de N lignes dans une fenêtre
Modifiez votre algorithme pour que la progression ne soit pas linéaire mais selon un loi de racine carrée
En utilisant le code suivant pour dessiner un polygone gris aux bords noir:
Remplacez le dessin de ligne par le dessin d'un polygone couvrant 2 lignes successives du code précédent
Utilisez une couleur "gris-transparent" grâce à utilisez un niveau de gris plus sombre une fois sur deux pour dessiner un dammier |
||
vvoid setup() {
size(500, 500);
background(255);
noLoop();
}
void draw(){
float N = 30;
for(int i=0; i<=N;i++){
float x0 = sqrt(i/N)*width;
float y0 = (1.0-sqrt(1.0-i/N))*height;
float x1 = sqrt((i+1)/N)*width;
float y1 = (1.0-sqrt(1.0-(i+1)/N))*height;
stroke(0);
if (i%2==0)
fill(128, 128);
else
fill(128, 0);
beginShape();
vertex(0,y0);
vertex(x0,height);
vertex(x1,height);
vertex(0,y1);
endShape(CLOSE);
}
}