Koch-kurven er en fraktalkurve beskrevet i 1904 af den svenske matematiker Helge von Koch .
Tre kopier af Koch-kurven, bygget (peger udad) på siderne af en ligesidet trekant , danner en lukket kurve af uendelig længde , kaldet et Koch-snefnug .
Koch-kurven er en typisk geometrisk fraktal. Processen med dens konstruktion er som følger: vi tager et enkelt segment, deler det i tre lige store dele og erstatter det midterste interval med en ligesidet trekant uden dette segment. Som et resultat dannes en brudt linje, der består af fire led med en længde på 1/3. Ved næste trin gentager vi operationen for hver af de fire resulterende led, og så videre ... Grænsekurven er Koch-kurven.
Script eksempel ( PHP ) <?php $i = 4 ; $image = imagecreatetruecolor ( 600 , 200 ); imagefilledrectangle ( $image , 0 , 0 , imagesx ( $image ) - 1 , imagesy ( $image ) - 1 , imagecolorresolve ( $image , 255 , 255 , 255 )); $farve = billedfarveopløsning ( $billede , 0 , 0 , 0 ); drawKoch ( $image , 0 , imagesy ( $image ) - 1 , imagesx ( $image ), imagesy ( $image ) - 1 , $i , $color ); /** * Tegner koch-kurve mellem to punkter. * @return void */ funktion drawKoch ( $image , $xa , $ya , $xe , $ye , $i , $color ) { if ( $i == 0 ) imageline ( $image , $xa , $ya , $xe , $ye , $farve ); andet { // C // / \ // A---B D---E $xb = $xa + ( $ xe - $ xa ) * 1/3 ; $yb = $ya + ( $ ye - $ ya ) * 1/3 ; $xd = $xa + ( $ xe - $ xa ) * 2/3 ; $yd = $ya + ( $ ye - $ ya ) * 2/3 ; $cos60 = 0,5 ; $sin60 = - 0,866 ; $xc = $xb + ( $xd - $xb ) * $cos60 - $sin60 * ( $yd - $yb ); $yc = $yb + ( $xd - $xb ) * $sin60 + $cos60 * ( $yd - $yb ); drawKoch ( $billede , $xa , $ya , $xb , $yb , $i - 1 , $farve ); drawKoch ( $billede , $xb , $yb , $xc , $yc , $i - 1 , $farve ); drawKoch ( $billede , $xc , $yc , $xd , $yd , $i - 1 , $farve ); drawKoch ( $billede , $ xd , $ yd , $ xe , $ ye , $ i - 1 , $ farve ); } } header ( 'Indholdstype: image/png' ); imagepng ( $image ); imagedestroy ( $image ); ?> Eksempel på rektangulær kurve ( Pascal ) bruger GraphABC ; procedure Tegn ( x , y , l , u : Real ; t : Heltal ) ; procedure Draw2 ( Var x , y : Real ; l , u : Real ; t : Heltal ) ; begynde Tegn ( x , y , l , u , t ) ; x := x + l * cos ( u ) ; y := y - l * sin ( u ) ; ende ; begynder hvis t > 0 så begynder l := l / 3 ; Tegn2 ( x , y , l , u , t - 1 ) ; Tegn2 ( x , y , l , u + pi / 3 , t - 1 ) ; Tegn2 ( x , y , l , u - pi / 3 , t - 1 ) ; Tegn2 ( x , y , l , u , t - 1 ) ; end else Linje ( Rund ( x ) , Rund ( y ) , Rund ( x + cos ( u ) * l ) , Rund ( y - sin ( u ) * l )) ende ; start SetWindowSize ( 425 , 500 ) ; SetWindowCaption ( 'Fractals: Koch Snowflake' ) ; Tegn ( 10 , 354 , 400 , pi / 3 , 4 ) ; Tegn ( 410 , 354 , 400 , pi , 4 ) ; Tegn ( 210 , 8 , 400 , -pi / 3 , 4 ) ; _ ende . Eksempel på rektangulær kurve ( Python ) import skildpadde skildpadde . hideturtle () skildpadde . sporstof ( 0 ) skildpadde . penup () skildpadde . sætposition ( -200 , 0 ) skildpadde . _ pendown () aksiom = "F" tempAx = "" iterable = 4 logik = { 'F' : 'F+F−F−F+F' } for i i område ( iterable ): for j i aksiom : hvis j i logik : tempAx += logik [ j ] else : tempAx += j aksiom , tempAx = tempAx , '' for k i aksiom : hvis k == '+' : skildpadde . højre ( -90 ) elif k == ' − ' : skildpadde . venstre ( -90 ) andet : skildpadde . _ frem ( 5 ) skildpadde . opdatere () skildpadde . hovedsløjfe ()
Generaliseringer af Koch-kurven er mulige, som også bruger substitution af en stiplet linje fra fire lige store segmenter, men med en anden geometri, når de konstrueres. De har en Hausdorff-dimension fra 1 til 2. Især hvis vi i stedet for at dividere segmentet 1:1:1 bruger det gyldne forhold (φ:1:φ), så er den resulterende kurve relateret til Penrose-fliser .
Du kan også bygge et Koch-snefnug på siderne af en ligesidet trekant.
Efter Kochs tilgang blev varianter med rette vinkler (kvadratisk), andre vinkler ( Cesaro ) eller cirkler og deres udvidelser til højere dimensioner (sfærisk snefnug) udviklet:
Mulighed | Illustration | Kvittering |
---|---|---|
1D, 85°, vinkel | Cesaro fraktalen er en variant af Koch-kurven med en vinkel mellem 60° og 90° (her 85°) | |
1D, 90°, vinkel | ||
1D, 90°, vinkel | ||
2D, trekanter | ||
2D, 90°, vinkel | En forlængelse af en type 1 kvadratisk kurve svarende til den "omvendte Menger-svamp" [2] . Billedet til venstre viser fraktalen efter den anden iteration: | |
2D, 90°, vinkel | Type 2 kvadratisk kurveforlængelse. Billedet til venstre viser fraktalen efter den første iteration. | |
2D, kugler | Eric Haynes designet "sfærisk snefnug" fraktal, som er en 3D-version af Koch snefnug (ved hjælp af kugler) |
Koch-snefnuget, konstrueret som en lukket kurve baseret på en ligesidet trekant , blev første gang beskrevet af den svenske matematiker Helge von Koch i 1904 [3] . I nogle værker blev den kaldt "Koch Island" [4] .
Denne fraktale kurve har vist sig at have en række mærkelige egenskaber. For eksempel er længden af dens omkreds lig med uendelig, hvilket dog ikke forhindrer den i at dække et begrænset område , hvis værdi er lig med 8/5 af arealet af basistrekanten [5] . På grund af dette faktum er nogle anvendte teknikker og parametre for flade figurer, såsom for eksempel kantindekset (forholdet mellem omkredsen og roden af området), når man arbejder med et Koch-snefnug, uanvendelige [4] .
Beregningen af den fraktale dimension af Koch-snefnuget giver en værdi omtrent lig med 1,2619 [3] [4] .
Det er også muligt at bygge det såkaldte Koch anti-snefnug, hvis generationsalgoritme består i at skære flere og flere nye trekanter ud fra den originale på hvert trin. Med andre ord er kanterne af basisformen modificeret indad, ikke udad. Som et resultat dækker den resulterende figur et uendeligt sæt af uforbundne områder, hvis samlede areal er lig med 2/5 af arealet af trekanten med nul iteration [5] .
![]() |
---|
fraktaler | ||
---|---|---|
Egenskaber | ||
De enkleste fraktaler | ||
mærkelig attraktion | Multifraktal | |
L-system | Rumudfyldende kurve | |
Bifurkations fraktaler | ||
Tilfældige fraktaler | ||
Mennesker | ||
relaterede emner |
Kurver | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Definitioner | |||||||||||||||||||
Forvandlet | |||||||||||||||||||
Ikke-plan | |||||||||||||||||||
Flad algebraisk |
| ||||||||||||||||||
Flad transcendental |
| ||||||||||||||||||
fraktal |
|