LINUX.ORG.RU

Фрактал


0

0

Собственно говоря задали мне в универе накалякать программу, способную отображать некий заданный фрактал. Ищутся методы реализации. Все предложения по делу приветствуются.

Пока что остановился на GTK+Cairo

Ответ на: комментарий от anonymous

>Python+Python Imaging Library

Я владею только C/C++.

unrealix
() автор топика
Ответ на: комментарий от unrealix

что такой бледный, будто анноимуса увидел? Перекрестись и поплюй через левое плече, на лукавого.

wfrr ★★☆
()

черепашья графика или точки итерировать

dimon555 ★★★★★
()

metapost

Более простого способа рисовать фракталы не знаю.

balodja ★★★
()
main(n)
{
        float r,i,R,I,b;
        for(i=-1;i<1;i+=.06,puts(""))
                for(r=-2;I=i,(R=r)<1;r+=.03,putchar(n+31))
                        for(n=0;b=I*I,26>n++&&R*R+b<4;I=2*R*I+i,R=R*R-b+r);
}
beastie ★★★★★
()

postscript — рендериться будет сразу в принтере (если он умеет postscript, конечно)

%!PS-Adobe-1.0
%%Title:Random Fern
%%Creator:Eric Wicklund
% Last modified: MLO 02 Jan 1993 11:24:14
% Changed: 'save' and 'restore' statements (incorrect grammar);
% length added, and set to 0.001 (0 does not work with Post 1.7).
/m1 [ 0.00 0.00 0.00 0.16 0.00 0.00 ] def
/m2 [ 0.85 -0.04 0.04 0.85 0.00 1.60 ] def
/m3 [ 0.20 0.23 -0.26 0.22 0.00 1.60 ] def
/m4 [ -0.15 0.26 0.28 0.24 0.00 0.44 ] def
/point 72 def
%/length 0 def
/length 0.001 def
%%EndProlog
%%Page: 1 1
/zzz save def
% will draw inside a 8 inch square centered on 8.5 by 11 inch page
4.25 point mul 1.5 point mul translate
0.8 point mul dup scale
% x coordinate ranges from -5 to 5
% y coordinate ranges from 0 to 10
1 setlinecap
0.005 setlinewidth
% First point at origin
0 0
250000 {
% Pick a transformation matrix probabilistically
   /r rand 100 mod def
   r 1 lt { /m m1 def }
 { r 86 lt { /m m2 def }
 { r 93 lt { /m m3 def }
           { /m m4 def } ifelse } ifelse } ifelse
% Make a linear transformation, then
% plot a point at current location
   m transform 2 copy moveto
   length length rlineto
   stroke
} repeat
showpage
zzz restore
%%Trailer
sdio ★★★★★
()

MetaPost — самое простое. Например:

vardef dragon(expr A, B, N) =
    save C; pair C;
    C := 1/2[A,B]+(1/2[A,B]-A) rotated -90;
    if N > 1:
        dragon(A,C,N-1);
        dragon(B,C,N-1);
    else:
        draw A--C--B;
    fi;
enddef;
beginfig(1);
N := 13;
dragon((0,0),(5cm,0),N);
endfig;
end.

lomereiter
()
Ответ на: комментарий от beastie

Если расфокусировать взгляд, то в этой мешанине символов отчетливо проступает "rm -rf" со стереоэффектом. К чему бы это?

mannaz
()
Ответ на: комментарий от anonymfus

> Напиши на OpenCL, будет альтернатива вот этому шедевру на DX11 (кстати, открытому, но без лицензии):
>

> http://forum.beyond3d.com/showthread.php?t=55330


Вот тут чувак рассказывает про свою реализацию на CUDA. Правда она Windows-only.

http://www.reddit.com/r/programming/comments/a1f9t/got_a_cuda_capable_video_c...

eXire ★★
()
Ответ на: комментарий от eXire

> Вот тут чувак рассказывает про свою реализацию на CUDA. Правда она Windows-only.

ЗЫ: софтина opensource, естественно.

eXire ★★
()

gnofract4d как раз заточен под рисование фракталов. Можно грабить ко вставлять свои формулы фракталов. На сорсфордже лежит

Zloddey
()
Ответ на: комментарий от anonymfus

Напиши на OpenCL, будет альтернатива вот этому шедевру на DX11 (кстати, открытому, но без лицензии):

Зачем там OpenCL? Я года четыре назад множество мандельброта рисовал на GLSL-шейдере в реальном времени с анимацией =).

Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.