Poli.school
PCS3021

Geometrias

Veja como criar uma forma geométrica customizada

Vimos anteriormente como desenhar algumas formas geométricas primitivas na plataforma Processing, tais como retângulos, triângulos, círculos e linhas. É possível construir desenhos pela composição dessas formas, mas seria conveniente poder desenhar polígonos irregulares e com qualquer número de lados.

Há uma maneira de criar desenhos no Processing em que basta indicar os pontos (vértices) da forma geométrica desejada, que serão conectados por segmentos de reta. Para isso, devemos indicar que vamos especificar uma forma geométrica, utilizando o comando beginShape. A partir daí, o comando vertex (x, y) deve ser utilizado para definir cada vértice da forma, na ordem em que devem ser conectados, informando sua posição horizontal (x) e vertical (y). Após a definição de todos os pontos da figura, devemos utilizar o comando endShape( ) para sinalizar que a forma está concluída. O Código 4.1 ilustra uma sequência de comandos descrita neste parágrafo.

🧠 Teste seus conhecimentos

Analise as afirmações a seguir e identifique qual contém uma informação INCORRETA sobre o Processing

  • A

    Processing não permite desenhar polígonos arbitrários; só há funções para formas primitivas fixas como rect() e ellipse().

  • B

    A função setup() é executada uma única vez no início, enquanto draw() é chamada repetidamente em loop.

  • C

    Processing foi criado por Casey Reas e Ben Fry no MIT Media Lab, com foco em ensino de programação para artistas e designers.

  • D

    O sistema de coordenadas tem a origem (0,0) no canto superior esquerdo, com o eixo Y crescendo para baixo.

Estrutura básica

Código 4.1 - estrutura geral para definição de formas poligonais no Processing
beginShape();
    vertex(x1,y1);
    vertex(x2,y2);
    vertex(x3,y3);
    vertex(x4,y4);
    // etc;
endShape(CLOSE);

Exemplo

Para um exemplo de como utilizar esses comandos, teste o Código 4.2 e veja que figura é formada.

Código 4.2 - Exemplo de definição de uma forma geométrica utilizando vértices
function setup() {
  createCanvas(800,600);
  beginShape();
    vertex(300,100);
    vertex(400,200);
    vertex(500,100);
    vertex(600,200);
    vertex(600,250);
    vertex(400,500);
    vertex(200,250);
    vertex(200,200);
  endShape(CLOSE);
}
Código 4.2 - Resultado visual
O parâmetro CLOSE passado ao comando endShape(CLOSE) faz com que o último ponto indicado na sequência seja conectado por um segmento de reta ao primeiro. Dessa forma, vamos obter uma forma poligonal fechada, sem precisar adicionar um comando vertex() repetindo o primeiro ponto.

Experimente alterar a segunda linha do Código 4.2 para beginShape(POINTS) e veja que, assim, apenas os pontos vão ser desenhados, sem que eles sejam ligados por segmentos de reta. O comando strokeWeight pode ser usado para aumentar o tamanho da marcação desses pontos. Além de POINTS, o comando beginShape também aceita outras opções como LINES, TRIANGLES, TRIANGLE_FAN, TRIANGLE_STRIP, QUADS, e QUAD_STRIP. Cada uma dessas opções altera a forma como a sequência de vértices é interpretada. Mais detalhes e exemplos podem ser encontrados na referência do Processing.

Copyright © 2026