*: Petőfi Sándor: Az Alföld című verséből ferdítve,
Mit nekem te zordon Kárpátoknak
Fenyvesekkel vadregényes tája!
Tán csodállak, ámde nem szeretlek,
S képzetem hegyvölgyedet nem járja.
Fogalmam nincs mik a fraktálok. Ködösíteni persze tudok: kompakt halmazok, azaz minden nyílt lefedésükből kiválasztható véges nyílt lefedés (vagy R^n-ben a Heine-Borel tétel következményeként korlátosak és zártak, speciálisan a mutatott kép kapcsán: egy komplex iterációs algoritmus... ) de olyan szinten, mint ahogyan Cantor óta a végtelen fogalmát, vagy Kolmogorov/Chaitin óta a véletlen fogalmát nem értem...
Első "Mandelbrotomat" talán még qbasic-ben (DOS alatt) írtam, a mostani a Páternoszter bevezető C++ példája lesz, egy Qt megvalósítás.
Qt-s állatorvosi ló példánk (ami egyben a "Helló, Világ!"-os példa utáni második bevezető C++ példánk) lesz ez, ezekből a forrásokból indulunk majd ki és finomítunk toövább. A Nokia Qt SDK-t használva ezeket a példákat ugyanúgy élvezheted GNU/Linux és Windows rendszereken is.
A felélesztéshez a Qt Creator-ban készíts egy új Qt Gui App projektet (kattingatás közben a Generate form-ot ne pipáld be, a class neve legyen FrakAblak, aztán majd bal oldalon fent az Edit ikon, hogy lásd a forrásokat, amik közés másold be ezeket, ami van, azt pedig írd fölül.)
Parancssorból így építheted, futtathatod:
[norbi@sgu Frak]$ ls -l
main.cpp
összesen 28
-rw-rw-r--. 1 norbi norbi 2917 febr 27 13.46 frakablak.cpp
-rw-rw-r--. 1 norbi norbi 626 febr 27 13.53 frakablak.h
-rw-rw-r--. 1 norbi norbi 4750 febr 27 13.46 frakszal.cpp
-rw-rw-r--. 1 norbi norbi 799 febr 27 13.54 frakszal.h
-rw-rw-r--. 1 norbi norbi 1408 febr 27 13.46 main.cpp
[norbi@sgu Frak]$ qmake-qt4 -project
[norbi@sgu Frak]$ qmake-qt4 Frak.pro
[norbi@sgu Frak]$ make
[norbi@sgu Frak]$./Frak
// main.cpp // // Mandelbrot halmaz rajzoló // Programozó Páternoszter // // Copyright (C) 2011, Bátfai Norbert, nbatfai@inf.unideb.hu, nbatfai@gmail.com // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // Bár a Nokia Qt SDK éppen tartalmaz egy Mandelbrotos példát, de // ezt nem tartottam megfelelõnek elsõ Qt programként ajánlani, mert elég // bonyolult: használ kölcsönös kizárást stb. Ezért "from scratch" megírtam // egy sajátot a Javát tanítokhoz írt dallamára: // http://www.tankonyvtar.hu/informatika/javat-tanitok-2-2-080904-1 // #include <QtGui/QApplication> #include "frakablak.h" int main(int argc, char *argv[]) { QApplication a(argc, argv); // További adatokat olvashatsz le innen: // http://www.tankonyvtar.hu/informatika/javat-tanitok-2-3-080904 FrakAblak w1, w2(-.08292191725019529, -.082921917244591272, -.9662079988595939, -.9662079988551173, 600, 3000), w3(-.08292191724880625, -.0829219172470933, -.9662079988581493, -.9662079988563615, 600, 4000), w4(.14388310361318304, .14388310362702217, .6523089200729396, .6523089200854384, 600, 38655); w1.show(); w2.show(); w3.show(); w4.show(); return a.exec(); }
Tekerj a tovább linkre, ha érdekel.