domingo, 15 de março de 2015

Função flor

Em aula aprendemos a desenhar uma flor de esferas iguais alinhadas com o diâmetro da esfera central.


Segue o código:

void setup (){
  size (600, 600);
}

void draw() {
 flor2 (300, 300, 60);
}

void circulo (int x, int y, int r) {
  ellipse (x, y, 2*r, 2*r);
}

void flor (int x, int y, int r) {
  circulo (300, 300, 20);
  circulo (300 + 40, 300, 20);
  circulo (300, 300 + 40, 20);
  circulo (300 - 40, 300, 20);
  circulo (300, 300 - 40, 20);
}

/* com esse código a flor é desenhada proporcionalmente em qualquer tamanho, dependendo do valor atribuído à variável "r" */

void flor2 (int x, int y, int r) {
  circulo (300, 300, r);
  circulo (300 + 2*r, 300, r);
  circulo (300, 300 + 2*r, r);
  circulo (300 - 2*r, 300, r);
  circulo (300, 300 - 2*r, r);
}


Agora o desafio da atividade é desenhar uma flor com as quatro "pétalas" na diagonal em relação ao círculo central.


Segue o código:

void setup (){
  size (600, 600);
}

void draw() {
 florDiag (300, 300, 40);
}

void circulo (int x, int y, int r) {
  ellipse (x, y, 2*r, 2*r);
}

void florDiag(int x, int y, int r)
{

//a variável "d" corresponde ao diâmetro

  int d = 2*r;

  float diag = d * sqrt(2); 
  circulo(x, y, r);
  circulo(x + int(diag/2), y + int(diag/2), r);
  circulo(x - int(diag/2), y - int(diag/2), r);
  circulo(x + int(diag/2), y - int(diag/2), r);
  circulo(x - int(diag/2), y + int(diag/2), r);
  
}





Nenhum comentário:

Postar um comentário