terça-feira, 27 de outubro de 2015

Bandeira Nacional

Na aula do dia 27/10/2015, foi dado como atividade em sala de aula que fosse produzida através do Processing uma imagem que fosse semelhante a bandeira do Brasil, obedecendo as proporções estabelecidas na lei nº 5.700. Nesta atividade, foi recomendado que fossem produzidos apenas as três formas fundamentais da bandeira: um retângulo, o losango e a circunferência no centro.

As determinações da lei estabeleciam o seguinte para as proporções da bandeira:


  1. Para cálculo das dimensões, tomar-se-á por base a largura desejada, dividindo-se esta em 14 (quatorze) partes iguais. Cada uma das partes será considerada uma medida ou módulo.
  2. O comprimento será de vinte módulos (20M).
  3. A distância dos vértices do losango amarelo ao quadro externo será de um módulo e sete décimos (1,7M).
  4. O círculo azul no meio do losango amarelo terá o raio de três módulos e meio (3,5M).
Com estas instruções, foi pedido que fosse feita uma função chamada mostraBandeiraBrasil(x, y, l), sendo os parâmetros x e y relativos ao centro da bandeira e l relativo ao comprimento que ela teria.

Com estas informações, comecei a produzir o retângulo da bandeira. Considerando a distância entre o centro e o lado da mesma, calculei que deveria considerar uma distância x de 10 módulos e uma distância y de 7 módulos para a origem do retângulo.

Em seguida, considerei as distâncias necessárias para ser produzido o losango utilizando a função quad() do Processing. Para cada um dos vértices, calculei a distância que era necessário ele estar tanto do centro da figura enquanto respeitava o limite de deixa-los a 1,7 módulos de distância de cada lado do retângulo.

Finalmente, foi feita a circunferência com raio de 3,5 módulo.

Segue o código abaixo que utilizei, junto com uma imagem demonstrando o código funcionando.


void setup(){
  size(800, 600); 
}

void mostraBandeiraBrasil(float x, float y, float l){
  //determinação do tamanho de cada módulo
  float modulo = l/14;
  //determinação do raio da circunferência a partir do módulo
  float raio = 3.5*modulo;
  //retângulo com o preenchimento verde
  fill(#00ff00);
  rect(x-10*modulo, y-7*modulo, 20*modulo, 14*modulo);
  //losango com o preenchimento amarelo
  fill(#ffff00);
  quad(x - 8.3*modulo, y, x, y-5.3*modulo, x+8.3*modulo, y, x, y+5.3*modulo);
  //circunferência com o preenchimento azul
  fill(#0000ff);
  ellipse(x, y, raio*2, raio*2);
}

void draw(){
   
   mostraBandeiraBrasil( 400, 300, 300); 

}








Nenhum comentário:

Postar um comentário