Desenhando polígonos - I
Primeiro contato
Processing oferece funções para desenhar triângulos triangle()
e quadriláteros quad()
que são chamadas usando 3 e 4 pares de números, as coordenadas para 3 e 4 vértices, respectivamente. Veja o exemplo a seguir:
Mas e se quisermos desenhar um polígono com 5, 6 ou com um número arbitrário de vértices?
Neste caso usamos um conjuto de funções!
Tudo começa com beginShape()
, seguido da repetição da função vertex()
para cada vértice, terminando com endShape()
. Quando usado com a constante CLOSE
, endShape(CLOSE)
, produz polígonos fechados.
size(400, 200)
beginShape() # inicia o polígono da esquerda
vertex(10, 10)
vertex(50, 50)
vertex(190, 30)
vertex(90, 150)
vertex(30, 100)
endShape() # polígono aberto
beginShape() # inicia o polígono da direita
vertex(210, 10)
vertex(250, 50)
vertex(390, 30)
vertex(290, 150)
vertex(230, 100)
endShape(CLOSE) # polígono fechado
Desenhando uma estrela de quatro pontas
Vejamos um exemplo que combina a estrutura que vimos antes com o uso de variáveis para calcular a posição dos vértices, formando um estrela!
size(400, 400)
background(0, 0, 200) # um fundo azul
x, y = width / 2, height / 2 # coordenadas do centro
largura_total, largura_menor = 250, 150
a = largura_total / 2
b = largura_menor / 2
beginShape()
vertex(x - a, y - a)
vertex(x - b, y)
vertex(x - a, y + a)
vertex(x , y + b)
vertex(x + a, y + a)
vertex(x + b, y)
vertex(x + a, y - a)
vertex(x , y - b)
endShape(CLOSE)
Assuntos relacionados
- Animando uma estrela com
setup()
,draw()
e o movimento do mouse. - Usos mais avançados de
beginShape()
na referência. - Criando os vértices a partir de estruturas de dados com laços de repetição e como fazer polígonos com furos.
- Crie estrelas de muitas pontas usando laços de repetição
while
.