Алгоритм построения листа папоротника

Форум пользователей пакета Mathcad

Модератор: Admin

volkandrey
Сообщения: 2
Зарегистрирован: Ср июн 03, 2009 6:41 pm

Алгоритм построения листа папоротника

Сообщение volkandrey » Ср июн 03, 2009 6:43 pm

Фракталы, кто сталкивался?
Есть алгоритм построения листа папоротника написанный на паскале,
требуется реализация в маткаде, вроде бы алгоритм не сложный, только вот с синтаксисом маткада я не знаком. Кто в курсе? Ниже собственно алгоритм на паскале.

program farn;
uses crt,graph;
const
a:array[1..4] of real = (0, 0.167, -0.155, 0.849);
b:array[1..4] of real = (0, -0.226, 0.283, 0.037);
c:array[1..4] of real = (0, 0.226, 0.26, -0.037);
d:array[1..4] of real = (0.16, 0.157, 0.237, 0.849);
e:array[1..4] of real = (0, 0, 0, 0);
f:array[1..4] of real = (0, 1.6, 0.44, 1.6);
p:array[1..4] of real = (0.03, 0.14, 0.27, 1.0);

var k: integer;
i: longint;
x, x1, y, pk : real;
procedure GraphInit;
var Graphdriver, Graphmode: integer;
begin
Graphdriver:= Detect;
Initgraph(Graphdriver, Graphmode, '\BP\bgi');
SetgraphMode (GraphMode);
cleardevice;
end;
begin
GraphInit;
randomize;
x:= 0; y:= 0;
for i:= 1 to 75000 do
begin
pk:= random;
if pk <= p[1] then k:= 1
else if pk <=p[2] then k:= 2
else if pk <=p[3] then k:= 3
else if pk <=p[3] then k:= 3
else k:= 4;
x1:= a[k] * x + b[k] * y + e[k];
y:= c[k] * x +d[k] * y + f[k];
x:= x1;
putpixel(round(x*50)+320, 430-round(y*40),10);
end;
repeat until keypressed;
closegraph;
textmode(lastmode)
end.
Лучший интерфейс, сделанный через жо-у, потому что всё делается через неё.

VFO
Сообщения: 4227
Зарегистрирован: Ср фев 27, 2002 8:03 pm

Сообщение VFO » Ср июн 03, 2009 9:00 pm


volkandrey
Сообщения: 2
Зарегистрирован: Ср июн 03, 2009 6:41 pm

Алгоритм построения листа папоротника

Сообщение volkandrey » Ср июн 03, 2009 9:45 pm

Фрактал на MAS
http://twt.mpei.ac.ru/MAS/Worksheets/mandelbrot.mcd

Да спасибо, этот ресурс просматривал. Хотелось бы лист папоротника.
Пока пытаюсь реализовать, но не пойму синтаксиса вложенных условий в цикл.
Лучший интерфейс, сделанный через жо-у, потому что всё делается через неё.

IVVA
Сообщения: 1036
Зарегистрирован: Вт апр 05, 2005 6:44 pm

Сообщение IVVA » Сб июн 06, 2009 11:54 am

Папоротника нет,а ветка есть.
Изображение

Коробов В И
Сообщения: 156
Зарегистрирован: Вт янв 15, 2008 6:43 pm

Сообщение Коробов В И » Пт дек 02, 2011 9:38 pm

Что-то вдруг папоротник вспомнился...
Изображение

IVVA
Сообщения: 1036
Зарегистрирован: Вт апр 05, 2005 6:44 pm

Сообщение IVVA » Пт дек 02, 2011 10:21 pm

Владимир Иванович, спасибо!
Вот папоротника у меня-то и не было :)

VFO
Сообщения: 4227
Зарегистрирован: Ср фев 27, 2002 8:03 pm

Сообщение VFO » Сб дек 03, 2011 9:42 am

Новые Mathcad-фракталы выложены на сайте Планета PTC:
http://communities.ptc.com/videos/2355
http://communities.ptc.com/videos/1795
Сейчас попробую ветку папортника анимировать.

Vladimir__
Сообщения: 1660
Зарегистрирован: Вс дек 21, 2003 8:52 am

Сообщение Vladimir__ » Сб дек 03, 2011 1:53 pm

Коробов В И писал(а):Что-то вдруг папоротник вспомнился...
Изображение


Файл Mathcad (для версий 12, 15) с данным примером построения папоротника:
http://ifolder.ru/27341649

Коробов В И
Сообщения: 156
Зарегистрирован: Вт янв 15, 2008 6:43 pm

Сообщение Коробов В И » Вс дек 04, 2011 6:30 pm

Или:
Изображение

VFO
Сообщения: 4227
Зарегистрирован: Ср фев 27, 2002 8:03 pm

Сообщение VFO » Пн дек 05, 2011 11:21 am

Коробов В И писал(а):Или:
Изображение

Вечером на нашем форуме - утром - на главном:
http://communities.ptc.com/videos/2414

Korobov V I
Сообщения: 1609
Зарегистрирован: Вт янв 21, 2003 5:12 pm

Сообщение Korobov V I » Чт дек 08, 2011 6:53 pm

Тот же папоротник вместе с еще 100 фракталами:
на Mathcad Calculation Server
http://twt.mpei.ac.ru/MCS/Worksheets/101Fractals.xmcd
видео на большом форуме
http://communities.ptc.com/videos/2426