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 .
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 då 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 ()
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) |
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] .
Ordböcker och uppslagsverk |
---|
fraktaler | ||
---|---|---|
Egenskaper | ||
De enklaste fraktalerna | ||
konstig attraktion | Multifraktal | |
L-system | Utrymmesfyllande kurva | |
Bifurkationsfraktaler | ||
Slumpmässiga fraktaler | ||
människor | ||
Relaterade ämnen |
Kurvor | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Definitioner | |||||||||||||||||||
Förvandlad | |||||||||||||||||||
Icke plan | |||||||||||||||||||
Platt algebraisk |
| ||||||||||||||||||
Platt transcendental |
| ||||||||||||||||||
fraktal |
|