Jesús Rafael Soto , Répétition optique Nº 2 , 1951
1)Estudo de padrão
Após o reconhecimento do padrão foi necessário reconhecer as formas envolvidas e
suas relações para passar pro programa.
Depois criar uma disposição igual à obra.
2)Criação do código
a)Criar função do padrão.
b)Criar um método de repetição para preenchimento de qualquer tamanho de tela.
float lar = 30; //largura desejada
float alt = lar * 2; //altura em relação com largura
float x = 100; //posição x do primeiro padrão a ser criado
float y = 100; //posição y do primeiro padrão a ser criado
float xAt = x;
float yAt = y;
int cont = 0;
int cont2 = 1;
void setup()
{
size(800,600);
noStroke();
}
void padrao(float l , float h,float x ,float y) //padrão
{
fill(255);
quad(x , y , x+l , y , x+l , y+h , x , y+h);
fill(255,195,85);
quad(x , y , x+ l/2 ,y , x+l/2 , y + h/2 , x , y+h/2);
fill(44,37,39);
quad(x+l/2 , y + h/2 , x+l , y+h/2 , x+l , y+h , x+l/2 , y+h);
triangle(x , y , x + l/4 , y , x , y + h/2);
triangle(x + l/4 , y + h/2 , x + l/2 , y + h/2 , x + l/2 , y + h);
fill(255);
triangle(x + 3*l/4 , y+h/2, x+l , y+h/2 , x + l , y + h);
}
void draw()
{
if((xAt > -lar) && (cont == 0)) //criação da linha para a esquerda
{
padrao(lar,alt,xAt,yAt);
xAt = xAt - lar;
}
else
{
if(cont == 0)
{
cont = 1;
xAt = x;
}
}
if((xAt < width) && (cont == 1)) //criação da linha para a direita
{
padrao(lar,alt,xAt,yAt);
xAt = xAt + lar;
}
else
{
if (cont == 1) //alteração de colunas
{
cont = 0;
yAt = yAt + cont2 * alt;
xAt = x;
}
else
{
if(yAt > height) //inversão da criação de colunas
{
yAt = y;
xAt = x;
yAt = yAt - alt;
cont = 0;
cont2 = -cont2;
}
}
}
}
Resultado:
3)Aplicação
Estudo de linhas para criação de aplicações:
3.1) Retirando elementos conseguiu-se os seguintes resultados:
variação 1
variação 2
fill(255);
triangle(x , y , x + l/3 , y + h/2 , x , y + h/2);
triangle(x + l/3 , y , x + 2 * l/3 , y + h/2 , x + l/3 , y + h/2);
fill(0);
triangle(x + l/3 , y+h/2, x+2*l/3 , y+h/2 , x + 2*l/3 , y + h);
triangle(x + 2*l/3,y + h/2, x+l , y + h/2,x + l, y+h);
3.2)Utilização de cores randômicas criando texturas:
quad(x , y , x+l , y , x+l , y+h , x , y+h);
fill(random(0,255));
quad(x , y , x+ l/2 ,y , x+l/2 , y + h/2 , x , y+h/2);
fill(random(0,255));
quad(x+l/2 , y + h/2 , x+l , y+h/2 , x+l , y+h , x+l/2 , y+h);
triangle(x , y , x + l/4 , y , x , y + h/2);
triangle(x + l/4 , y + h/2 , x + l/2 , y + h/2 , x + l/2 , y + h);
fill(random(0,255));
triangle(x + 3*l/4 , y+h/2, x+l , y+h/2 , x + l , y + h);
3.3) Inspiração em obra física de Jesús Soto:
float lar = 10;
float alt = lar * 20;
float x = 100;
float y = 100;
float xAt = x;
float yAt = y;
int cont = 0;
int cont2 = 1;
void setup()
{
size(800,600);
noStroke();
}
void padrao(float l , float h,float x ,float y)
{
fill(0);
quad(x , y , x+l , y , x+l , y+h , x , y+h);
quad(x , y , x+ l/2 ,y , x+l/2 , y + h/2 , x , y+h/2);
quad(x+l/2 , y + h/2 , x+l , y+h/2 , x+l , y+h , x+l/2 , y+h);
fill(255);
triangle(x , y , x + l/6 , y , x , y + h/2);
triangle(x + l/6 , y + h/2 , x + l/2 , y + h/2 , x + l/2 , y + h);
triangle(x + 3*l/4 , y+h/2, x+l , y+h/2 , x + l , y + h);
}
Referências :
Nenhum comentário:
Postar um comentário