ScriBd
Proyecto personal
Examen final
Como un referente para la idea de mi examen final, he encontrado esto en OpenProcessing, consiste en una especie de “manto” que se va creando mediante una tonalidad de color, es como una flor sin centro, y va lentamente formándose.
Mi idea es crear algo así pero con variaciones de colores y con un ritmo distinto, alguna música de fondo que vaya guiando el ritmo de esto mientras se está formando.
Para esto, quiero utilizar la canción All Blues de Miles Davis, y a través del ritmo que lleva, ir creando la variación de color con un manto parecido al de este OpenProcessing, probablemente variando tamaños y formas.
Me parece interesante la manera en que la música va creando imágenes dentro del inconciente personal y como esto uno lo puede llegar a proyectar de una u otra manera, esta vez en Processing, que vendría siendo el medio a través del cual podría crear esta vista personal de mi reacción frente a esta canción, a través de imágenes continuas que van creando formas y colores que van mostrando diversas sensaciones que provoca la canción.
| int c,S=700; float o=S/2,r=S*.75,a,k=3e3,h,p=TWO_PI/k; PGraphics bg;
|
| void r() {c=0;a=0;h=random(1);background(bg);}
|
| //for a nicer display we'll use a degraded background, loaded in a PGraphics
|
| bg=createGraphics(S,S,P2D);
|
| //set a gray value, depending on distance to center
|
| for(int i=0;++i<sq(S);) bg.set(i%S,i/S,color(255-(dist(i%S,i/S,S/2,S/2)/6)));
|
| size(S,S,P2D);colorMode(HSB,1);smooth();noFill();strokeWeight(3);r();
|
| void draw() { if(c++<=k) generate(o,o,o+(r*cos(a)),o+(r*sin(a+=p)),25);}
|
| void generate (float x1,float y1,float x2,float y2,int n){
|
| //interpolate a bunch of n points between p1 and p2
|
| PVector[] ps=new PVector[n];
|
| ps[0]=new PVector(x1,y1);
|
| for (int i=1;i<ps.length;i++){
|
| ps[i]=new PVector(lerp(ps[i-1].x,x2,1./n),lerp(ps[i-1].y,y2,1./n));
|
| stroke(h,.8,noise(c%k*.01),.8);
|
| curveVertex(ps[0].x,ps[0].y);
|
| //and shift the location of that points with a noise displacement
|
| for (int i=0;i<ps.length;i++){
|
| curveVertex(ps[i].x+n(ps[i],0,.01),ps[i].y+n(ps[i],1,.01));
|
| float n(PVector or,int n,float f){return 100*(noise(or.x*f,or.y*f,n)-.5);}
|
| void mousePressed(){r();}
|
Este es el código a través del cual se crea esta continuidad de colores en forma “circular”, el cuál investigaré e intentare buscar variaciones para poder re-crearlo de manera que se logré el ritmo que lleva la música.