Главная » 2017 » Декабрь » 7 » Фановый код
18:54
Фановый код

Было дело вечером, делать было нечего.... Решил написать фановый алгоритм для генерации абстракцийЪ. К делу подошел серьезно и к своему удивлению везде закоментировал код. Собсно и ежу понятно за что и какой параметр отвечает. Возможно я выпущу обновление, но пока встречайте калечную бето версию кода написанного за 15 минут на коленке.

 

 

 

//----------figures----------- вкл\выкл фигуры
boolean squares = true; //кадраты
boolean lines = true; //Линии
boolean round = true; //Круги 
//----------typs--------------
int squaresT = 2; //0 - оба вида, 1 - только контур, 2 - только заливка
//----------colors------------
int maxR = 256; //Максимальная насыщенность красного цвета
int maxG = 0; //Максимальная насыщенность зеленого цвета
int maxB = 100; //Максимальная насыщенность синего цвета
int maxO = 100; //Максимальная прозраьность фигуры
int background[] = {0, 0, 0};//цвет фона в формате крассный, зеленый, синий
//----------sizes-------------
int maxH = 300; //максимальные размеры фигур
int maxW = 50; //H-высота, W-ширина.
//----------counts------------
int squaresC = 20;//   квадраты  \
int linesC = 400;//    линии      ) кол-во
int roundsC = 30;//   круги      /
//----------misc-------------
boolean notEllipses = true; //Запретить кругам становиться овалами
int signature[] = {255, 255, 255}; //цвет подписи в формате крассный, зеленый, синий


void setup() {
  size(1280, 720);//Размер "холста"
  background(background[0], background[1], background[2]);
  if(squares) {
   if(squaresT == 0) {
     STO();
     STT();
   }
   if(squaresT == 1) {
     STO();
   }
   if(squaresT == 2) {
     STT();
   }
  }
  if(lines) {
   L(); 
  }
  if(round) {
   R(); 
  }
  //---------------------Ваша подпись!------------
  fill(signature[0],signature[1],signature[2]);
  text("sing", 10, 10);//подпись ставиться в ""
  //----------------------------------------------
}
void STO() {
  for(int i=0;i<squaresC; i++) {
    int cx = int(random(width));
    int cy = int(random(height));
    int o = 255-int(random(maxO));
    stroke(int(random(maxR)),int(random(maxG)),int(random(maxB)),o);
    rect(cx, cy, int(random(maxW)),int(random(maxH)));
  }
}
void STT() {
  for(int i=0;i<squaresC; i++) {
    int cx = int(random(width));
    int cy = int(random(height));
    int o = 255-int(random(maxO));
    fill(int(random(maxR)),int(random(maxG)),int(random(maxB)),o);
    rect(cx, cy, int(random(maxW)),int(random(maxH)));
  }
}
void L() {
  for(int i=0;i<linesC; i++) {
    int cx = int(random(width));
    int cy = int(random(height));
    int o = 255-int(random(maxO));
    stroke(int(random(maxR)),int(random(maxG)),int(random(maxB)),o);
    line(cx, cy, int(cx+random(maxW*-1)),int(cy+random(maxH*-1)));
  }
}
void R() {
  for(int i=0;i<roundsC; i++) {
    int cx = int(random(width));
    int cy = int(random(height));
    int o = 255-int(random(maxO));
    stroke(int(random(maxR)),int(random(maxG)),int(random(maxB)),o);
    fill(int(random(maxR)),int(random(maxG)),int(random(maxB)),o);
    if(notEllipses) {
      int misc = int(random(maxH));
    ellipse(cx, cy, misc, misc);
    }
    else {
    ellipse(cx, cy, int(random(maxW)),int(random(maxH)));
    }
  }
}

IDE "processing"

Просмотров: 63 | Добавил: semka | Рейтинг: 0.0/0
Всего комментариев: 0
avatar
iplogger.ru - IP Logging Service