PROCESSING 2: Variables, Imágenes, Funciones y Bucles.
Hola Bloggeros!!1111111!!!! 👄👀👆
Aquí os dejamos la segunda parte de nuestro resumen sobre las diferentes funciones de processing. Disfrutar y aprender!
FICHA 3 : Aprendiendo a usar variables.
- Int x; = para definir una variable, podemos hacer cosas como hacer que un objeto se mueva de lado a lado, que su tamaño aumente o disminuya… esto se consigue añadiendo una nueva formula, x = x+n; por ejemplo. (para que no se vea el rastro, poner en el void draw un background(0); Se pueden poner más de una variable.
Si queremos que la variable empieza a moverse desde un punto especifico, le sumamos/multiplicamos o restamos/dividimos a la variable de la figura. ellipse (x+10, 10, 10, 10);
- Podemos usar variables con el strokeWeight(); también, por ejemplo. strokeWeight(y);
y=y+1; y con eso se consigue aumentar el grosor de la figura. Para hacer figuras que sean concentricas por ejemplo : rect(x, x, 300-2*x, 300-2*x);
FICHA 4 : Colocando Imágenes.
IMPORTANTE : Para poner una imagen, es necesario irse a Sketch > Añadir archivo > eliges la
imagen que quieras que se vea en el processing.
- Pimage f; = nombramos la imagen con una variable. Se pone antes de el void setup.
- f=loadImage(“nombre de la imagen.jpg”); = con esto le decimos a la variable que carge esa imagen que previamente hemos colocado en la carpeta data. Se pone dentro del void setup.
- Image (f, n, n, n, n); = la localización de la imagen, si son varias, ponemos al principio la letra
correspondiente a la imagen que queremos poner. Se coloca en el void draw.
- background (f); = convertimos la imagen en el fondo del lienzo, la imagen ocupa toda la pantalla.
En void draw.
- tint(n, n, n); = poner antes de la imagen, consiste en tintar de un color la imagen. Podemos poner otra imagen encima y tintarla de otra forma también. En void draw.
- tint(n, n, n, n); = tintar la imagen, pero con transparencia, como lo que sucede con el fill. Cuanto mayor sea el número, mayor opacidad e viceversa. En void draw.
- copy(n, n, n, n, n, n, n, n); = las cuatro primeras, se centran en copiar la imagen mientras que las ultimas cuatro, en su localización. Void draw.
- save(); = esta función, guardará la imagen que se ve en el momento de correr el programa, para verificarlo, podemos ir a los archivos de processing para verlo.
- filter (); = pone filtros, hay que ponerlo después de colocar la imagen. Hay diferentes tipos :
• filter(GRAY); = aplica un filtro gris a la imagen.
• filter(BLUR, n); = aplica un filtro que hace que la imagen se desenfoque.
• filter(POSTERIZE, n); = el numero debe ser entre 2 y 255. Filtro raro.
• filter(INVERT); = invierte los colores de la imagen.
- blend(f, n, n, n, n, n, n, n, n, DIFFERENCE); = parecido al copy, las cuatro primeras son para la parte que queremos recortar y las otras cuatro su localización. El difference sirve para dividir dos imagenes y ponerlas juntas.
- String url = "la dirección de la página web.jpg" = hacer que en el lienzo se cargue una imagen directamente de internet. Algo así :
PImage webImg;
void setup() {
size(432,288);
String url = "https://noticias.uneatlantico.es/wp-content/uploads/2019/05/robotito.jpg";
webImg = loadImage(url, "jpg");
}
void draw() {
background(0);
image(webImg, 0, 0);
}
FICHA 5 : Primer contacto con los bucles.
Los bucles, son instrucciones que permiten repetir una secuencia de ordenes.
- for (int i=0; i<10; i=i+1){ = bucle que se repite utilizando una variable, hasta que deja de cumplirse la condición. Esta condición por ejemplo, seguirá de 0 hasta 9, luego se parara. El contrario sería que contara de 10 a 1 : for (i=10; i>0; i=i-1){ . Void draw.
- while (i<=>n){ = bucle que se ejecuta de forma infinita (algo que no pasa en los for, ya que le ponemos una condición que si o si va a alcanzar. En este caso de while, las ordenes no se ejecutaran ni una vez si la condición no se cumple. Void draw. Poner dentro de esta también cuanto se desplazará la variable.
- do{
} while (i<=>n); = igual que el anterior, la diferencia es que en este caso las ordenes si se ejecutarán una vez, antes de ver si la condición se cumple o no. Void draw.
Es posible que, sea necesario hacer dos while para reiniciar la x o la y si queremos rellenar el lienzo de circulos por ejemplo :
int x;
int y;
void setup() {
x=20;
y=20;
}
void draw() {
while(y<=380) {
while(x<=380){
point(x,y);
x=x+20;
}
x=20;
y=y+20;
}
}
- Normalmente, usamos int n; para trabajar con los bucles, así quedaría la formula entonces :
void draw() {
for(int i=n ;i<n; i=i+n) {
}
x=x+y;
}
- También puede resultarnos util saber que en el void setup podemos poner el valor de la variable que hemos definido antes :
int x;
int y;
void setup() {
size(500,400);
x=0;
y=1;
}
Para que unos números queden igual : multiplicamos por i su tamaño correspondiente.
FICHA 6 : Creando funciones.
- int tam = int(ramdom(1,100)); = usado para variar algo de una figura, puede ser la localización, el tamaño… lo podremos en la figura de esta forma ellipse(tam,tam,n,n) para que la localización cambie de forma ramdom o ellipse(n, n, tam, tam) para variar el tamaño.
- pelota(); = lo ponemos en el void setup para definir el void pelota.
- void pelota(int a, int b){ = ponemos unas ordenes que queremos que se cumplan, luego en el void draw ponemos la abreviación pelota(); para que sepa que tiene que hacer esas ordenes. (no tiene porque llamarse pelota, es solo un ejemplo). Para variar el tamaño :
void pelota(int a, int b){
int tam = int(ramdom(1,100));
ellipse(a,b,tam,tam);
}
(parametro a para situar en x la ellipse y la b para situarlo en y) (“int” significa valor entero).
- int x= int(random(1,width)); y int y = int(random(1,height)); = con esto, hacemos que la pelota cambie de forma aleatoria de lugar por todo el lienzo. Para esto ponemos debajo de estas dos funciones pelota(x, y); y con esto hacemos que todo sea random. Se pone antes que la pelota (x,y); dentro del void draw.
- fill(random(1,255),random(1,255),random(1,255)); = hacemos que los tres números que determinan el color de la figura sean aleatorios. Void draw.
- int pelota(int a, int b){ = se usa junto con el return n; (devolvemos un parametro) y junto con el println(n); estos se usan junto con una nueva variable que le ponemos a pelota(); ( algo así como r=pelota(); ) y dentro del println.
Para hacer una cruz :
void equis(int a, int b){
stroke(random(1,100));
strokeWeight(random(1,50));
line(a,b,a+100,b+100);
line(a+100,b,a,b+100);
}
👊😎
EssterEgg:
int x;
int y;
void setup(){
size(300,300);
background(0,255,0);
}
void draw(){
for(x=0;x<=300;x=x+30){
for(y=0;y<=300;y=y+30){
if(x<=100){
rect(x-25,y,20,20);
}
if(x>=100 && x<=200){
ellipse(x-10,y,20,20);
}
if(x>=200){
triangle(x-10,y,x+10,y-20,x-10,y-20);
}
}
}
}
Comentarios
Publicar un comentario