Kochova křivka je fraktální křivka popsaná v roce 1904 švédským matematikem Helge von Kochem .
Tři kopie Kochovy křivky, postavené (směřující ven) na stranách rovnostranného trojúhelníku , tvoří uzavřenou křivku nekonečné délky , nazývanou Kochova sněhová vločka .
Kochova křivka je typický geometrický fraktál. Proces jeho konstrukce je následující: vezmeme jeden segment, rozdělíme ho na tři stejné části a nahradíme střední interval rovnostranným trojúhelníkem bez tohoto segmentu. V důsledku toho se vytvoří přerušovaná čára, která se skládá ze čtyř článků o délce 1/3. V dalším kroku operaci zopakujeme pro každý ze čtyř výsledných článků atd.... Limitní křivkou je Kochova křivka.
Příklad skriptu ( PHP ) <?php $i = 4 ; $image = imagecreatetruecolor ( 600 , 200 ); imagefilledrectangle ( $image , 0 , 0 , imagesx ( $image ) - 1 , imagesy ( $image ) - 1 , imagecolorresolve ( $image , 255 , 255 , 255 )); $barva = imagecolorresolve ( $ obrazek , 0 , 0 , 0 ); drawKoch ( $image , 0 , imagesy ( $image ) - 1 , imagesx ( $image ), imagesy ( $image ) - 1 , $i , $color ); /** * Kreslí koch křivku mezi dvěma body. * @return void */ function drawKoch ( $image , $xa , $ya , $xe , $ye , $i , $color ) { if ( $i == 0 ) imageline ( $image , $xa , $ya , $xe , $ye , $barva ); else { // 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 , $barva ); drawKoch ( $image , $xb , $yb , $xc , $yc , $i - 1 , $barva ); drawKoch ( $image , $xc , $yc , $xd , $yd , $i - 1 , $barva ); drawKoch ( $image , $xd , $yd , $xe , $ye , $i - 1 , $barva ); } } záhlaví ( 'Typ obsahu: obrázek/png' ); imagepng ( $ obrazek ); imagedestroy ( $image ); ?> Příklad obdélníkové křivky ( Pascal ) používá GraphABC ; procedure Draw ( x , y , l , u : Real ; t : Integer ) ; procedure Draw2 ( Var x , y : Real ; l , u : Real ; t : Integer ) ; begin Draw ( x , y , l , u , t ) ; x := x + l * cos ( u ) ; y := y - l * sin ( u ) ; konec ; begin if t > 0 then begin 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 Line ( Round ( x ) , Round ( y ) , Round ( x + cos ( u ) * l ) , Round ( y - sin ( u ) * l )) end ; begin SetWindowSize ( 425 , 500 ) ; SetWindowCaption ( 'Fractals: Koch Snowflake' ) ; Draw ( 10 , 354 , 400 , pi / 3 , 4 ) ; Draw ( 410 , 354 , 400 , pí , 4 ) ; Draw ( 210 , 8 , 400 , -pi / 3 , 4 ) ; _ konec . Příklad obdélníkové křivky ( Python ) importovat želvu želva . hideturtle () želva . tracer ( 0 ) želva . penup () želva . setposition ( - 200 , 0 ) želva . připomenutí () axiom = "F" tempAx = "" iterovatelné = 4 logika = { 'F' : 'F+F−F−F+F' } pro i v rozsahu ( iterovatelné ): pro j v axiomu : pokud j v logice : tempAx += logika [ j ] else : tempAx += j axiom , tempAx = tempAx , '' pro k v axiomu : if k == '+' : želva . pravý ( - 90 ) elif k == '−' : želva . vlevo ( - 90 ) jinde : želva . vpřed ( 5 ) želva . aktualizovat () želva . hlavní smyčka ()
Jsou možná zobecnění Kochovy křivky, která při konstrukci také využívají substituci přerušované čáry ze čtyř stejných segmentů, ale majících jinou geometrii. Mají Hausdorffův rozměr od 1 do 2. Zejména pokud místo dělení segmentu 1:1:1 použijeme zlatý řez (φ:1:φ), pak výsledná křivka souvisí s obklady Penrose .
Můžete také postavit Kochovu sněhovou vločku na stranách rovnostranného trojúhelníku.
Po Kochově přístupu byly vyvinuty varianty s pravými úhly (kvadratický), jinými úhly ( Cesaro ) nebo kružnicemi a jejich rozšíření do vyšších dimenzí (kulová sněhová vločka):
Volba | Ilustrace | Účtenka |
---|---|---|
1D, 85°, úhel | Fraktál Cesaro je variantou Kochovy křivky s úhlem mezi 60° a 90° (zde 85°) | |
1D, 90°, úhel | ||
1D, 90°, úhel | ||
2D, trojúhelníky | ||
2D, 90°, úhel | Rozšíření kvadratické křivky typu 1 odpovídající „obrácené Mengerově houbě“ [2] . Obrázek vlevo ukazuje fraktál po druhé iteraci: | |
2D, 90°, úhel | Rozšíření kvadratické křivky typu 2. Obrázek vlevo ukazuje fraktál po první iteraci. | |
2D, koule | Eric Haynes navrhl fraktál „kulaté sněhové vločky“, což je 3D verze Kochovy sněhové vločky (pomocí koulí) |
Kochova sněhová vločka, konstruovaná jako uzavřená křivka založená na rovnostranném trojúhelníku , byla poprvé popsána švédským matematikem Helge von Kochem v roce 1904 [3] . V některých dílech se mu říkalo „Kochův ostrov“ [4] .
Ukázalo se, že tato fraktální křivka má řadu zvláštních vlastností. Například délka jeho obvodu je rovna nekonečnu, což mu však nebrání v pokrytí konečné oblasti , jejíž hodnota se rovná 8/5 plochy základního trojúhelníku [5] . Vzhledem k této skutečnosti jsou některé aplikované techniky a parametry plochých obrazců, jako např. okrajový index (poměr obvodu ke kořeni plochy), při práci s Kochovou vločkou nepoužitelné [4] .
Výpočet fraktální dimenze Kochovy sněhové vločky dává hodnotu přibližně rovnou 1,2619 [3] [4] .
Je také možné sestavit tzv. Kochovu antisněhovou vločku, jejíž generační algoritmus spočívá ve vyřezávání stále nových a nových trojúhelníků z původního v každé fázi. Jinými slovy, okraje základního tvaru jsou upraveny směrem dovnitř, nikoli směrem ven. Výsledkem je, že výsledný obrázek pokrývá nekonečnou množinu nespojených oblastí, jejichž celková plocha se rovná 2/5 plochy trojúhelníku nulové iterace [5] .
![]() |
---|
fraktály | ||
---|---|---|
Charakteristika | ||
Nejjednodušší fraktály | ||
podivný atraktor | Multifraktální | |
L-systém | Křivka vyplňující prostor | |
Bifurkační fraktály | ||
Náhodné fraktály | ||
Lidé | ||
související témata |
Křivky | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Definice | |||||||||||||||||||
Transformováno | |||||||||||||||||||
Nerovinné | |||||||||||||||||||
Plochá algebraika |
| ||||||||||||||||||
Ploché transcendentální |
| ||||||||||||||||||
fraktál |
|