A fraktálok sűrű Dummies
Fraktálok C ++ kezdőknek sűrű.
„Orosz nyom” az elmélet a fraktálok
A „fraktál” vezették be a mindennapi élet a lengyel származású francia matematikus Benoit Mandelbrot 1975-ben. Könyvében: „A Fractal Geometry of Nature”, írja, „Fractal egy szerkezetet, amely a részek, amelyek bizonyos szempontból hasonlít az egész.”

Fraktál tárgya lehet a szerkezet a „self-hasonlóság”. Egy tipikus példa - orosz fajáték Matryoshkák belül, amelyek hasonlóak a számok egy kisebb méretű. Orosz „fraktál” festett Matryoshkák megjelent Oroszországban a késő XIX. Kevesen tudják, hogy nem csak a Lefty patkolt bolha, hanem a beépített fészkelő baba akkora, mint egy bolha. És Chubais jelenleg is dolgozik egy nano fészkelő babák. Így hamarosan lehetséges lesz beszélni „Orosz nyom” az elmélet a fraktálok!
1872-ben, a német matematikus, Karl Weierstrass épített egy folytonos függvény formájában végtelen trigonometrikus sor, amely sehol sem differenciálható. Úgy oldotta meg a problémát még mindig zavar alattomos kérdéseket a diákok a vizsga matematika: „Ha a függvény folytonos - ez differenciálható?”.
Mindenesetre tisztázni. Ha folyamatos görbe egy töréspontot, akkor ezen a ponton nincs érintőleges. Egy függvény, amelynek grafikonja a görbe nem differenciálható a ponton a törés! Tehát ütemezni Weierstrass „megtörve felismerhetetlenségig” funkció - minden ponton!
1904-ben a svéd matematikus Helge von Koch a cikkben: „A folytonos görbe, melynek nem érintő” leírt másik folytonos görbe, törött minden ponton, ami annak köszönhető, hogy a szerkezet egyszerűségének volt egy figyelemre méltó példa egy fraktál. Hogy kezdjük a vizsgálatot fraktálok Koch görbe.
Fraktálok a C ++ CH-
Koch-görbe minden részletet szépsége
Ahhoz, hogy a Koch-görbe, egyenes szakadék három egyenlő részre, és a központi szegmens konstrukció, egyenlő oldalú háromszög, és távolítsa el a háromszög alapja. A kapott szaggatott vonal a négy szegmens egy stencil (mintázat generátor), amelynek alapja a Koch-görbe.
Alkalmazása sablont minden egyes négy szegmense a stencil, megkapjuk az első közelítés, amely 16 szegmensek. További stencil alkalmazandó minden szegmense a kapott görbe, megtalálja a második közelítése álló 64 szegmensek. A határ, megkapjuk a Koch-görbe.
standard program fogják használni az építőiparban a Koch-görbe és a többi fraktálok ebben a cikkben, amely tartalmaz
Funkciót, hogy hozzon létre egy stencil Traf
Szükségünk van egy funkció, amely a koordinátákat a végpontok AB kiszámítja a koordinátáit minden csomópontok a stencil. Ahhoz, hogy egy ilyen funkció ismerni kellene szintjén a 9. osztály középiskolában. A képleteket koordinátáit minden csomópontok a stencil Koch görbe a jobb oldalon látható.

A bal oldalon a Traf funkciót. amely öt érvek: a koordinátáit a végpontok (xA yA.), (xB Yb.) és a k paraméter. A koordinátákat a csomópontok tárolják a tömbök a sejtek: KNX [] és Kny [] (a szó «csomót» - «csomó").
Konstrukciójánál stencil (nulladik érdekében közelítés) feltételezzük, k = 0, akkor a koordinátáit a csökkenése kezdeti sejttenyészet tömbök. Más közelítő használt egy nem nulla értéke az érv k előírásának elkerülése érdekében koordinátákat.
A funkció építési fraktál Fract
Ez a funkció épít fraktál. Alapértelmezésben a közepén egy Descartes-féle derékszögű koordináta-rendszer található az ablak közepén, és a pozitív tengely metszéspontja a határokat az egyes szegmensekben. Ha szükséges, az üzemeltető gluOrtho () lehet változtatni koordinátarendszerben. Hogyan csináljuk ezt részletesen ismerteti a cikk «OpenGL C ++ Sr--”.
Hogy jobban megértsük a szerkezet ezt a funkciót, akkor írd külön nulla és az első közelítés. Kiszámításához csak a nulla-rendű közelítés (a program balra lent), a vezérlés Traf funkciót. és a központi vízszintes vonal az ablak A (-1, 0), B (1, 0) alakítjuk stencil. Mivel k = 0, a koordinátáit a csomópontok az első öt cella tömbök KNX [] és Kny [].

Kiszámításához csak az első közelítés (a program a jobb felső) adjunk hozzá két hurok nyilatkozatot. Eredeti memorizálja kapott, az előző lépésben koordináták stencil csomópontok kn1x tömbök [] és kn1y [] (bejelentett függvényében, mivel sehol máshol használt). A második utasítás osztja stencil a csomópontok a szegmensek a stencil. Argumentum k minden alkalommal szorozva 4, így a tömbök KNX [] és Kny [] végei az összes r = 16 szegmensek az első közelítés.
Minden ezt követő közelítések igényel minden egyes alkalommal, hogy két azonos üzemeltető, ezért célszerű létrehozni egy folyamat egy külső ciklus operátor. Itt látható a függvény általános esetben:

R szegmensek száma egyes közelítése száma egyenlő a 4 a megfelelő mértékben.
Rajz funkció Draw és a fő funkciója a fő program
Ezeket a funkciókat ismertetjük részletesen a cikk OpenGL a C ++ Sh--.
Command zöld funkció Draw övezetben működtetett rajzolás folyamatát. A zöld tartományon belül az első két állítás elfog a szín és a vonal vastagságát. Operator zárójelben glBegin () / kéreg () tartalmaznak koordináta pontokat, amelyek révén GL_LINES érv párokat köti össze egyenes vonalak.

Minden parancs kívül található a fő funkciója a zöld zónában. embed OpenGL könyvtár C ++ és vezesse be keresetet. Az üzemeltetők a zöld zónában rekord egymás: a helyét az ablak a kijelző mérete, így az ablak neve, nyissa meg, és állítsa be a színt. Aztán jöhet számításba funkció Fract és rajzoljunk.
Itt van, hogyan néz ki:
Állapítsa offset paraméter a sejtek. Szegmensek száma a közelítés r n száma és a közelítések.
Mi üzembe az egész programot egyetlen egységben






Lehet beszerezni, és az 5-ik közelítés, de ez nem látható változást a rajzban.
Fraktálok a C ++ CH-
Hópehely és Antisnezhinka Koch.
„Hundred Acre Fa teáskanna”
Mi kell alkalmazni a stencil Koch-görbe az oldalán egy egyenlő oldalú háromszög. Ennek eredményeként megkapjuk az első közelítés. Osszuk stencil szegmensek következő közelítés, és korlátozza a Koch hópehely.
Koch hópehely A program használata fraktál. azáltal, hogy kis változások a funkció építésének fraktál.
A funkció építési fraktál Fract
Ez a funkció eltér a felső része a Koch-görbe (az első hat sor).
Meghatározása a koordinátáit a végei az alsó alap a háromszög (-0.75, -0,5), B (0,75, -0,5), és megtalálja a harmadik csúcsa C a feltétellel, hogy a derékszögű háromszög.
Alkalmazza a stencil viszont minden oldalán a háromszög: háromszor fellebbezni Traf funkciót. így egy értéket a k paraméter = 0, 4, 8. kapjuk nulladrendű közelítése a 12 szegmensek a koordinátáit a csomópontok a vonatkozó cella tömbök. Ezután az építési fraktál történik, hogy már ismert forgatókönyv.

Koch hópehely és Antisnezhinka

Ha a stencil kialakítva oly módon, hogy a háromszögek befelé, megkapjuk Antisnezhinku Koch. Erre a célra a funkció Traf fraktál programot fog változni a közepén a harmadik és negyedik piaci jelek (ezek pirossal kiemelve) a kizáró és pozitív. Itt látható Antisnezhinka Koch a második és ötödik közelítések:

Ez volt húsvétkor. Míg én az üzemeltető változtatni jeleket plusz mínusz, hogy Antisnezhinku Koch kezdődött szellőztetés a televízióban a Descent a Holy Fire Jeruzsálemben. Ez a látvány annyira hatott rám, hogy tudtam változtatni csak egy karaktert. Úgy tűnt, a képernyőn „áldás” félelmetes fraktál! Hívom őt a tiszteletünkre - „Hundred Acre Fa teáskanna”! Enjoy!
Fraktálok a C ++ CH-
"Funkció, matryoshka". létrehozásához fa
Építésekor a fraktálok gyakran „funkció-matryoshka”, akik igyekeznek „hogy magukat”. Ebben az esetben nincs szükség sablont létrehozni, ahogy azt már lefektetett ezeket a funkciókat.
Itt van egy egyszerű kis program „Matryoshkák-funkció”:

Ez a funkció egy argumentum: Matr (n). Bent a kapcsos zárójelek ciklus operátor nevezi magát. csökkentve az érv 1. Anélkül, hogy a feltételes operátor program „végtelen hurok”.
Ez a funkció lesz n-szer „nem engedélyezett” ki a hurok, minden egyes alkalommal csökkentve n eggyel. Miután elérte az n paraméter nulla feltételes megszünteti kezelés funkciókat is, és a program az „legálisan” ki a hurkot. Ezután n-szer „nem engedélyezett” köt ciklus minden egyes alkalommal egyre n az 1. Ha során a bemeneti kiderül, hogy i = 0, akkor ezen a ponton a ciklus folytatódik. Meg fog történni, amíg n eléri a referenciaértéket. „Function fészkelő baba” generál „elágazó” folyamat, amely az építőiparban felhasznált fraktálok.

Ahhoz, hogy hozzon létre egy fraktál fa ága úgy AB egy L hosszúságú és hajlásszöge a vízszintes tengely. Ha az ismert koordinátáit kezdőpont koordinátái a végpont átlagát számíthatja tanuló 7B minőségű. A képletek xB és YB használják az építőiparban fraktál funkciók Fract.
Curves Levy és Püthagorasz fák szorosan kapcsolódik a fraktálok, amelyek az úgynevezett Dragons miatt hasonlít a kép a kínai sárkányok.
Módon lehet létrehozni görbék Levy és Püthagorasz Fa hasonlóak. Ezek különböznek csak a stencil, amelyek kapcsolódnak a külső oldalán a két láb egy derékszögű háromszög.
Ha ezek a stencil felváltva irányítják különböző oldalain a láb, akkor megkapjuk a Sárkányok.
Sárkányok szigetek Levi
Elkezdjük építeni Curve Levi. de a sablon van csatlakoztatva a lába egy derékszögű háromszög, irányadó őt felváltva különböző irányokba. Ehhez adó program második állítás Fract funkciót, amikor hivatkozva maga cserélni a B és C pontok (a program ezeket pirossal jelölve). Az üzemeltető kell kinéznie: Fract (x B. y B. x C. Y C. n-1). A sárkány jelenik meg a képernyőn.

Dragons gyönyörű volt a képernyőn, meg kell állítani a vonal színét és módosíthatja a program kezelője konzol (jelzett számok).
Ugyanezt lehet tenni a sziget, és kap Levi „sziget” Dragons:

Épület egy fa Püthagorasz. de közvetlen képernyő ellenkező oldalán a lábak háromszög ventilátor, és megjelenik a képernyőn Sárkány Püthagorasz. Ehhez pifagor program függvényében építése fraktál Fract az első állítás utaló Traf funkció jegyében a ciklus-swap a tömb érveket (pirossal jelölve). Az üzemeltető kell kinéznie: Traf (KNX [i + 1], Kny [i + 1], KNX [i], Kny [i], 5 * R).

Sárkány a bal az ábrán Pitagorasz a 4. közelítés színes „rajongó” a háromszög. Azonban ez több, mint a repülő egy harci küldetés nagy hatótávolságú bombázó Tu-22M3. És a jobb alak - festett sárkány Pythagoras a 10. megközelítést.
Fraktálok a C ++ CH-
Adj egy nő fehér, fehér.
Megvan a kék redo
Bal teljesítette ígéretét, és segít a költő megváltoztatni a fehér, fehér, nő, kék. A nő a képen Henri Matisse úgynevezett „Akt narancsot.” Miután fejlesztése OpenGL és a C ++, levonhatjuk a Koch hópehely és Antisnezhinku könnyen. "Yolka sűrű teáskanna" Curve Levi. „Blow a szél” Püthagorasz Fa és kapcsolja be a Sárkány.

Azonban, amikor megpróbálja megváltoztatni a fehér, fehér, nő, kék nem mutat „sárkány, sült körtével.” A kérdés az, hogy miért? És miért nem? Ez is rossz! Továbbra is csak a elgázolta egy üveg „Putinka”!
Ez történt egészen véletlenül, ahogy azt tervezte.