Fraktaler. Koch-kurve Procedurer til opnåelse af fraktale sæt

hjem / Elsker

Tre kopier af Koch-kurven, konstrueret (med spidserne udad) på siderne af en regulær trekant, danner en lukket kurve af uendelig længde kaldet Kochs snefnug.

Denne figur er en af ​​de første fraktaler, der blev studeret af forskere. Den kommer fra tre eksemplarer Koch kurve, som først dukkede op i et papir af den svenske matematiker Helge von Koch i 1904. Denne kurve blev opfundet som et eksempel på en kontinuerlig linje, der ikke kan tangere noget punkt. Linjer med denne ejendom var kendt før (Karl Weierstrass byggede sit eksempel tilbage i 1872), men Koch-kurven er bemærkelsesværdig for enkelheden i dens design. Det er ikke tilfældigt, at hans artikel hedder "På en kontinuerlig kurve uden tangenter, som opstår fra elementær geometri."

Tegningen og animationen viser perfekt, hvordan Koch-kurven er opbygget trin for trin. Den første iteration er simpelthen det indledende segment. Derefter opdeles den i tre lige store dele, den centrale færdiggøres til at danne en regulær trekant og smides derefter ud. Resultatet er den anden iteration - en brudt linje bestående af fire segmenter. Den samme operation anvendes på hver af dem, og det fjerde trin i konstruktionen opnås. Hvis du fortsætter i samme ånd, kan du få flere og flere nye linjer (alle vil være brudte linjer). Og hvad der sker i grænsen (dette vil allerede være et imaginært objekt) kaldes Koch-kurven.

Koch-kurvens grundlæggende egenskaber

1. Det er kontinuerligt, men ingen steder differentierbart. Groft sagt er det netop derfor, det blev opfundet - som et eksempel på denne slags matematiske "freaks".

2. Har uendelig længde. Lad længden af ​​det oprindelige segment være lig med 1. Ved hvert byggetrin udskifter vi hvert af de segmenter, der udgør linjen, med en brudt linje, som er 4/3 gange længere. Det betyder, at længden af ​​hele den stiplede linje ganges med 4/3 ved hvert trin: længden af ​​linjen med tal n lig med (4/3) n-1. Derfor har grænselinjen ikke andet valg end at være uendelig lang.

3. Kochs snefnug begrænser det endelige område. Og dette på trods af, at dens omkreds er uendelig. Denne egenskab kan virke paradoksal, men den er indlysende - et snefnug passer helt ind i en cirkel, så dets område er naturligvis begrænset. Arealet kan beregnes, og du behøver ikke engang særlig viden til dette - formler for arealet af en trekant og summen af ​​en geometrisk progression undervises i skolen. For de interesserede er beregningen listet med småt nedenfor.

Lad siden af ​​den oprindelige regulære trekant være lig med -en. Så er dens område . Først er siden 1 og arealet er: . Hvad sker der, når iterationen øges? Vi kan antage, at små ligesidede trekanter er knyttet til en eksisterende polygon. Første gang er der kun 3 af dem, og hver næste gang er der 4 gange flere af dem end den forrige. Det vil sige på n det trin vil blive gennemført Tn= 3 4 n-1 trekanter. Længden af ​​siden af ​​hver af dem er en tredjedel af siden af ​​trekanten, der blev afsluttet i det foregående trin. Så det er lig med (1/3) n. Arealer er proportionale med kvadraterne på siderne, så arealet af hver trekant er . For store værdier n Det er i øvrigt meget lidt. Det samlede bidrag fra disse trekanter til snefnugets område er Tn · S n= 3/4 · (4/9) n · S 0 . Derfor efter n-trin, vil arealet af figuren være lig med summen S 0 + T 1 · S 1 + T 2 · S 2 + ... +Tn S n = . Et snefnug opnås efter et uendeligt antal skridt, hvilket svarer til n→ ∞. Resultatet er en uendelig sum, men dette er summen af ​​en aftagende geometrisk progression; der er en formel for det: . Snefnugets område er .

4. Fraktal dimension er lig med log4/log3 = log 3 4 ≈ 1,261859... . Nøjagtig beregning vil kræve en betydelig indsats og detaljerede forklaringer, så her er snarere en illustration af definitionen af ​​fraktal dimension. Fra magtlovens formel N(δ ) ~ (1/δ )D, Hvor N- antal krydsende firkanter, δ - deres størrelse, og D er dimensionen, det får vi D= log 1/ δ N. Denne lighed er sand op til tilføjelsen af ​​en konstant (det samme for alle δ ). Figurerne viser den femte iteration af konstruktionen af ​​Koch-kurven; gitterkvadraterne, der krydser den, er skraverede grønne. Længden af ​​det originale segment er 1, så i den øverste figur er sidelængden af ​​firkanterne 1/9. 12 felter er skraverede, log 9 12 ≈ 1,130929... . Ikke meget lig 1.261859 endnu... . Lad os se videre. På det midterste billede er firkanterne halv størrelse, deres størrelse er 1/18, skraveret 30. log 18 30 ≈ 1,176733... . Allerede bedre. Nedenfor er firkanterne stadig halvt så store, 72 stykker er allerede blevet malet over. log 72 30 ≈ 1,193426... . Endnu tættere på. Så skal du øge iterationstallet og samtidig mindske kvadraterne, så vil den "empiriske" værdi af dimensionen af ​​Koch-kurven støt nærme sig log 3 4, og i grænsen vil den falde fuldstændig sammen.

Muligheder

Koch-snefnuget "tværtimod" opnås, hvis vi konstruerer Koch-kurver inde i den oprindelige ligesidede trekant.

Cesaro linjer. I stedet for ligesidede trekanter bruges ligebenede trekanter med en grundvinkel fra 60° til 90°. På figuren er vinklen 88°.

Firkantet mulighed. Her er firkanterne færdige.





Snefnug Koch

lærred(
kant: 1px stiplet sort;
}

var cos = 0,5,
sin = Math.sqrt(3) / 2,
grader = Math.PI / 180;
canv, ctx;

funktion rebro(n, len) (
ctx.save(); // Gem den aktuelle transformation
if (n == 0) ( // Ikke-rekursiv kasus - tegn en linje
ctx.lineTo(len, 0);
}
andet(
ctx.scale(1/3, 1/3); // Zoom ud 3 gange
rebro(n-1, len); //REKUURSION på kanten
ctx.rotate(60 * grader);
rebro(n-1, len);
ctx.rotate(-120 * grader);
rebro(n-1, len);
ctx.rotate(60 * grader);
rebro(n-1, len);
}
ctx.restore(); // Gendan transformationen
ctx.translate(len, 0); // gå til slutningen af ​​kanten
}

funktion tegneKochSnefnug(x, y, len, n) (
x = x - len / 2;
y = y + len / 2 * Math.sqrt(3)/3;
ctx.save();
ctx.beginPath();
ctx.translate(x, y);
ctx.moveTo(0, 0);
rebro(n, len); ctx.rotate(-120 * grader); //RECUUUURSION er allerede en trekant
rebro(n, len); ctx.rotate(-120 * grader);
rebro(n, len); ctx.closePath();
ctx.strokeStyle = "#000";
ctx.slag();
ctx.restore();
}

funktion clearcanvas())( //ryd lærredet
ctx.save();
ctx.beginPath();

// Brug identitetsmatrixen, mens du rydder lærredet
ctx.setTransform(1, 0, 0, 1, 0, 0);
ctx.clearRect(0, 0, canvas1.width, canvas1.height);

// Gendan transformationen
ctx.restore();
}

funktion run() (
canv = document.getElementById("canvas1");
ctx = canv.getContext("2d");
var numberiter = document.getElementById("qty").value;
drawKochSnowflake(canv.width/2, canv.height/2, 380, numberiter);

Ctx.stroke(); //gengivelse
}




Kochs snefnug - eksempel









Det var en usædvanlig varm vinter i Boston, men vi ventede stadig på det første snefald. Da jeg så sneen falde gennem vinduet, tænkte jeg på snefnug, og hvordan deres struktur slet ikke er let at beskrive matematisk. Der er dog en særlig slags snefnug, kendt som Koch snefnug, som kan beskrives relativt enkelt. I dag skal vi se på, hvordan dens form kan bygges ved hjælp af COMSOL Multiphysics Application Builder.

Fremstillingen af ​​Kochs snefnug

Som vi allerede har nævnt i vores blog, kan fraktaler bruges i . Snefnug Koch er en fraktal, hvilket er bemærkelsesværdigt ved, at der er en meget simpel iterativ proces til at konstruere den:

  • Lad os starte med en ligesidet trekant, som faktisk er den nulte iteration af Koch-snefnuget.
  • Lad os finde midtpunktet på hver kant af det aktuelle snefnug.
  • I midten af ​​hver kant tilføjes en ligesidet trekant, der rager udad med en side svarende til 1/3 af længden af ​​den aktuelle kant.
  • Lad os definere den næste iteration af Koch-snefnuget til at være på ydersiden af ​​det forrige snefnug og alle de tilføjede trekanter.
  • Gentag trin 2-4 så mange gange som nødvendigt.
  • Denne procedure er illustreret i figuren nedenfor for de første fire iterationer af tegning af et snefnug.

    De første fire iterationer af Koch-snefnuget. Billede af Wxs - Eget arbejde. Licenseret under CC BY-SA 3.0, via Wikimedia Commons.

    Konstruktion af Koch snefnugs geometri

    Da vi nu ved, hvilken algoritme vi skal bruge, lad os se på, hvordan man opretter en sådan struktur ved hjælp af COMSOL Multiphysics Application Builder. Vi åbner en ny fil og opretter et 2D-objekt geometri del ved knudepunktet Globale definitioner. For dette objekt vil vi indstille fem inputparametre: længden af ​​siden af ​​en ligesidet trekant; x- Og y– koordinater for basens midtpunkt; og komponenter af normalvektoren rettet fra midten af ​​basen til det modsatte toppunkt, som vist i figurerne nedenfor.


    Fem parametre, der bruges til at indstille størrelsen, positionen og orienteringen af ​​en ligesidet trekant.


    Indstilling af inputparametrene for den geometriske del.
    En polygon primitiv bruges til at konstruere en ligesidet trekant.


    Objektet kan rotere omkring midten af ​​den nederste kant.


    Et objekt kan flyttes i forhold til oprindelsen.

    Nu hvor vi har defineret den geometriske del, bruger vi den én gang i afsnittet Geometri. Denne enkelte trekant svarer til den nulte iteration af Koch snefnug, og lad os nu bruge Application Builder til at skabe mere komplekse snefnug.

    App UI Markup i Application Builder

    Applikationen har en meget enkel brugergrænseflade. Den indeholder kun to komponenter, som brugeren kan interagere med: Skyder (skyder)(markeret som 1 i figuren nedenfor), hvormed du kan indstille antallet af iterationer, der skal til for at skabe et snefnug, og Knap(etiket 2), ved at klikke, hvorved den resulterende geometri oprettes og vises. Der er også Tekstindskrift(etiket 3) og Visning (visning) af data(label 4), som viser antallet af specificerede iterationer, samt vinduet Diagrammer(etiket 5), som viser den endelige geometri.


    Ansøgningen har én enkelt formular med fem komponenter.

    Ansøgningen har to Definitioner, hvoraf den ene definerer en heltalsværdi kaldet iterationer, som som standard er nul, men som kan ændres af brugeren. Et 1D-array af doubler kaldet Center er også defineret. Det enkelte element i arrayet har en værdi på 0,5, som bruges til at finde midtpunktet af hver kant. Denne værdi ændres aldrig.


    Indstillinger for to definitioner.

    Slider-komponenten i brugergrænsefladen styrer værdien af ​​heltallet, Iterations-parameteren. Skærmbilledet nedenfor viser indstillingerne for "Slider" og værdierne, som er sat som heltal i området mellem 0 og 5. Den samme kilde (som for skyderen) er også valgt for komponenten Data Display for at vise antallet af specificerede iterationer på applikationsskærmen. Vi begrænser den potentielle bruger til fem iterationer, fordi den anvendte algoritme er suboptimal og ikke særlig effektiv, men er enkel nok at implementere og demonstrere.


    Indstillinger for "Slider"-komponenten.

    Lad os derefter se på indstillingerne for vores knap, vist på skærmbilledet nedenfor. Når der trykkes på knappen, udføres to kommandoer. Først kaldes CreateSnowFlake-metoden. Den resulterende geometri vises derefter i grafikvinduet.


    Knapindstillinger.

    Vi har nu set på brugergrænsefladen i vores applikation, og vi kan se, at skabelsen af ​​enhver snefnuggeometri skal ske gennem en metode kaldet. Lad os se på koden for denne metode, med linjenummerering tilføjet til venstre og strengkonstanter fremhævet med rødt:

    1 model.geom("geom1" ).feature().clear(); 2 model.geom("geom1" ).create("pi1", "PartInstance" ); 3 model.geom("geom1" ).run("fin" ); 4 for (int iter = 1; iter "geom1" ).getNEdges()+1; 6 UnionList = "pi" + iter; 7 for (int edge = 1; edge "geom1" ).getNEdges(); edge++) ( 8 String newPartInstance = "pi" + iter + edge; 9 model.geom("geom1" ).create(newPartInstance, "PartInstance" ).set("part" , "part1" ); 10 with(model. geom("geom1" ).feature(newPartInstance)); 11 setEntry("inputexpr" , "Length" , toString(Math.pow(1.0/3.0, iter))); 12 setEntry("inputexpr" , "px" , model.geom("geom1" ).edgeX(edge, Center)); 13 setEntry("inputexpr" , "py" , model.geom("geom1" ).edgeX(edge, Center)); 14 setEntry("inputexpr " , "nx" , model.geom("geom1" ).edgeNormal(edge, Center)); 15 setEntry("inputexpr" , "ny" , model.geom("geom1" ).edgeNormal(edge, Center)) ; 16 endwith(); 17 UnionList = newPartInstance; 18 ) 19 model.geom("geom1" ).create("pi" +(iter+1), "Union" ).selection("input" ).set(UnionList ); 20 model.geom("geom1" ).feature("pi" +(iter+1)).set("intbnd" , "off" ); 21 model.geom("geom1" ).run("fin" ); 22)

    Lad os gennemgå koden linje for linje for at forstå, hvilken funktion hver linje udfører:

  • Rydning af alle eksisterende geometriske sekvenser, så vi kan starte fra bunden.
  • Vi opretter én forekomst af objektet - vores "trekant", ved hjælp af standardstørrelsen, -retningen og -placeringen. Dette er vores nulte ordens snefnug med identifikationsmærke pi1.
  • Lad os færdiggøre geometrien. Denne handling er nødvendig for at opdatere alle geometriindekser.
  • Lad os begynde processen med at iterere gennem alle givne iterationer af snefnuget, ved at bruge Iterations-definitionen som en standsningstilstand.
  • Vi definerer en tom række af strenge, UnionList. Hvert element i arrayet indeholder en identifikator for forskellige geometriske objekter. Længden af ​​dette array er lig med antallet af kanter i den sidste iteration plus én.
  • Vi definerer det første element i UnionList-arrayet. Det er en identifikator for resultatet af den forrige iteration. Husk, at iteration nul allerede er oprettet i linje 1-3. Heltalsværdien iter konverteres automatisk til en streng og føjes til slutningen af ​​strengen "pi" .
  • Vi gennemgår antallet af kanter i det tidligere genererede snefnug.
  • Vi sætter en identifikationslabel for en ny forekomst af et objekt, der får adgang fra "trekant" delforekomsten, der er oprettet på denne kant. Bemærk, at heltalsværdierne iter og edge tilføjes sekventielt til slutningen af ​​strengen pi , objektforekomstens identifikatorlabel.
  • Vi opretter en forekomst af "trekant"-objektet og tildeler det den identifikator-label, der lige blev specificeret.
  • Vi angiver, at linje 11-15 refererer til den aktuelle forekomst af objektet (delforekomst) ved hjælp af with()/endwith()-sætningen.
  • Bestem længden af ​​trekantens side. Den nulte orden har en sidelængde på én, så den n-te iteration har en sidelængde på (1/3)n. Funktionen toString() er påkrævet for at caste (konvertere) datatyper - et flydende kommatal til en streng.
  • Vi sætter x-koordinat af den nye trekant, som midtpunkt på siden af ​​den sidste iteration. EdgeX-metoden er dokumenteret i . Husk at Center er indstillet til 0,5.
  • Vi sætter y-koordinere.
  • Vi sætter x-komponent af trekantens normalvektor. EdgeNormal-metoden er også dokumenteret i COMSOL programmeringsreferencemanual.
  • Vi sætter y-komponent af normalvektoren.
  • Vi lukker med()/endwith()-sætningen.
  • Tilføj en etiketidentifikator for den aktuelle trekant til listen over alle objekter.
  • Vi lukker søgningen af ​​alle kanter.
  • Vi skaber en boolsk forening (logisk forening) af alle objekter i en geometrisk sekvens. Vi tildeler en ny værdi pi til etiketten N, hvor N er tallet Næste iterationer. Der kræves parentes omkring (iter+1), så den øgede iter-værdi konverteres til en streng.
  • Vi angiver, at de indre grænser for det endelige objekt ikke er bevaret.
  • Lad os færdiggøre geometrien. Den sidste operation opdaterer alle geometriindekser for den næste iteration af snefnuget.
  • Vi lukker cyklussen af ​​iterationer for at skabe et snefnug.
  • Således har vi dækket alle aspekter og elementer af vores ansøgning. Lad os se på resultaterne!


    Vores enkle applikation til at konstruere Koch snefnug.

    Vi kunne udvide vores applikation til at skrive geometri til en fil eller endda udføre yderligere analyser direkte. For eksempel kunne vi designe en fraktal antenne. Hvis du er interesseret i antennens design, så tjek vores eksempel eller lav dens layout fra bunden.

    Prøv det selv

    Hvis du vil bygge denne applikation selv, men endnu ikke har gennemført Application Builder, kan du finde følgende ressourcer nyttige:

    • Download guiden Introduktion til applikationsudviklingsmiljøet på engelsk
    • Se disse videoer og lær, hvordan du bruger dem
    • Læs disse emner for at blive fortrolig med, hvordan simuleringsapplikationer bruges i

    Når du har dækket dette materiale, vil du se, hvordan appens funktionalitet kan udvides til at ændre størrelsen på et snefnug, eksportere skabt geometri, estimere areal og omkreds og meget mere.

    Hvilken slags applikation vil du gerne oprette i COMSOL Multiphysics? for hjælp.

    Det fraktale snefnug, et af de mest berømte og mystiske geometriske objekter, blev beskrevet af Helga von Koch i begyndelsen af ​​vores århundrede. Ifølge traditionen kaldes det i vores litteratur Kochs snefnug. Dette er en meget "spids" geometrisk figur, som metaforisk kan ses som et resultat af, at Davidsstjernen gentagne gange er blevet "formeret" af sig selv. Dens seks hovedstråler er dækket af et uendeligt antal store og små "nåle" hjørner. Hvert mikroskopisk fragment af en snefnugs kontur er som to ærter i en bælg, og den store stråle indeholder til gengæld et uendeligt antal af de samme mikroskopiske fragmenter.

    Ved et internationalt symposium om matematisk modellering i Varna tilbage i 1994 stødte jeg på bulgarske forfatteres arbejde, som beskrev deres erfaringer med at bruge Kochs snefnug og andre lignende genstande i gymnasietimerne for at illustrere problemet med rummets delelighed og Zenons filosofiske aporier. Ud fra et uddannelsesmæssigt synspunkt er selve princippet om at konstruere regulære fraktale geometriske strukturer efter min mening meget interessant - princippet om rekursiv multiplikation af grundelementet. Det er ikke for ingenting, at naturen "elsker" fraktale former. Dette forklares netop af det faktum, at de opnås ved simpel reproduktion og ændring af størrelsen af ​​en bestemt elementær byggesten. Naturen flyder som bekendt ikke over med en række forskellige årsager og nøjes, hvor det er muligt, med de enkleste algoritmiske løsninger. Se nøje på konturerne af bladene, og i mange tilfælde vil du opdage et klart forhold til formen på konturen af ​​et Koch-snefnug.

    Visualisering af fraktale geometriske strukturer er kun mulig ved hjælp af en computer. Det er allerede meget svært at konstruere et Koch-snefnug over den tredje orden manuelt, men du vil virkelig se ud i det uendelige! Derfor, hvorfor ikke prøve at udvikle et passende computerprogram. I RuNet kan du finde anbefalinger til at bygge et Koch snefnug fra trekanter. Resultatet af denne algoritme ligner et virvar af krydsende linjer. Det er mere interessant at kombinere denne figur fra "stykker". Konturen af ​​et Koch snefnug består af lige lange segmenter, der hælder 0°, 60° og 120° i forhold til den vandrette x-akse. Hvis vi betegner dem henholdsvis 1, 2 og 3, så vil et snefnug af enhver rækkefølge bestå af successive trillinger - 1, 2, 3, 1, 2, 3, 1, 2, 3... osv. Hver af disse tre typer af segmenter kan fastgøres til det foregående i den ene eller den anden ende. Under hensyntagen til denne omstændighed kan vi antage, at konturen af ​​et snefnug består af segmenter af seks typer. Lad os betegne dem 0, 1, 2, 3, 4, 5. Således får vi mulighed for at indkode en kontur af enhver rækkefølge ved hjælp af 6 cifre (se figur).

    Et snefnug af højere orden opnås fra en forgænger af lavere orden ved at erstatte hver kant med fire, forbundet som foldede håndflader (_/\_). Kanttype 0 erstattes af fire kanter 0, 5, 1, 0 og så videre i henhold til tabellen:

    0 0 1 5 0
    1 1 2 0 1
    2 2 3 1 2
    3 3 4 2 3
    4 4 5 3 4
    5 5 0 4 5

    En simpel ligesidet trekant kan opfattes som et Koch-snefnug af nul orden. I det beskrevne indkodningssystem svarer det til indtastningen 0, 4, 2. Alt andet kan opnås ved de beskrevne udskiftninger. Jeg vil ikke give procedurekoden her og derved fratage dig fornøjelsen af ​​at udvikle dit eget program. Når du skriver det, er det slet ikke nødvendigt at bruge et eksplicit rekursivt kald. Den kan udskiftes med en almindelig cyklus. I processen med arbejdet vil du have en anden grund til at tænke på rekursion og dens rolle i dannelsen af ​​kvasi-fraktale former for verden omkring os og ved enden af ​​vejen (hvis du selvfølgelig ikke er for doven at gå igennem det til slutningen) vil du være i stand til at beundre det komplekse mønster af konturerne af en fraktal snefnug, og også se endelig i lyset af uendeligheden.

    Emne: Fraktaler.

    1. Introduktion. Kort historisk baggrund om fraktaler. 2. Fraktaler er elementer af geometri i naturen.

    3. Objekter med fraktale egenskaber i naturen. 4. Definition af terminologien "fraktaler".

    5. Klasser af fraktaler.

    6.Beskrivelse af fraktale processer. 7.Procedurer for at opnå fraktalsæt.

    8.1 Broken Kokha (indhentningsprocedure).

    8.2 Koch Snefnug (Koch Fractal).

    8.3 Menger svampe.

    9. Eksempler på brug af fraktaler.

    Introduktion. Kort historisk baggrund om fraktaler.

    Fraktaler er en ung gren af ​​diskret matematik.

    I 1904 kom svenskeren Koch med en gennemgående kurve, der ikke har nogen tangent nogen steder - Koch-kurven.

    I 1918 beskrev franskmanden Julia en hel familie af fraktaler.

    I 1938 udgav Pierre Levy artiklen "Plane og rumlige kurver og overflader bestående af dele, der ligner helheden."

    I 1982 udgav Benoit Mandelbrot bogen "The Fractal Geometry of Nature."

    Ved hjælp af simple konstruktioner og formler skabes billeder. "Fraktal maleri" dukkede op.

    Siden 1993 har World Scientific udgivet tidsskriftet "Fractals".

    Fraktaler er elementer af geometri i naturen.

    Fraktaler er et middel til at beskrive genstande såsom modeller af bjergkæder, forrevne kystlinjer, kredsløbssystemer af mange kapillærer og kar, trækroner, brusende vandfald, frostmønstre på glas.

    Eller disse: bregneblad, skyer, klat.

    Billeder af sådanne objekter kan repræsenteres ved hjælp af fraktal grafik.

    Objekter med fraktale egenskaber i naturen.

    Koraller Søstjerner og UrchinsHavskaller

    Blomster og planter (broccoli, kål) Frugter (ananas)

    Kroner af træer og blade af planter Kredsløbssystem og bronkier hos mennesker og dyr I den livløse natur:

    Grænser for geografiske objekter (lande, regioner, byer) Kystlinjer Bjergkæder Snefnug Skyer Lynnedslag

    Mønstre dannet på glas Krystaller Stalaktitter, stalagmitter, helictitter.

    Definition af terminologi "fractals".

    Fraktaler er geometriske former, der opfylder en eller flere af følgende egenskaber:

    Den har en kompleks ikke-triviel struktur ved enhver forstørrelse (på alle skalaer); Den er (omtrent) selvlignende.

    Det har en fraktioneret Hausdorff (fraktal) dimension eller overstiger den topologiske; Kan konstrueres ved rekursive procedurer.

    For almindelige figurer som en cirkel, ellipse eller grafen for en glat funktion, svarer et lille fragment i meget stor skala til et fragment af en lige linje. For en fraktal fører en forøgelse af skalaen ikke til en forenkling af strukturen; for alle skalaer vil vi se lige komplekse billeder.

    Fraktal klasser

    En fraktal er en struktur bestående af dele (understrukturer), der ligner helheden.

    Nogle fraktaler, som elementer af naturen, kan klassificeres som geometriske (konstruktive) fraktaler.

    Resten kan klassificeres som dynamiske fraktaler (algebraisk).

    Procedurer for at opnå fraktalsæt.

    Dette er en simpel rekursiv procedure til opnåelse af fraktale kurver: angiv en vilkårlig stiplet linje med et endeligt antal links - en generator. Dernæst udskiftes hvert segment af generatoren i det. Så bliver hvert segment i det igen erstattet af en generator, og så videre ad infinitum.

    Vist: opdeling af et enhedssegment i 3 dele (a), en enheds kvadratisk areal i 9 dele (b), en enhedsterning i 27 dele (c) og 64 dele (d). Antallet af dele er n, skaleringsfaktoren er k, og rummets dimension er d. Vi har følgende relationer: n = kd,

    hvis n = 3, k = 3, så er d = 1; hvis n = 9, k = 3, så er d = 2; hvis n = 27, k = 3, så er d = 3.

    hvis n = 4, k = 4, så er d = 1; hvis n = 16, k = 4, så er d = 2; hvis n = 64, k = 4, så er d = 3. Rummets dimension er udtrykt i heltal: d = 1, 2, 3; for n = 64 er værdien af ​​d

    Fem trin til at konstruere en Koch-polylinje er vist: et segment med enhedslængde (a), opdelt i tre dele (k = 3), fra fire dele (n = 4) - en stiplet linje (b); hvert lige segment er opdelt i tre dele (k2 = 9) og af 16 dele (n2 = 16) - en stiplet linje (c); proceduren gentages for k3 = 27 og n3 = 64 – stiplet linje (g); for k5 = 243 og n5 = 1024 – stiplet linje (d).

    Dimension

    Dette er en fraktionel eller fraktal dimension.

    Koch-polylinjen, foreslået af Helg von Koch i 1904, fungerer som en fraktal, der er egnet til at modellere en kystlinjes robusthed. Mandelbrot introducerede et element af tilfældighed i, hvilket dog ikke påvirkede hovedkonklusionen vedrørende kystlinjens længde. Fordi grænsen

    Kystlinjens længde har en tendens til at være uendelig på grund af kystens endeløse robusthed.

    Fremgangsmåden for udjævning af kystlinjen, når man går fra en mere detaljeret skala til en mindre detaljeret, dvs.

    Koch snefnug (Koch fraktal)

    Som grundlag for konstruktion kan du ikke tage segmenter af enhedslængde, men en ligesidet trekant, til hver side af hvilken du kan udvide proceduren for at multiplicere uregelmæssighederne. I dette tilfælde får vi et Koch-snefnug (fig.), og af tre typer: de nydannede trekanter er kun rettet udad fra den foregående trekant (a) og (b); kun inde (i); tilfældigt enten udad eller indad (d) og (e). Hvordan kan du indstille proceduren for at konstruere en Koch fraktal.

    Ris. Snefnug Koch

    I fig. to vektordiagrammer er vist; Tallene over pilene vil sandsynligvis rejse spørgsmålet: hvad betyder de? Vektor 0 falder sammen med den positive retning af abscisseaksen, da dens fasefaktor exp (i2πl/6) ved l = 0 bevarer sin retning. Vektor 1 roteres i forhold til vektor 0 med en vinkel på 2π/6, når l= 1. Vektor 5 har en fasefaktor exp (i2π5/6), l = 5. Den sidste vektor har samme fasefaktor som den første ( l = 0). Heltal l karakteriserer vinklen af ​​fasefaktoren for enhedsvektoren.

    Det første trin (fig.) specificerer en rekursiv procedure for alle efterfølgende trin og især for det andet trin (fig.). Hvordan går man fra et sæt tal φ1 = (0 1 5 0) til φ2 = (0 1 5 0 1 2 0 1 5 0 4 5 0 1 5 0)? Svar: gennem direkte matrix multiplikation, når hvert element i en matrix multipliceres med den oprindelige matrix. Da vi i dette tilfælde har at gøre med et endimensionelt array, dvs. Da matricer er vektorer, multipliceres hvert element i en matrix-vektor med alle elementer i en anden matrix-vektor. Derudover består elementerne i matrix-vektoren φ1 af eksponentielle funktioner exp (i2πl/6), derfor vil 10 ved multiplikation af tallet h være nødvendigt at addere ifølge mod (6), og ikke gange.

      Den geometriske form af Koch snefnug ser sådan ud

      Hvordan man tegner et Koch snefnug

      Og der er også Koch-pyramiden

      Du kan finde ud af mere detaljeret, hvordan man tegner et Koch-snefnug fra videoen nedenfor. Nogen forstår måske, jeg gav op.

      Lad os først se på dette Koch snefnug. Diagrammet nedenfor vil bedst vise os.

      Det vil sige, for at tegne et givet snefnug, skal du bruge individuelle geometriske former, som udgør denne geometriske fraktal.

      Grundlaget for vores tegning er en ligesidet trekant. Hver side er opdelt i tre segmenter, hvorfra de næste, mindre, ligesidede trekanter er bygget. Den samme operation udføres med de resulterende trekanter flere gange.

      Kochs snefnug er en af ​​de første fraktaler, der blev studeret af videnskabsmænd. Et snefnug er opnået fra tre kopier af Koch-kurven, information om denne opdagelse dukkede op i 1904 i en artikel af den svenske matematiker Helge von Koch. I det væsentlige blev en kurve opfundet som et eksempel på en kontinuerlig linje, hvortil en tangentlinje ikke kan trækkes på noget punkt. Koch-kurven er enkel i sit design.

      Et eksempel, en fototegning af et billede af et Koch snefnug med trin-for-trin tegning.

      I dette diagram kan du i detaljer undersøge de linjer, der senere vil lave et Koch-snefnug.

      Og dette er en fortolkning af et nyt snefnug baseret på Kochs snefnug.

      Før du forstår, hvordan man tegner et Koch-snefnug, skal du bestemme, hvad det er.

      Så et Koch-snefnug er et geometrisk billede - en fraktal.

      Den fulde definition af Kochs snefnug er givet på billedet nedenfor.

    © 2024 skudelnica.ru -- Kærlighed, forræderi, psykologi, skilsmisse, følelser, skænderier