Poli.school
Geometrias

Formas Geométricas Irregulares (Shape)

Veja como criar uma forma geométrica customizada

Você já viu como desenhar algumas formas geométricas primitivas no Processing, tais como retângulos, triângulos, círculos e linhas. Mas e se você quiser criar algum polígono ou algum desenho que não se enquadra em nenhuma dessas opções, com o formato que você quiser?

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.

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);
}
Carregando sketch…
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