Лабораторная работа №3.1
 «Разработка функций для построения фракталов»

Задание:

Разработайте алгоритмы и напишите функции для построения ниже описанных фрактальных изображений. Исходные данные для функций определите самостоятельно, учитывая, чтобы у пользователя было как можно больше параметров для определения фрактального изображения.

 

Отчет о выполненной работе должен содержать:

 

1.Ветка:

n=4

2.Снежинка:

n=3

3.Множество Кантора:

n=4

 

4.Снежинка Коха:

 

5. Фрактальное дерево с использованием случайных чисел:

«дизайн» дерева разработать свой уникальный

 

Можно начать с этих источников:

http://fractalworld.xaoc.ru/Creating_fractal_trees

http://www.opita.net/node/603

 

Треугольник Серпинского (пример):

http://upload.wikimedia.org/wikipedia/commons/thumb/b/b7/SierpinskiTriangle.PNG/220px-SierpinskiTriangle.PNG

 

Пример на Python с использованием черепашки:

import turtle

turtle.reset()

turtle.speed(10000)

 

def TRI(x1,y1,x2,y2,x3,y3, N):

 if N>0:

       x12=(x1+x2)//2

       y12=(y1+y2)//2

       x23=(x2+x3)//2

       y23=(y2+y3)//2

       x31=(x3+x1)//2

       y31=(y3+y1)//2

       turtle.pu()

       turtle.goto(x31,y31)

       turtle.pd()

       turtle.goto(x12,y12)

       turtle.goto(x23,y23)

       turtle.goto(x31,y31)

       TRI(x1,y1,x12,y12,x31,y31, N-1);

       TRI(x2,y2,x12,y12,x23,y23, N-1);

       TRI(x3,y3,x31,y31,x23,y23, N-1)

 

x1=20

y1=-200

x2=339

y2=279

x3=-300

y3=279

n=4

turtle.pu()

turtle.goto(x1,y1)

turtle.pd()

turtle.goto(x2,y2)

turtle.goto(x3,y3)

turtle.goto(x1,y1)

TRI(x1,y1,x2,y2,x3,y3, n);

turtle.exitonclick()