terça-feira, 3 de maio de 2016

Aula 4 - Flor 'X'




void setup() {
  size(500, 500);
  frameRate(1);
}

void draw() {
  background(0);
  fill(random(255), random(255), random(255));
  for (int i = 0; i <= 100; i++) {
    flower3(random(width), random(height), random(3, 25));
  }
}

void circle(float x, float y, float r) {
  ellipse(x, y, r*2, r*2);
}

void flower1(float x, float y) {
  circle(x, y, 50);
  circle(x+100, y, 50);
  circle(x, y+100, 50);
  circle(x, y-100, 50);
  circle(x-100, y, 50);
}

void flower2(float x, float y, float r) {
  circle(x, y, r);
  circle(x+r*2, y, r);
  circle(x, y+r*2, r);
  circle(x, y-r*2, r);
  circle(x-r*2, y, r);
}

void flower3(float x, float y, float r) {
  circle(x, y, r);
  for (int i =0; i < 4; i++) {
    circle(x+cos(TAU/4*i+PI/4)*r*2, y+ sin(TAU/4*i+PI/4)*r*2, r);
  }
}

Para fazer a flor em 'X' eu me utilizei da trigonometria, posicionando as pétalas a cada 1/4 (90º ou π/2) de rotação a partir de 1/8 (45º ou π/4) de rotação a uma distância de 2*raio entre o centro dos círculos.

Nenhum comentário:

Postar um comentário

Pode falar, eu não mordo... Pelo menos não através da internet