Пятница, 19.04.2024, 22:18
Приветствую Вас Гость | RSS
Авторизация
Статистика


Rambler's Top100


Яндекс.Метрика
Контакты
356118831
Mr_Ser_Win
Поиск
Архив записей
Календарь
«  Май 2011  »
ПнВтСрЧтПтСбВс
      1
2345678
9101112131415
16171819202122
23242526272829
3031
Реклама

Книжный портал

Блог

Главная » 2011 » Май » 25 » Фрактал Дерево Пифагора
21:53
Фрактал Дерево Пифагора
Фрактал Дерево Пифагора

Дерево Пифагора — разновидность фрактала, основанная на фигуре, известной как «Пифагоровы штаны».
Если в классическом дереве Пифагора угол равен 45 градусам, то также можно построить и обобщённое дерево Пифагора при использовании других углов. Такое дерево часто называют обдуваемое ветром дерево Пифагора. Если изображать только отрезки, соединяющие каким-либо образом выбранные "центры" треугольников, то получается обнаженное дерево Пифагора.

Алгоритм :
1) Строим вертикальный отрезок
2) Из верхнего конца этого отрезка рекурсивно строим еще 2 отрезка под определенными углами
3) Вызываем функцию построения двух последующих отрезков для каждой ветви дерева

#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <graphics.h>
 
const double Pi = 3.14159;
double n,m;
int max ;
int color;
 
void Draw(double x, double y, double L, double a) { // функция рисования фрактала
 if(L > max) {
 L*=0.7;
 moveto(x,y);
 lineto((int)(x+L*cos(a)),(int)(y-L*sin(a)));
 x=x+L*cos(a);
 y=y-L*sin(a);
 
 // рекурсивный вызов
 Draw(x,y,L,a+Pi/n);
 Draw(x,y,L,a-Pi/m);
 }
}
int main() {
 
 printf("Введите параметры : \n");
 printf("угол по X : Pi/"); // ввести числа от 1 до 10
 scanf("%lf",&n);
 printf("угол по Y : Pi/");
 scanf("%lf",&m);
 printf("глубина рекурсии : "); // чем больше коэф. тем меньше шагов рекурсии // ввести 1 
 scanf("%d",&max);
 
 
 
 
 int gdriver = DETECT, gmode, errorcode; // подключаем графику
 initgraph(&gdriver, &gmode, "");
 errorcode = graphresult();
 if (errorcode != grOk) {
 printf("Graphics error: %s\n", grapherrormsg(errorcode));
 printf("Press any key to halt:");
 getch();
 exit(1);
 }
 Draw(320, 460, 200, Pi/2);
 getch();
 closegraph();
 return 0;
}

Материал  позаимствован с сайта 

Просмотров: 2980 | Добавил: Mr_Ser_Win | Теги: Фракталы | Рейтинг: 5.0/1
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Получить бонус WMR

Вы можете получить WMR-бонус в размере 0,01-0,10 WMR на свой кошелек 1 раз в сутки

Кошелек
Код Защитный код

Обмен Webmoney



Получить больше бонусов
Помощь сайту

Облако тегов
Реклама
Качественный хостинг
Бесплатная раскрутка сайтов и блогов - YouRaise.Ru
Начать Заработок на Блоге
Хранилище фотографий фото хостинг Храни фото здесь!
Драки: дом2 драки
обмен играми Все для геймера!
А ты играл в XBOX 360? продажа развивающие игры в твоем городе
AlfaInternet.Su - Регистрация сайта в каталогах поисковиках

Регистрация сайта в Каталогах
Ваше имя:
Ваш email:
Регистрация при поддержке AlfaInternet.Su
PR-CY.ru