Hlavne menu We are sorry, but magazine AMMO is suspended. Here is just read-only access to the articles archive. Some features are removed because they were outdated, pointless in read-only (voting and pools), or it was missused by spammers (comments) etc. Now the webpages aren't maintained so when something will get broken most probably it won't be fixed at all. If you liked our magazine then please make donation with paypal so we can pay for traffic on this server.

TOP Výuka
01 Maľované krížovky 103 bodov
02 OpenGL, lákadlo 38 bodov
03 MySQL (+ použitie Visual C++ a PHP) 28 bodov
04 OpenGL, časť 1 21 bodov
05 Huffmanove kódovanie 19 bodov
06 Pascal, časť 1 18 bodov
07 Ako tlačiť s HP 16 bodov
08 Základy HTML časť 2 16 bodov
09 Základy HTML časť 3 13 bodov
10 Hry pre nenáročných + zdrojáky 10 bodov
11 OpenGL, úvod 8 bodov
12 Faktúrka v4.0 + zdrojáky v MS Visual C++ 6.0 7 bodov
13 OpenGL – Intermezzo 1 7 bodov
14 OpenGL povinná literatúra 6 bodov
15 Základy HTML časť 1 6 bodov
Najnovsie clanky
Kvalitné služby podľa skúseností iných - TopSlužby.sk
LOTR - Dve veže - Parodia - Scénka 2. časť
Neverwinter nights
Children Of Bodom-Hatebreeder
Kult Duny - 6. časť (Bonus)
Kult Duny - 5. časť (Filmy, Hry)
Dobré ráno. (morc certa, hora incerta...)
Kult Duny - 4. časť (Knihy 2/2)
Stretnutie Spoločenstva Tolkiena
GRAVE DIGGER – Knights Of The Cross
Kult Duny - 3. časť (Knihy 1/2)
Kult Duny - 2. časť (Pojmy)
Kult Duny - 1. časť (Úvod)
LOTR - Dve veže - Parodia - Scénka
Jackass
Vsetky clanky
Airsoft - Specnaz [4 clanky]
Básne [6 clankov]
Fantázia [4 clanky]
Filmy a DVD [51 clankov]
Hardware [10 clankov]
Hry [170 clankov]
Hry, návody [6 clankov]
Hudba [8 clankov]
Internet [7 clankov]
Knihy [6 clankov]
O AMME [4 clanky]
Pandemonium [10 clankov]
Poviedky [14 clankov]
Programy [18 clankov]
Rôzne [8 clankov]
Technické [3 clanky]
Úvahy [8 clankov]
Výuka [50 clankov]
Ako tlačiť s HP
Algoritmy v grafoch
Fake2
Faktúrka
Faktúrka v4.0 + zdrojáky v MS Visual C++ 6.0
HLSaver
Hry pre nenáročných + zdrojáky
Huffmanove kódovanie
IPicture2 & aggresiveoptimize.h
Maľované krížovky
MySQL (+ použitie Visual C++ a PHP)
OpenGL - GLWnd
OpenGL AMMO Saver
OpenGL povinná literatúra
OpenGL – Intermezzo 1
OpenGL, časť 10
OpenGL, časť 11
OpenGL, časť 12
OpenGL, časť 13
OpenGL, časť 14
OpenGL, časť 15
OpenGL, časť 16
OpenGL, časť 17
OpenGL, časť 18
OpenGL, časť 7
OpenGL, časť 8
OpenGL, časť 9
Opengl – Cloth Simulation
RenameR
SkinMagic
WinSocket Communication via VC++
Údajové štruktúry
viac...
Zábava [5 clankov]
Zdravie [15 clankov]
Celkovy pocet clankov: 407
Fract 
Výuka | Dna 26.4.2003 | Johny | 3 znamky, priemer 1.33 | 3259 videni | 575 WAP videni

... je generátor pár známejších fraktálov ako napr. Mandelbrot, Julia, Manowar, Barnsley alebo Newton. Program vznikol ako moja semestrálka na OOP, a určite nebude problém urobiť z nej semestrálku pre niekoho iného ;o). Programovací jazyk je Pascal, prostredie Delphi 3, takže prenos do verzíí 4,5,6,7 alebo Kylixu by nemal byť problémom.

O fraktáloch na AMME už článok bol, také menšie repete informácii o fraktáloch, ako ich definícia, spôsob počítania, alebo prácu s komplexnými číslami nájdete v helpe, ktorý tvorí súčasť programu. Help som robil v programe HelpCreator od Breit Technologies. Stačí dať hľadať v google a určite na to hneď natrafíte.

Rád by som povedal, že je to real-time zoomer fraktálov, ale k tomu má ešte veľmi ďaleko. Išlo skôr o tie objekty ako o rýchlosť. Namiesto assembleru pascal ;o). A ešte komponenta Timage sa mi nezdá ako najštastnejšie riešenie. Napriek tomu som do programu zakomponoval 3 spôsoby počítania, počítanie všetkého, line guessing a solid guessing, kde sa počítajú len 4 krajné body štvorca a ak sa zhodujú, tak si program „tipne“, že zrejme aj obsah je taký.

Možno nestojí program pozrieť kvôli frakátlov, ale skôr kvôli tomu ostatnému, napr. OOP, alebo napríklad naštartovanie HELPu, keď je to treba. Zmena kurzora a veci skôr typické pre Windows aplikácie a Delphi. Možno práve toto nebude úplne kompatibilné s Kylixom.

Doplnkom je ešte UML diagram dedičnosti tried a vzťahov medzi objektami. UML, teda UNIFIED MODELING LANGUAGE, čo je univerzálny jazyk pre modelovú analýzu a návrh. Diagramy boli vytvorené v programe Visio, ktorý je priam stvorený na takéto veci. Je však veľmi všeobecný a UML je len jedna z jeho schopností. Na Internete som našiel pár programov špeciálne pre UML, ale ich kvalita bola dosť rôzna.


Tu sú hlavné triedy, ktoré program obsahuje:
Trieda pre prácu s komplexnými číslami

type TCmplx=class(TObject)
private
aRe:Double;
aIm:Double;
function getRe:Double;
procedure setRe(paRe:Double);
function getIm:Double;
procedure setIm(paIm:Double);

public
constructor create;

property re :Double read getRe write setRe;
property im :Double read getIm write setIm;

procedure nastav(paCmplx:TCmplx);
procedure nastavZlozky(paRe,paIm:Double);
procedure spocitaj(paJedno,paDruhe:TCmplx);
procedure spocitajRe(paJedno:TCmplx; paRe:Double);
procedure spocitajIm(paJedno:TCmplx; paIm:Double);
procedure odpocitaj(paJedno,paDruhe:TCmplx);
procedure vynasob(paJedno,paDruhe:TCmplx);
procedure vynasobReIm(paJedno:TCmplx; paRe, paIm:Double);
procedure vynasobDouble(paJedno:TCmplx;paDouble:Double);
procedure vydel(paJedno,paDruhe:TCmplx);
procedure umocni(paJedno:TCmplx; paMocnina:Integer);
function modul2:Double;

end;

Trieda fraktál je základná trieda pre každý ďalší fraktál.
type TFractal=class(TObject)
private
aDolnaX:Double;
aHornaX:Double;
aDolnaY:Double;
aHornaY:Double;
aIter:Integer;
procedure nastavIteracie(paIter:Integer);
protected
function iteruj(paX,paY:Double):Integer; virtual; abstract;
public
constructor create;
procedure nastavHranice(paDX,paHX,paDY,paHY:Double);
property iter:Integer read aIter write nastavIteracie;
function vypocitajFarbu(paI,paJ,paMaxI,paMaxJ:Integer):Integer;
end;

Thread, ktorý vykonáva všetky výpočty.
type TFractalThread=class(TThread)
private
aFractal:TFractal;
aKam:TImage;
aImageVelX:Integer;
aImageVelY:Integer;
aI:Integer;
aJ:Integer;
aType:Integer;
aGuessFactor:Integer;
aLine:array[0..MAX] of Integer;
aSolid:array[0..MAX,0..5] of Integer;

procedure aktualizujFractal(paIndexFractal:Integer);
procedure pocitajVsetko;
procedure vypocitajRiadok;
procedure lineGuess;
procedure solidGuess;
procedure guessBetweenPoints(paI1,paI2,paTreba:Integer);
procedure guessAmongPoints(paI1,paJ1,paI2,paJ2:Integer);
procedure aktualizujRiadok;
procedure aktualizujSolid;
public
constructor create(paKam:TImage;paIndexFractal:Integer;paType:Integer);
destructor destroy; override;
procedure execute; override;
property fractal:TFractal read aFractal;
end;

Implementačnú časť som sem kvôli rozsahu nedával, má niečo vyše 30kb.


Screenshoty programu vyzerajú takto, ovládanie je veľmi jednoduché, a je aj popísané v helpe, ak by mal niekto problém ;o). A ešte sú tu 2 UML diagramy. Sú to zmenšeniny, takže možno nie sú až také čitateľné a kvalitné ako pre tlač.

http://www.webpark.sk/softsklad/fract.zip


Obr�zok - Klikni a zv�?�� sa Obr�zok - Klikni a zv�?�� sa Obr�zok - Klikni a zv�?�� sa Obr�zok - Klikni a zv�?�� sa Obr�zok - Klikni a zv�?�� sa Obr�zok - Klikni a zv�?�� sa Obr�zok - Klikni a zv�?�� sa Obr�zok - Klikni a zv�?�� sa Obr�zok - Klikni a zv�?�� sa Obr�zok - Klikni a zv�?�� sa Obr�zok - Klikni a zv�?�� sa Obr�zok - Klikni a zv�?�� sa
Najnovsie clanky od tohto redaktora
Podobne clanky