Étape 1: Traitement : générer les Images de fond
Tout d’abord, j’ai passé quelques temps en regardant l’espace. Après presque un amerrissage forcé l’idée juste là et quand j’ai remarqué que le fond d’écran mac par défaut était étonnamment proche où j’ai dirigé, j’ai continué à remarquer quelques détails sur les images de l’espace et des amas d’étoiles se :
-Étoiles individuels varient en taille, la luminosité, couleur (rouge bleu) et les nuages environnants de gaz
-Les grappes apparaissent tant à cause de l’accumulation des étoiles et à cause de la façon dont ils allument le gaz plus dans leur voisinage
-La beauté vient en grande partie des couleurs mélangées
-« Haze » est critique
-Les clusters éclat en groupes qui se sentent concentriques, mais qui ne sont même pas
-Beaucoup d’images ont des zones sombres sur les bords ; effet de vignette
-Couleurs star a besoin de « mélange » avec leur couleur de fond. Il y avait très peu d’étoiles bleues apparaissant dans l’espace sinon rouge.
L’esquisse de traitement de l’image d’arrière-plan tente de transformer ces règles en code :
Centre de PVector ; diagonale du flotteur ; void setup() {int largeur = 960, hauteur = 440 ; size(width,height) ; Centre = new PVector(width/2,height/2) ; diagonale = dist(0,0,center.x,center.y) ; noiseDetail(5,.5) ; colorMode (HSB, 1); pour (int j’ai = 1; j’ai 0,4 (habillage) saturation = 0,75 - v; légèreté = v * lightnessMultiplier; / / plus lumineux vers alpha moyen = maxOpacity - distance * 0,6 / diagonal ; fill(hue,saturation,lightness,alpha) ; rect(x,y,1,1);}}} void setGradient (int x, int y, float w, flotteur h, couleur c1, c2 de couleur) {noFill() ; pour (int j’ai = y; i de là rien de compliqué ici :makeNewnuagesnuages fait une boucle sur chaque pixel, bruit de perlin de mélange avec un dropoff basée sur la distance pour alpha et luminosité du nuage. Cela équivaut à une tachée + vignette effet pour chaque image, quelle que soit la "dureté" du bord de la nuée, la taille du nuage en x, y, ou les couleurs concernées. Les nombres magiques beaucoup, inclus dans cette fonction sont le résultat d’essais et d’erreurs, pas n’importe quelle sorte de rigueur. setGradient s’applique une teinte plus foncée à la partie inférieure de l’écran du bord supérieur. programme d’installation Copiez le code suivant tutoriel complet ici