Langues et IDE qui sont bons dans l'art et les œuvres interactifs et sont souvent utilisés pour l'art médiatique
――Vous pouvez faire des œuvres qui bougent très facilement --Bonne aux prototypes ――C'est si facile de créer un environnement
Un langage très amusant, je suis tombé dans un marais de programmation dans ce langage. Par exemple, ce qui peut être fait (il y a aussi une bibliothèque appelée gifExport, mais le comportement est étrange, donc je capture l'écran)
Le cercle environnant tourne lorsque la souris se déplace. Cela n'a pas l'air joli du tout à cause de la putain de fréquence d'images.
Le code source sera simple comme ça. (C'est sale parce que la personne qui écrit le code baise)
Écrivez dans draw ce que vous voulez répéter dans la configuration de l'événement qui ne se produit qu'une seule fois au début.
Il est basé sur Java, vous pouvez donc vous y habituer immédiatement
void setup()
Quand
void draw()
En raison de la nature de la fonction divisée, le nombre de variables globales a tendance à augmenter.
kurukuru.pde
float[] x, y, pX, pY;
float[] distance;
float[] gapTheata;
color[] c;
final int n = 200;
void setup(){
size(1000, 1000);
background(255);
colorMode(HSB);
x = new float[n];
y = new float[n];
pX = new float[n];
pY = new float[n];
distance = new float[n];
gapTheata = new float[n];
c = new color[n];
for(int i = 0; i < n; i++){
x[i] = y[i] = pX[i] = pY[i] = 30;
distance[i] = random(15, 150);
gapTheata[i] = random(-PI, PI);
c[i] = color(random(255), 255, 255, random(255));
}
}
void draw(){
background(255);
noStroke();
colorMode(HSB);
for(int i = 0; i < n; i++){
fill(c[i]);
float theata = radians(frameCount*5.0) + gapTheata[i];
float dist =distance[i] + 90.0*noise(theata/1.0, frameCount/100.0, i);
x[i] = (mouseX + dist*cos(theata) + pX[i])/2.0;
y[i] = (mouseY + dist*sin(theata) + pY[i])/2.0;
pushMatrix();
translate(x[i], y[i]);
ellipse(0, 0, 20, 20);
popMatrix();
pX[i] = x[i]; pY[i] = y[i];
}
colorMode(RGB);
fill(0);
ellipse(mouseX, mouseY, 40, 40);
}
Je vais omettre l'explication détaillée.
noise(w, x, y, z)
pushMatrix()
popMatrix()
--Enregistrer ou restaurer l'état actuel des coordonnéescolorMode()
color
--Un type qui conserve la couleur, vous pouvez utiliser la couleur déclarée dans le mode couleur ci-dessus. Vous pouvez également ajouter des canaux αframeCount
――Il aura le nombre actuel d'images. Il peut être utilisé lorsque vous souhaitez créer quelque chose qui change en permanence. Vous pouvez également remplacer pour une raison quelconque.Puis quand j'ai voulu porter ceci sur le Web ** Vous pouvez utiliser p5.js **
Portons ceci sur le Web. (Dans le prochain article)
Recommended Posts