As determinações da lei estabeleciam o seguinte para as proporções da bandeira:
- 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.
- O comprimento será de vinte módulos (20M).
- A distância dos vértices do losango amarelo ao quadro externo será de um módulo e sete décimos (1,7M).
- O círculo azul no meio do losango amarelo terá o raio de três módulos e meio (3,5M).
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);
}