quinta-feira, 15 de setembro de 2016

Atividade 3 - Criar função flor3(x,y,r) e chamar 100 vezes com raios e posições randômicas.


Primeiramente permaneci com a função círculo que foi utilizada em problemas anteriores, que já geral uma ellipse entrando com três parâmetros. Você entra com o raio e ele já põe dos valores dos diâmetros de acordo com seu raio.

void circulo (int x, int y, int r)
{
ellipse(x,y,r*2, r*2);
}

Então criei a função pedida flor3(x,y,r) usando a círculo dentro dela trabalhando já apenas com os três parâmetros que será dado de entrada na função flor3. A primeira posição de círculo é nos locais x e y, e as outras se repetem com o mesmo valor adicionados e/ou subtraídos de r+r/2, assim deixando o círculo da diagonal bem próximo o cículo central a qual deixa a flor exatamente como na imagem acima de referência. 

void flor3 (int x, int y, int r)
{
circulo(x,y,r);
circulo(x+r+r/2,y+r+r/2,r);
circulo(x-r-r/2,y+r+r/2,r);
circulo(x+r+r/2,y-r-r/2,r);
circulo(x-r-r/2,y-r-r/2,r);
}

Como é pedido para ser chamado apenas 100 vezes não podemos colocar na draw, é necessário a criação de um for dentro do setup para controlar que chame apenas cem vezes. Começa em 0 e enquanto x for menor que 100 uma nova flor é chamada, e logo após x incrementado em +1. Quando x for igual a 100 o loop para.

void setup ()
 {
 size (800, 600);
 for (int x=0; x<100; x++)
 {
   fill ((int)random(255),(int)random(255),(int)random(255));
  flor3((int)random(width),(int)random(height),(int)random(30));
 }
 }

Para gerar randomicamente todos os parâmetros foram declarados random com limite de acordo com altura e largura da tela, e o raio você coloca até que tamanho queira que ele varie, no exemplo coloquei 30. Para também alterar as cores em cada flor gerada e facilitar a visualização, o fill foi chamado no padrão RGB com três parâmetros randômicos.

Comentários
0 Comentários

Nenhum comentário:

Postar um comentário

recent posts