6. Discutir o emprego das instruções quad, beginShape e endShape, rectMode e ellipseMode do Processing na construção da bandeira do Brasil, considerando a Lei Federal Nº 5.700
LF 5700, S. II, A. 5 - 01/09/1971
I - Para cálculo das dimensões, tomar-se-á por base a altura desejada, dividindo-se esta em 14 partes iguais. Cada uma das partes será considerada uma medida ou módulo.
II - A largura total será de 20 módulos.
III - A distância dos vértices do losango ao quadro externo será de um módulo e sete décimos.
IV - O círculo no meio do losango terá o raio de três módulos e meio.
Código:
float altura = 300;
float m = altura/14;
void setup(){
size(800,600);
}
void draw(){
//retangulo
noStroke();
fill(0, 156, 59);
rectMode(CENTER);
rect(width/2, height/2, m*20, m*14);
//losango
fill(255, 223, 0);
beginShape();
vertex((width/2)-(m*8.3), height/2);
vertex((width/2), height/2-(m*5.3));
vertex((width/2)+(m*8.3), height/2);
vertex((width/2), height/2+(m*5.3));
endShape(CLOSE);
//circulo
fill(0, 39, 118);
ellipseMode(RADIUS);
ellipse(width/2, height/2, 3.5*m, 3.5*m);
}
De acordo com a Lei Federal No 5.700 deve-se definir uma altura para a bandeira e desta altura retirar a medida principal dividindo-a por 14, essa medida que servirá de base para todos os tamanhos e posicionamentos das figuras da bandeira, chamarei de módulo, este deve ser float, pois quase nunca o resultado da divisão por 14 será um número inteiro. Nesse código trabalhei com uma bandeira de altura 300 pixels, portanto módulo = 300/14.
Para criar o retângulo utilizei as funções noStroke() e fill() para retirar a borda e preencher o retângulo com o verde da bandeira, respectivamente. A função noStroke() só foi usada essa única vez, pois funciona para todas as figuras abaixo do comando. Usei o rectMode(CENTER) para que facilmente o retângulo fosse posicionado no centro da tela.
Para iniciar o losango, usei o fill() para pinta-lo de amarelo e utilizei os comando beginShape(), vertex() e endShape() para desenhar o losango na tela. Os três comandos são realizados em conjunto afim de desenhar qualquer tipo de polígono, pontos ou linhas na tela, beginShape() como o nome sugere, inicia a sequência de vértices que serão desenhados pelo comando vertex(), e no fim temos o endShape() para sinalizar que aquela figura esta completa. Essa figura também poderia ser construída a partir da função quad() que é utilizada para desenhar quadriláteros no geral, regulares ou irregulares, recebe 8 ou 4 pares de parâmetros, cada par corresponde a coordenada de um vértice da figura, primeiro o eixo X, depois o eixo Y.
Depois, partindo para o circulo, usei o fill() para que ele ficasse azul, e o ellipseMode(RADIUS) para definir o raio horizontal e vertical da elipse, mantendo-a no centro da tela.
Resultado:
LF 5700, S. II, A. 5 - 01/09/1971
I - Para cálculo das dimensões, tomar-se-á por base a altura desejada, dividindo-se esta em 14 partes iguais. Cada uma das partes será considerada uma medida ou módulo.
II - A largura total será de 20 módulos.
III - A distância dos vértices do losango ao quadro externo será de um módulo e sete décimos.
IV - O círculo no meio do losango terá o raio de três módulos e meio.
Código:
float altura = 300;
float m = altura/14;
void setup(){
size(800,600);
}
void draw(){
//retangulo
noStroke();
fill(0, 156, 59);
rectMode(CENTER);
rect(width/2, height/2, m*20, m*14);
//losango
fill(255, 223, 0);
beginShape();
vertex((width/2)-(m*8.3), height/2);
vertex((width/2), height/2-(m*5.3));
vertex((width/2)+(m*8.3), height/2);
vertex((width/2), height/2+(m*5.3));
endShape(CLOSE);
//circulo
fill(0, 39, 118);
ellipseMode(RADIUS);
ellipse(width/2, height/2, 3.5*m, 3.5*m);
}
De acordo com a Lei Federal No 5.700 deve-se definir uma altura para a bandeira e desta altura retirar a medida principal dividindo-a por 14, essa medida que servirá de base para todos os tamanhos e posicionamentos das figuras da bandeira, chamarei de módulo, este deve ser float, pois quase nunca o resultado da divisão por 14 será um número inteiro. Nesse código trabalhei com uma bandeira de altura 300 pixels, portanto módulo = 300/14.
Para criar o retângulo utilizei as funções noStroke() e fill() para retirar a borda e preencher o retângulo com o verde da bandeira, respectivamente. A função noStroke() só foi usada essa única vez, pois funciona para todas as figuras abaixo do comando. Usei o rectMode(CENTER) para que facilmente o retângulo fosse posicionado no centro da tela.
Para iniciar o losango, usei o fill() para pinta-lo de amarelo e utilizei os comando beginShape(), vertex() e endShape() para desenhar o losango na tela. Os três comandos são realizados em conjunto afim de desenhar qualquer tipo de polígono, pontos ou linhas na tela, beginShape() como o nome sugere, inicia a sequência de vértices que serão desenhados pelo comando vertex(), e no fim temos o endShape() para sinalizar que aquela figura esta completa. Essa figura também poderia ser construída a partir da função quad() que é utilizada para desenhar quadriláteros no geral, regulares ou irregulares, recebe 8 ou 4 pares de parâmetros, cada par corresponde a coordenada de um vértice da figura, primeiro o eixo X, depois o eixo Y.
Depois, partindo para o circulo, usei o fill() para que ele ficasse azul, e o ellipseMode(RADIUS) para definir o raio horizontal e vertical da elipse, mantendo-a no centro da tela.
Resultado:
Comentários
Postar um comentário