Пятница, 19.04.2024, 09:30
Главная | Регистрация | Вход Приветствую Вас Гость | RSS


Меню сайта


Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0


Тестування онлайн
тестування онлайн 


Социальные закладк

Фракталы

В сети опубликовали первый небольшой трехмерный мультфильм, который был полностью сгенерированный компьютером без вмешательства человека. https://sploid.gizmodo.com/this-captivating-sci-fi-short-film-was-randomly-generat-1820115896

Как отмечается, короткий 3D-мультфильм Fraktaal образовался исключительно автоматически сгенерированными фрактальными шаблонами.  «Можно подумать, что я создатель короткометражного  мультфильма - долго моделировал и рисовал его. Но так получилось, что я - ленивый мультипликатор и поэтому Fraktaal был сгенерирован фрактальными паттернами, с помощью которых и появились эти чужие миры и города », - признался голландский художник Джулиус Хорстуис, автор математических алгоритмов, которые использовал компьютер.  https://player.vimeo.com/video/240563157

Джулиус Хорстуис и раньше использовал фракталы в компьютерной анимации, но на этот раз он доверил творчество компьютеру, который использовал созданные им математические и алгоритмы, выдавали рандомно данные на экран. «Благодаря фракталам я могу творить целые миры, и мне не нужно что-то рисовать или моделировать. Эти формы скрываются в формулах, они существуют в математической реальности, а мне нужно только исследовать и заставить их показать себя », - отметил художник.  

К слову, фракталы - это нерегулярные, самоподобные структуры: фигуры, малые части которых в произвольном увеличении подобны ей самой. Термин «фрактал» ввел в 1975 году французско-американский атематик, основатель фрактальной геометрии Бенуа Мандельброт

  1. Геометрические фракталы применяются для получения изображений деревьев, кустов, береговых линий и тому подобное.
  2. Алгебраические и стохастические - для построения ландшафтов, поверхности морей, биологических моделей и других объектов.

 Объекты, которые теперь называются фракталами, исследовались задолго до того, как им было дано такое название. В этноматематике, например в работах Рона Еглаша «Африканские Фракталы», задокументировано распространены фрактальные геометрические фигуры в искусстве туземцев. В 1525 году немецкий художник Альбрехт Дюрер опубликовал свой труд «Руководство Художника», один из разделов которой называется «Черепичные шаблоны, созданные пентагонами» (греч., от pente пять, и gonia угол-  геометрическая фигура, окруженная 5- ю сторонами и 5- ю углами: пятиугольник). Американский художник-абстракционист Джексон Поллок рисовал объекты, очень похожие на фракталы.

Фракталы. Построение.

источник: сайт "ДистОсвiта",Оксана Пасичник:
 
https://dystosvita.gnomio.com/mod/page/view.php?id=2332

Пример 1.Рекурсивные круги

void setup() {
 size(400,400);
 smooth();
}
void draw() {
 background(255);
 stroke(0);
 noFill();
 drawCircle(width/2,height/2,200);
}
void drawCircle(float x, float y, float radius) {
 ellipse(x, y, radius, radius);
 if(radius > 2) {
 drawCircle(x + radius/2, y, radius/2);
 drawCircle(x- radius/2, y, radius/2);
 }
}

 

Пример 2. Рекурсивные квадраты

void setup() {
  size(400,400);
  smooth();
}
void draw() {
  background(255);
  stroke(0);
  noFill();
 

kvadrat(100,100,100);

}

void kvadrat(int x, int y, int n)
{
  if (n>1)
  {
    int x2=x+n;
    int y2=y+n;
    rect(x,y,n,n);
    n=int(n/2);
    kvadrat(x2,y2,n);
  }
}

void setup() {
  size(400,400);
  smooth();//«включает» режим сглаженного рисования
}
void draw() {
  background(255);
  stroke(0);
  noFill();
 

kvadrat(100,100,100);

}

void kvadrat(int x, int y, int n)
{
  if (n>1)
  {
    int x2=x+n;
    int y2=y+n;
    stroke (0,0,255);
//цвет контура  
    strokeWeight(2); //Толщина кисти (контура фигуры)
   fill(0);
    rect(x,y,n,n);
// функция  rect(x,y,width,height)  -  рисует прямоугольник
    n=int(n/2);
    kvadrat(x2,y2,n);
  }
}

Задание.Повернуть квадраты вверх и продолжить вниз:

 

Пример 3. Фрактальные деревья

void setup() {
  size(400,400);
  smooth();//«включает» режим сглаженного рисования
}
void draw() {
  background(255);
  stroke(0);
  noFill();
 

fract(mouseX,mouseY,int(random(100))+20,PI/2);
fract2(mouseX,mouseY,int(random(100))+20,PI/2);
fract3(mouseX,mouseY,int(random(100))+20,PI/2);


}

void fract(int x, int y, float l, float u){
if (l>5) {
  l = l * 0.7;
  line(x,y,round(x+l*cos(u)),round(y-l*sin(u)));  
  x = round(x + l * cos(u));
  y = round(y - l * sin(u));
  fract(x, y, l, u + PI / 4); 
  fract(x, y, l, u - PI / 12); }
}

void fract2(int x, int y, float l, float u){
if (l>5) {
  l = l * 0.7;
  line(x,y,round(x+l*cos(u)),round(y-l*sin(u)));  
  x = round(x + l * cos(u));
  y = round(y - l * sin(u));
  fract(x, y, l, u + PI / 12); 
  fract(x, y, l, u - PI / 4); }
}

void fract3(int x, int y, float l, float u){
if (l>5) {
  l = l * 0.95;
  line(x,y,round(x+l*cos(u)),round(y-l*sin(u)));  
  x = round(x + l * cos(u));
  y = round(y - l * sin(u));
  fract(x, y, l, u + PI / 4); 
  fract(x, y, l, u - PI / 4); }
}

 

 

Пример 4. Треугольник Сперанского

void setup() {
  size(640,500);
  smooth();//«включает» режим сглаженного рисования
}
void draw() {
  background(255);
  stroke(0);
  noFill();
 
int iter=5;

tr(320,10,600,470,40,470);
dr(320,10,600,470,40,470,iter);


}

void tr(float x1, float y1, float x2, float y2, float x3, float y3)
{
  line(int(x1), int(y1), int(x2), int(y2));
  line(int(x2), int(y2), int(x3), int(y3));
  line(int(x3), int(y3), int(x1), int(y1));
}

void dr(float x1, float y1, float x2, float y2, float x3, float y3, int n)
{
if (n>0) {
   float x1n = (x1 + x2) / 2;
   float y1n = (y1 + y2) / 2;
   float x2n = (x2 + x3) / 2;
   float y2n = (y2 + y3) / 2;
   float x3n = (x3 + x1) / 2;
   float  y3n = (y3 + y1) / 2;
   tr(x1n, y1n, x2n, y2n, x3n, y3n);
   dr(x1, y1, x1n, y1n, x3n, y3n, n - 1);
   dr(x2, y2, x1n, y1n, x2n, y2n, n - 1);
   dr(x3, y3, x2n, y2n, x3n, y3n, n - 1);
   }
}

 

 

Форма входа
Поиск
Календарь
«  Апрель 2024  »
ПнВтСрЧтПтСбВс
1234567
891011121314
15161718192021
22232425262728
2930
Архив записей
Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz

  • Рейтинг@Mail.ru
    Copyright MyCorp © 2024
    Конструктор сайтов - uCoz