sábado, 21 de março de 2015

Atividade 6

- Recriar o símbolo do Yin-Yang, depois gere 100 símbolos com tamanhos e cores aleatórias.

código:

função yinyang()
primeiramente são dados os parâmetros da função (x, y e mod (módulo))
usa-se a função noStroke para evitar borda nas figuras.
void yinyang(int x, int y, int mod){
  noStroke();



o objetivo da atividade é criar o símbolo com cores aleatórias, para isso, usa-se a função color e atribui-se a cor achada aleatoriamente à uma variável.
  color c = color(random(0,255),random(0,255),random(0,255));
  color c2 = color(random(0,255),random(0,255),random(0,255));



Primeiramente é criado um arco preto aberto.
  fill(c);
  arc(x, y - 4*mod,8*mod,8*mod,PI,2*PI,OPEN); //arco preto exterior




depois, cria-se um arco branco aberto e de tamanho menor, para ficar dentro do arco preto e dá a
sensação de curvatura.
  arc(x - 2*mod, y - 4*mod,4*mod,4*mod,PI,2*PI,OPEN); //arco branco interior




depois, o mesmo processo é feito para a parte de baixo da figura, só que agora com cores inversas
  arc(x, y - 4*mod,8*mod,8*mod,0,PI,OPEN);//arco branco exterior
  arc(x + 2*mod,y - 4*mod,4*mod,4*mod,0,PI,OPEN); //arco preto interior




Para fazer as esferas de dentro do símbolo, usa-se a função ellipse e são criadas duas ellipses, uma branca e uma preta.

  ellipse(x - 2*mod, y - 4*mod, mod, mod);// ellipse preta
  fill(c2);
  ellipse(x + 2*mod,y - 4*mod,mod,mod);// ellipse branca




na função setup(), utiliza-se a função smooth para suavizar as arestas dos arcos.
função noStroke utilizada novamente para garantir que todas as arestas sejam retiradas.
estabelece-se o tamanho da tela.

void setup(){
  smooth();
  noStroke();
  size(600,400);


Para fazer o que foi pedido na tarefa, é criado uma condição e ela começa do 0 e conta até 100, assim criando 100 símbolos. a função yinyang() então é chamada e em seus paramêtros são colocados valores randômicos para que o símbolo seja criado em posições diferentes e em tamanhos diferentes. ( a função é int é utilizada para evitar que o random dê um número real.)

  for(int i=0; i < 100; i++){
    yinyang(int(random(0,600)),int(random(0,400)), int(random(10,50)));


Resultado:





Nenhum comentário:

Postar um comentário