|
[dnes je 19. května 2013] POZOR! Tento článek byl naposledy aktualizován před více než dvěma lety!
Je možné, že následující stránka obsahuje odkazy, které dnes již nejsou funkční,
nebo že některé informace uvedené v tomto článku se v průběhu času ukázaly jako
prokazatelně chybné. Pokud jakoukoliv podobnou závadu zjistíte, tak neváhejte
napsat co nejpřesnější popis závady do veřejného komentáře pod článkem: redakce
TečkyCZ nové komentáře neustále sleduje, a to i pod těmi nejstaršími články.
V celé řadě případů lze chyby snadno opravit - např. se stává,
že video na YouTube bylo smazáno a znovu nahráno pod jiným id. V jiných případech
někdo zase zakáže embedovaní videa, která přitom existuje ve více kopiích, nebo se
z webu ztratí stránka umístěná na negarantovaném freehostingu, zatímco původní autor stránek
si mezitím zaregistruje vlastní doménu, atd.
Děkujeme všem, kteří pomáhají opravovat chyby ve starších webových stránkách a
udržují tak Internet naživu - redakce TečkyCZ.
Mandelbrotova množina v Bashi? A proč ne?xChaos 26. června 2010 [4773 znaků] [editováno 21. března 2011] [HowKnow]
★★★★ [ + ] 6 [8x] [ - ] Zobrazení 3667 ← RSS 513 fb 20 twitter 47 google 51 seznam 3 bot 623 Komentářů 1
Někteří čtenáři tohoto článku možná ještě pamatují dobu, kdy z časopisu o programování vlastnoručně opsali do svého 8bitového počítače krátký prográmek v Basicu, který jim pak po několika hodinách tvrdé práce vyplnil televizní obrazovku vybraným výřezem Mandelbrotovy množiny... #fractal #nonlinear #bash #unix #linux #programming

Zoomování fraktálním Mandelbrotovým diagramem [en.wikipedia.org] byla na pomalých 8bitových počítačích (64 KB RAM + CPU taktované podle typu na 1-4 Mhz - ale fakticky to taktování nehrálo až takovou roli, protože podstatný byl i počet cyklů potřebných na zpracování průměrné strojové instrukce) dost úmorná činnost. Zvlášť, pokud byl program pro vykreslování fraktálu naprogramován v pomalém a navíc ještě interpretovaném jazyce Basic [root.cz]. Vykreslování vícebarevné obrazovky v plném rozlišení mohlo při tehdejší rychlosti výpočtu trvat celé hodiny. A když jste stáli o zoom, tak bez ohledu na to, zda bylo třeba editovat zdrojový kód programu, a nebo autoři dodali nějakou elegantní automatizaci (např. výběr výřezu joystikem, apod.), tak jste pak na zobrazení výřezu čekali další hodiny. Na druhou stranu - to také vypovídá něco o tom, jakým druhem aktivity bylo používání 8bitových počítačů: zdaleka nešlo o takové vtažení do nekončícího proudu interaktivní multimediální záplavy, jakou je požívání PC dneska. Tehdy jste zapnuli nahrávání hry z kazetového magnetofonu a mohli jste si na několik minut jít číst - a nebo spustili uvedený program na kreslení fraktálů a mohli jste jít rovnou na celodenní výlet.
Pak přišla úžasná 90.léta se svými rychlými počítači PC na bázi CPU i386 (a později ještě rychlejšími...), a demoscéna, která se vrhla na programování v assembleru, a fraktály se náhle vykreslovaly rychleji a rychleji, často skrze ně šlo zoomovat (téměř) v reálném čase. Fraktály se staly trendy a popkulturní ikonou raných (zhulených) cyberpunkových 90. let.
A pak přišel konec tisíciletí a fraktály byly najednou out. Existovaly pravda subkultury, které na ně nikdy nedaly dopustit - třeba v projekcích na psytrance parties fraktály nikdy nepřestaly být in - ale mainstreamová popkultura se fraktálů nabažila stejně rychle, jako se jimi v 90. letech nechala okouzlit.
Ostatně - není divu. Počítače jsou dnes průměrně 1000x rychlejší, a mají k dispozici průměrně 16 000x více paměti (vycházím např. z parametrů netbooku Eee - což byl mimochodem první zcela nový počítač, který jsem si koupil po snad 15ti letech, kdy jsem svá PC zásadně montoval z jednotlivých komponent nebo je kupoval z druhé ruky). Fraktály jsou dnes tedy asi stejně "zábavné", jako cesta autem na nákup do supermarketu ve srovnání s prvními motoristickými dobrodružstvími 20tého století (ještě před 1. světovou válkou).
Pokud si ale přesto chcete zavzpomínat na ty průkopnické časy, kdy se vám celkový pohled na fraktální množinu vykresloval na počítači několik hodin, tak není nic lepšího, než si na svůj Linux stáhnout a spustit některý z prohlížečů fraktálů v textovém módu. Já našel dva: černobílý (docela rychlý) a barevný (ukrutně pomalý). A právě to čekání na vykreslení vám umožní intuitivně pocítit, jaká je za tím obrázkem je schovaná spousta matematiky, a co vlastně provádějí dnešní grafické programy, které nabízí třeba zoomování fraktálů v reálném čase, apod.
Mandelbrot Sets in Bash [www.mathnews.uwaterloo.ca]
#!/bin/bash
inmandelbrot() {
let "mag = $1 * $1 + $2 * $2"
if [ $mag -gt "40000" ] || [ $5 -ge $6 ]; then
echo $5
else
let "r = ($1 * $1)/100 - ($2 * $2)/100 + $3"
let "i = ($1 * $2)/100 * 2 + $4"
let "cnt = $5 + 1"
inmandelbrot r i $3 $4 $cnt $6
fi
}
for y in $(seq -20 20);
do
for x in $(seq -20 20);
do
let "rval = x * 10"
let "ival = y * 10"
val=$(inmandelbrot rval ival rval ival 1 10)
if [ $val -eq 10 ]; then
echo -n ".";
else
echo -n $val;
fi
done
echo
done
Mandelbrot set computed in BASH [bruxy.regnet.cz]
#!/bin/bash
S0=S;S1=H;S2=E;S3=L;S4=L;e=echo;b=bc;I=-1;for x in {1..24};
do R=-2;for y in {1..80};do B=0;r=0;i=0;while [ $B -le 32 ];do
r2=`$e "$r*$r"|$b`;i2=`$e "$i*$i"|$b`;i=`$e "2*$i*$r+$I"|$b`;
r=`$e "$r2-$i2+$R"|$b`;: $((B+=1));V=`$e "($r2 +$i2)>4"|$b`;
if [ "$V" -eq 1 ];then break;fi;done; if [ $B -ge 32 ];then
$e -n " ";else U=$(((B*4)/15+30));$e -en "\E[01;$U""m";C=$((C%5));
eval "$e -ne \$E\$S$C";: $((C+=1));fi;R=`$e "$R+0.03125"|$b`
done;$e -e "\E[m\E(\r";I=`$e "$I+0.08333"|$b`;done #(c)BruXy
Sloupcová sazba článku pro browsery Firefox, Opera
a Chrome [zpět na začátek sloupcové sazby] CZK 2900242944/2010 (VS 1008) BTC 19rriLx8vR19wGefPaMhakqnCYNYwjLvxq Podpořte autora článku nebo celou TečkuCZ [zobrazit možnosti] →- moderujte článek kladně (v záhlaví nebo níže) nebo odstraňujte negativní přívlastky, se kterými nesouhlasíte
- moderujte relevantní komentáře kladně (stanou se nedílnou součástí článku) a nesmyslné naopak záporně
- napište pod článek sami pozitivní či přínosný komentář (pokud vím, tak většina autorů na webu má ráda komentáře)
- uvažujte TečkaCZ-kovitě a používejte mikrosyntaxi v komentářích (používejte hashtagy, vkládejte odkazy nebo obrázky...)
- uploadněte si ikonku ke své přezdívce, pod kterou komentujete články [www.gravatar.com] :-)
- staňte se registrovaným komentátorem a moderátorem [COMMING SOON]
- sdílejte tento článek v sociálních sítích a na diskuzních fórech (některé předem připravené možnosti viz níže)
- followujte (sledujte, spřátelte si...) TečkuCZ v sítích [Identi.ca] [Twitter] [Google+] nebo odebírejte [RSS kanál]
- zašlete Bitcoin dar dle vlastního uvážení (např. 0.001-0.01 BTC) na účet [19rriLx8vR19wGefPaMhakqnCYNYwjLvxq] :-)
- zašlete peněžní dar dle vlastního uvážení (např. 1-10 CZK, VS=číslo článku) na transparentní účet [2900242944/2010]
Sdílet v síti [Identi.ca] [Twitter] [Google+]
[Facebook]
[Jagg.cz] Formátovat pro tisk [bez komentářů]
[s komentáři]
Krátká forma URL (adresy) [http://teckacz.cz/1008]
Všechny články [od autora xChaos]
[v rubrice HowKnow] [nejnovější]
Hodnocení článku čtenáři [ + ] 6 [8x] [ - ] Tip: Pro moderaci ÄlĂĄnkĹŻ (kladnĂŠ nebo zĂĄpornĂŠ hodnocenĂ) je nutnĂŠ pouĹžĂt browser, kterĂ˝ podporuje javascript a cookies.
Komentáře čtenářů
xChaos 21. března 2011 ← komentářů 7429 ☯ -101 [4731x] ★ [ + ] 0 [0x] [ - ] ← pro ohodnocení komentáře se není nutné registrovat
[zobrazení 35] → [/-/14167] ← sdílet nebo odpovědět
ok, tak jsem zapojil beautyofCode:
→ [http://plugins.jquery.com/project/beautyOfCode]
i kdyz teda pod linuxovym firefoxem nefunguje kopirovani do clipboardu
najít aspoň trochu přijatelné téma a vypnout číslování řádků byl docela boj :-)
| |
Zobrazeno 1 komentářů z 1 nalezených. Zpracování trvalo 0.88 sekund.
- Konce řádků budou zachovány
- Systém se pokusí o autodetekci platných URL (například http://www.domena.tld/cesta)
- Vložení obrázku nebo YouTube videa do textu: +URL (prozatím nelze kombinovat s vložením odkazu)
- Odkaz na jeden konkrétní příspěvek: @přezdívka:id (předvyplňuje se automaticky při psaní odpovědi)
- Odkaz na aktuální příspěvky pod danou přezdívkou: @přezdívka
- Odkaz na aktuální příspěvky obsahující daný tag: #hashtag (hashtag má minimálně 4 znaky)
- Zvýraznění části textu tučně: *text*
- Zvýraznění části textu kurzívou: _text_
Nápověda: ve vlastním zájmu uvádějte u komentářů pouze funkční a dostupnou e-mailovou adresu.
Přezdívku, která je jednou spojená s konkrétní e-mailovou adresou, už nyní nelze bez zásahu
administrátora serveru spojit s jinou adresou. Uvedením neplatné e-mailové adresy si v budoucnu
znemožníte upload ikonky i možnost použít některé další chystané neanonymní funkce vázané na
uvedení platné e-mailové adresy.
TečkaCZ [Nejnovější články] [Nejnovější komentáře] [Aktuální debaty] [Zeď vzkazů] [Zeď odkazů] Mandelbrotova množina v Bashi? A proč ne? [Začátek článku] [Začátek komentářů]
|