Koch kurva

Kochkurvan  är en fraktalkurva som beskrevs 1904 av den svenske matematikern Helge von Koch .

Tre kopior av Koch-kurvan, byggd (pekar utåt) på sidorna av en liksidig triangel , bildar en stängd kurva av oändlig längd , kallad en Koch-snöflinga .

Byggnad

Koch-kurvan är en typisk geometrisk fraktal. Processen för dess konstruktion är som följer: vi tar ett enda segment, delar det i tre lika delar och ersätter mittintervallet med en liksidig triangel utan detta segment. Som ett resultat bildas en bruten linje, bestående av fyra länkar med längden 1/3. I nästa steg upprepar vi operationen för var och en av de fyra resulterande länkarna, och så vidare ... Gränskurvan är Koch-kurvan.

Skriptexempel ( PHP ) <?php $i = 4 ; $image = imagecreatetruecolor ( 600 , 200 ); bildfylld rektangel ( $image , 0 , 0 , imagesx ( $image ) - 1 , imagesy ( $image ) - 1 , imagecolorresolve ( $image , 255 , 255 , 255 )); $color = imagecolorresolve ( $image , 0 , 0 , 0 ); drawKoch ( $image , 0 , imagesy ( $image ) - 1 , imagesx ( $image ), imagesy ( $image ) - 1 , $i , $color ); /** * Ritar koch-kurva mellan två punkter. * @return void */ function drawKoch ( $image , $xa , $ya , $xe , $ye , $i , $color ) { if ( $i == 0 ) imageline ( $image , $xa , $ya , $xe , $ye , $color ); annars { // 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 ( $image , $xa , $ya , $xb , $yb , $i - 1 , $color ); drawKoch ( $image , $xb , $yb , $xc , $yc , $i - 1 , $color ); drawKoch ( $image , $xc , $yc , $xd , $yd , $i - 1 , $color ); drawKoch ( $image , $xd , $yd , $xe , $ye , $i - 1 , $color ); } } header ( 'Content-type: image/png' ); imagepng ( $image ); imagedestroy ( $image ); ?> Exempel på rektangulär kurva ( Pascal ) använder GraphABC ; procedure Draw ( x , y , l , u : Real ; t : Heltal ) ; procedure Draw2 ( Var x , y : Real ; l , u : Real ; t : Heltal ) ; börja Rita ( x , y , l , u , t ) ; x := x + l * cos ( u ) ; y := y - l * sin ( u ) ; slut ; börja om t > 0 börjar l := l / 3 ; Draw2 ( x , y , l , u , t - 1 ) ; Draw2 ( x , y , l , u + pi / 3 , t - 1 ) ; Draw2 ( x , y , l , u - pi / 3 , t - 1 ) ; Draw2 ( x , y , l , u , t - 1 ) ; end else Linje ( Round ( x ) , Round ( y ) , Round ( x + cos ( u ) * l ) , Round ( y - sin ( u ) * l )) slut ; börja SetWindowSize ( 425 , 500 ) ; SetWindowCaption ( 'Fractals: Koch Snowflake' ) ; Draw ( 10 , 354 , 400 , pi / 3 , 4 ) ; Rita ( 410 , 354 , 400 , pi , 4 ) ; Draw ( 210 , 8 , 400 , -pi / 3 , 4 ) ; _ slut . Exempel på rektangulär kurva ( Python ) importera sköldpadda sköldpadda . hideturtle () sköldpadda . spår ( 0 ) sköldpadda . penup () sköldpadda . setposition ( -200 , 0 ) sköldpadda . _ pendown () axiom = "F" tempAx = "" iterabel = 4 logik = { 'F' : 'F+F−F−F+F' } för i i intervall ( iterabel ): för j i axiom : om j i logik : tempAx += logik [ j ] annat : tempAx += j axiom , tempAx = tempAx , '' för k i axiom : om k == '+' : sköldpadda . höger ( -90 ) elif k == '− ' : sköldpadda . vänster ( -90 ) annat : sköldpadda . _ framåt ( 5 ) sköldpadda . uppdatera () sköldpadda . huvudslinga ()


Egenskaper

  • Koch-kurvan är ingenstans differentierbar och inte likriktbar.
  • Koch-kurvan har oändlig längd.
  • Koch-kurvan har inga självkorsningar.
  • Koch-kurvan har en mellanliggande (det vill säga inte heltal ) Hausdorff-dimension , som är lika med , eftersom den består av fyra lika delar, som var och en liknar hela kurvan med en likhetsfaktor på 1/3.
  • Planet tillåter plattsättning med Koch-snöflingor i två storlekar (ytan för den mindre snöflingan är 3 gånger mindre än ytan på den större). I det här fallet finns det ingen plattsättning med snöflingor av samma storlek. [ett]

Variationer och generaliseringar

Generaliseringar av Koch-kurvan är möjliga, som också använder ersättning av en streckad linje från fyra lika segment, men med en annan geometri, vid konstruktion. De har en Hausdorff-dimension från 1 till 2. I synnerhet om vi istället för att dividera segmentet 1:1:1 använder det gyllene snittet (φ:1:φ), så är den resulterande kurvan relaterad till Penrose-plattor .

Du kan också bygga en Koch Snowflake på sidorna av en liksidig triangel.

Efter Kochs tillvägagångssätt utvecklades varianter med räta vinklar (kvadratisk), andra vinklar ( Cesaro ) eller cirklar och deras förlängningar till högre dimensioner (sfärisk snöflinga):

Alternativ Illustration Mottagande
1D, 85°, vinkel Cesaro-fraktalen är en variant av Koch-kurvan med en vinkel mellan 60° och 90° (här 85°)
1D, 90°, vinkel
1D, 90°, vinkel
2D, trianglar
2D, 90°, vinkel En förlängning av en kvadratisk kurva typ 1 motsvarande den "inverterade Menger-svampen" [2] . Bilden till vänster visar fraktalen efter den andra iterationen:
2D, 90°, vinkel Typ 2 kvadratisk kurvförlängning. Bilden till vänster visar fraktalen efter den första iterationen.
2D, sfärer Eric Haynes designade fraktalen "sfärisk snöflinga", som är en 3D-version av Koch-snöflingan (med sfärer)

Snowflake Koch

Kochsnöflingan, konstruerad som en sluten kurva baserad på en liksidig triangel , beskrevs första gången av den svenske matematikern Helge von Koch 1904 [3] . I vissa verk kallades den "Koch Island" [4] .

Denna fraktalkurva har visat sig ha ett antal märkliga egenskaper. Till exempel är längden på dess omkrets lika med oändligheten, vilket dock inte hindrar den från att täcka ett ändligt område , vars värde är lika med 8/5 av arean av bastriangeln [5] . På grund av detta faktum är vissa tillämpade tekniker och parametrar för platta figurer, såsom till exempel kantindex (förhållandet mellan omkretsen och roten av området), när man arbetar med en Koch-snöflinga, otillämpliga [4] .

Beräkningen av den fraktala dimensionen av Koch-snöflingan ger ett värde som är ungefär lika med 1,2619 [3] [4] .

Det är också möjligt att bygga den så kallade Koch anti-snöflingan, vars genereringsalgoritm består i att skära ut fler och fler nya trianglar från den ursprungliga i varje steg. Med andra ord, kanterna på basformen modifieras inåt, inte utåt. Som ett resultat täcker den resulterande siffran en oändlig uppsättning osammanhängande områden, vars totala yta är lika med 2/5 av arean av triangeln med noll iteration [5] .

Anteckningar

  1. Burns, Aidan. Fraktalplattor  (neopr.)  // Matematisk tidning. - 1994. - T. 78 , nr 482 . - S. 193-196 . — . .
  2. Baird, Eric. Alt.Fractals: En visuell guide till fraktal geometri och design . Chocolate Tree Books (2011) ISBN 0-9557068-3-1  - Kapitel 3 "Not the Koch Snowflake", esp. sidorna 23-24.
  3. 1 2 E. Seligman. Between the Dimensions (Från Math Mutation podcast 22) // Math Mutation Classics. Utforska intressanta, roliga och konstiga hörn av matematik. - Hillsboro, Oregon, USA: APRESS, 2016. - S. 53. - ISBN 978-1-4842-1891-4 . - doi : 10.1007/978-1-4842-1892-1 .
  4. 1 2 3 Gelashvili D. B., Iudin D. I., Rozenberg G. S., Yakimov V. N., Solntsev L. A. 2.3. Reguljära fraktaler // Fraktaler och multifraktaler inom bioekologi. - Nizhny Novgorod: Nizhny Novgorod State University, 2013. - S. 49. - 370 sid. - ISBN 978-5-91326-246-2 .
  5. 1 2 A. A. Potapov, Yu. V. Gulyaev, S. A. Nikitov, A. A. Pakhomov, V. A. German. Klassiska fraktala kurvor och uppsättningar // De senaste metoderna för bildbehandling / A. A. Potapov. - M . : "Fizmatlit", 2008. - S. 82. - 496 sid. - ISBN 978-5-9221-0841-6 .

Länkar