Korisnički Kontrolni Panel
Pogledajte svoj profil
Pogledajte svoje postove
ČPP
Prijavite se

Matematički forum na kojem možete da diskutujete o raznim matematičkim oblastima, pomognete drugima oko rešavanja zadataka, a i da dobijete pomoć kada vam zatreba


















Index stranica RAZNO MATEMATIČKI SOFTVER

[Perl] Mandelbrot u realnom vremenu sa zumiranjem

  • +1

[Perl] Mandelbrot u realnom vremenu sa zumiranjem

Postod nikola011 » Četvrtak, 23. Jun 2016, 22:51

Program nisam ja napisao, ali je zaista fascinantan. Autor je blokhead, Perl guru sa PerlMonks. Program se pokreće u terminalu i generiše Mandelbrotov skup u realnom vremenu zumirajući deo po deo.

Source:

Kôd: Obeleži sve
#!/usr/bin/perl
 $r=25; $c=80;
                                              $xr=6;$yr=3;$xc=-0.5;$dw=$z=-4/
                                              100;local$";while($q=$dr=rand()
                                             /7){$w+=$dw;$_=join$/,map{$Y=$_*
                                             $yr/$r;
  join""                                    ,map{$                  x=$_*$
 xr/$c;($                                   x,$y)=                 ($xc+$x
  *cos($                                   w)-$Y*               sin$w,$yc+
                                           $x*sin              ($w)+$Y*cos
  $w);$                                   e=-1;$                    a=$b=0
;($a,$b)   =($u-$v+$x,2*$a*               $b+$y)                    while(
$ u=$a*$   a)+($v=$b*$b)<4.5  &&++$e     <15;if                     (($e>$
  q&&$e<   15)||($e==$q and   rand()     <$dr))  {$q=$e;($d0,$d1)   =($x,$
  y); }                        chr(+(   32,96,+  46,45,43,58,73,37  ,36,64
 ,32)[$                        e/1.5]   );}(-$   c/2)..($c/2)-1;}   (-$r/2
 )..($     r/2)-1;select$",     $",$", 0.015;                       system
$^O=~m     ~[wW]in~x?"cls":     "clear";print                       ;$xc=(
$d0+15     *$xc)/16;$yc=($       d1+15*$yc)/                        16;$_*=
1+$z for                         $xr,$yr;$dw                     *=-1 if rand
()<0.02;                          (++$i%110                      )||($z*=-1)}


Ko ima Linux ili neki Unix-based sistem može da sačuva source kao <imefajla>.pl i pokrene ga u Terminalu:

Kôd: Obeleži sve
perl file.pl


Pošto Perl dolazi sa većinom njih. Za Windže sam snimio video (pri pokretanju programa je to mnogo brže):



Inače Perl programeri su poznati po tome da pišu kod koji ni bogotac ne može da razazna :D
 
Postovi: 78
Zahvalio se: 65 puta
Pohvaljen: 18 puta

Sharuj ovu temu na:

Share on Facebook Facebook Share on Twitter Twitter Share on MySpace MySpace Share on Google+ Google+

Povratak na MATEMATIČKI SOFTVER

Ko je OnLine

Korisnici koji su trenutno na forumu: Nema registrovanih korisnika i 25 gostiju


Index stranicaTimObriši sve kolačiće boarda
Danas je Četvrtak, 28. Mart 2024, 10:16 • Sva vremena su u UTC + 1 sat
Pokreće ga phpBB® Forum Software © phpBB Group
Prevod – www.CyberCom.rs