НГУ

Форумы НГУ
Текущее время: Сб ноя 18, 2017 10:52 pm

Часовой пояс: UTC + 7 часов




Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
Автор Сообщение
СообщениеДобавлено: Вт янв 19, 2010 3:56 pm 
Не в сети
Редкий гость

Зарегистрирован: Вт янв 19, 2010 3:01 pm
Сообщения: 2
Уже не знаю куда обращаться.
Гуглю четыре дня подряд, начиталась чего только можно.
Сроки поджимают, а мне всего-то необходима программа построения фракталов, на с# или Яве.. Верней код... какой нибудь не мудрённый, ничего сверхъестественного...
Может найдётся кто-нибудь, кто объяснит как реализовать...

P.S Прошу извинить за пост. Админы, через неделю можно удалить =(


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Сб янв 23, 2010 1:47 pm 
Не в сети
Опытный автор

Зарегистрирован: Сб сен 01, 2001 7:00 am
Сообщения: 471
Да пожалуйста! =)
Java апплет с исходниками: http://fractals.nsu.ru/construction/man ... pplet.html
и описание алгоритма.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт янв 28, 2010 9:39 am 
Не в сети
Редкий гость

Зарегистрирован: Вт янв 19, 2010 3:01 pm
Сообщения: 2
Спасибо за ответ... Есть альтернатива ещё. Может кому пригодится. На делфи. геометрический фрактал - Салфетка Серпинского (треугольник)
unit Unit1;

interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Spin, ExtCtrls;

type
TForm1 = class(TForm)
// кнопка
Button1: TButton;
// картинка, где рисуется
Image1: TImage;
// кол-во итерации
SpinEdit1: TSpinEdit;
// обычная надпись
Label1: TLabel;
// Необходимые процедуры :
// первая - вызывается по нажатию кнопки
procedure Button1Click(Sender: TObject);
// вторая - непосредственно алгоритм итерации (рекурсивная она)
procedure Serp(x1, y1, x2, y2, x3, y3, n: integer);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

procedure TForm1.Serp(x1, y1, x2, y2, x3, y3, n: integer);

var

// координаты трех вершин треугольника
x12, y12, x22, y22,x32, y32: integer;

begin

// если кол-во итерации больше 0, то выполняем

If n>0 then

begin

// это непосредственно сам процесс деления на 2 всех сторон треугольника, чтобы узнать координаты новых

x12:=(x1+x3) div 2;

y12:= (y3+y1) div 2;

x22:= (x1+x2) div 2;

y22:= (y1+y2) div 2;

x32:= (x3+x2) div 2;

y32:= (y3+y2) div 2;

// рисуем всё полученное на картинке по новым координатам

Image1.Canvas.MoveTo(x12, y12);

Image1.Canvas.LineTo(x22, y22);

Image1.Canvas.MoveTo(x22, y22);

Image1.Canvas.LineTo(x32, y32);

Image1.Canvas.MoveTo(x32, y32);

Image1.Canvas.LineTo(x12, y12);

// делаем рекурсивно для трех новых вершин

Serp(x1, y1, x22, y22, x12, y12, n-1);

Serp(x12, y12, x32, y32, x3, y3, n-1);

Serp(x22, y22, x2, y2, x32, y32, n-1);

end;

end;


procedure TForm1.Button1Click(Sender: TObject);

var x1, y1, x2, y2, x3, y3: integer;

begin

Image1.Canvas.FillRect(clientrect);

// полуачем по нажатию кнопки наш исходный треугольник

x1:=Image1.Width div 2;

y1:=10;

x2:=Image1.Width-10;

y2:=Image1.Height-10;

x3:=10;

y3:=Image1.Height-10;

// рисуем его по полученным координатам

Image1.Canvas.MoveTo(x1, y1);

Image1.Canvas.LineTo(x2, y2);

Image1.Canvas.MoveTo(x2, y2);

Image1.Canvas.LineTo(x3, y3);

Image1.Canvas.MoveTo(x3, y3);

Image1.Canvas.LineTo(x1, y1);

// вызываем процесс рисовани салфетки

Serp(x1, y1, x2, y2, x3, y3, StrToInt(SpinEdit1.Text))

end;


end.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 3 ] 

Часовой пояс: UTC + 7 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB