[2015] Github.io

Cours, Ecrits/Cours, Publications de logiciels, Réalisations Artistiques

Un nouveau site pour publier du code et expérimenter avec http://p5js.org

http://b2renger.github.io/

thiswebsite6

Ce site présente un design en deux parties. La partie de gauche est une carte des articles présentée sous forme d’une sorte d' »algue ». Lorsque l’on passe sur un noeud le contenu d’un article écrit en markdown est parsé et les éléments html correpondants sont crées dans la partie de droite.

Vous trouverez sur ce site des supports de cours que j’utilise pour enseigner processing et pure-data, un bon nombre de projets/expériementations web et android.

Tout le code des projets présentés sur ce site est disponnible en license cc (la pluspart du temps) sous github.

 

[2015] MusicBox 3d

Publications de logiciels, Réalisations Artistiques

Cette application est une simulation de boîte à musique : à chaque fois qu’un carré éxécute un tour il émet un son.Vous pouvez créer vos propres mélodies, explorer différentes gammes musicales et différents synthétiseurs.

L’application est gratuite et disponnible sur le playstore :

https://play.google.com/store/apps/details?id=processing.test.musicbox3d

[2015] Pendulum Phases

Publications de logiciels, Réalisations Artistiques

Cette application est un synthétiseur audio-visuel basé sur la modélisation physique de mouvements harmoniques et l’exploration des phases et décalages de phases d’un ensemble de pendules simples.

16 pendules oscillent ensemble et créent des effets hypnotiques, de battements, de chaos et de fronts d’ondes. Chaque pendule émet un son lorsqu’il atteint son angle maximal.

Il est possible de modifier les paramètres de la simulation, comme le temps de synchronisation et la vitesse de déplacement des pendules (ce qui est impossible dans la réalité).

La manière dont les mouvement sont sonifiés est aussi entièrement paramétrable à travers l’usage de gammes pré-établies.

L’application est disponnibe gratuitement sur le playstore :

https://play.google.com/store/apps/details?id=processing.test.pendulum_phases_0_3

Plante #1

Visuels Génératifs

bigorneaux-1139

bigorneaux-1031


color [] colors = {
#C5E0DC, #DAF5F0, #F9E9CC, #FAF6D6,#FFD0C1
};

Circles[] cir = new Circles [5];
boolean update = true;
void setup() {
size(800, 600);
background(0);
frameRate(60);
ellipseMode(CENTER);
noStroke();
//strokeWeight(0.5);
smooth();

//stroke(0, 180);
// colorMode(HSB, 360, 100, 100);

for (int i = 0 ; i < cir.length ; i++) {
int size = int(random(25, 50));
cir[i] = new Circles (colors[0], width/2, height, size);
}
}

void draw() {

for (int i = 0 ; i < cir.length ; i++) {

cir[i].update();
cir[i].draw();

if (frameCount%20==0 && update) {

if (cir[i].circle_size == 1 ) {
int size = int(random(25, 125));
cir[i] = new Circles (colors[0], width/2,random(height-50,height), size);
}
}
}
}

void keyReleased(){
if (key == 'u' || key =='U'){
update = !update;
}

if (key == 's' || key =='S'){
saveFrame("/images/bigorneaux-####.jpg");
}
}
class Circles {

int circle_size = 1200;
color c;

float xpos, ypos;

float noiseF;

int steps = 0;
int max_step=5;

Circles(color c, float xpos, float ypos, int circle_size) {
this.c = c;
this.xpos = xpos;
this.ypos = ypos;
// circle_size = int( random(50, 250));
noiseF = random(500);
this.circle_size = circle_size;
max_step =int(random(2,10));
//steps = int(random(15));
}

void update() {
if (circle_size > 1) {
circle_size--;
}

noiseF += 0.005;
xpos += map(noise(noiseF, ypos/100, 25), 0, 1, -8,8);
ypos += map(noise(noiseF, xpos/100, 56), 0, 1, -6, 0);

steps +=1;
//noStroke();
if (steps == max_step) {
int index = int(random(colors.length));
c = colors[index];
steps = 0;
max_step =int(random(2,15));
// stroke(0.15);
}
}

void draw() {
fill(c);
ellipse(xpos, ypos, circle_size, circle_size);
}

void setColor (color c) {
this.c =c;
}
}

Grid #1

Visuels Génératifs

70s-2014-6-11-17h12m30s 70s-2014-6-11-17h12m42s 70s-2014-6-11-17h14m24s 70s-2014-6-11-17h14m25s

 


int size = 80;

float seed;

float rect_round ;

float steps;

color [] colors = {
#F5E0A7, #CFA678, #BBD7AF, #56AA9B, #026376
};
//color [] colors = { #92EDF0, #12223D, #DE1818, #040505};

void setup() {
size(800, 600, P2D);
smooth();

rectMode(CENTER);
colorMode(HSB, 360, 100, 100, 255);
noStroke();

frameRate(30);
}

void draw() {

steps+=0.035;
background(0, 0, 100);
randomSeed(floor(seed));

for (int i = size/2 ; i < 1200 ; i+=size*39/50) {
for (int j = size/2 ; j < 600 ; j+=size*36/50) {

float p = random(100);
for (int k = 1 ; k <= colors.length ; k++) {
if (p< k*100/colors.length && p>(k-1)*100/colors.length) {
fill(colors[k-1], 100);
}
}

rect_round = map(sin(steps), -1, 1, -145, 40);
pushMatrix();
translate(i, j);
rotate(PI/4);
rect(0, 0, size, size, rect_round);
popMatrix();
}
}

// saveFrame("/frames/70s-####.tiff");
}
void mousePressed() {
seed = floor(random(5000));
println("seed : " +seed);
}

void keyPressed() {
if (key == 's' || key == 'S') {
saveFrame("70s-"+year()+"-"+month()+"-"+day()+"-"+hour()+"h"+minute()+"m"+second()+"s.png");
}
}