Curba Koch este o curbă fractală descrisă în 1904 de matematicianul suedez Helge von Koch .
Trei copii ale curbei Koch, construite (îndreptate spre exterior) pe laturile unui triunghi echilateral , formează o curbă închisă de lungime infinită , numită fulg de zăpadă Koch .
Curba Koch este un fractal geometric tipic. Procesul de construcție a acestuia este următorul: luăm un singur segment, îl împărțim în trei părți egale și înlocuim intervalul din mijloc cu un triunghi echilateral fără acest segment. Ca rezultat, se formează o linie întreruptă, constând din patru verigi cu lungimea de 1/3. La pasul următor, repetăm operația pentru fiecare dintre cele patru legături rezultate și așa mai departe... Curba limită este curba Koch.
Exemplu de script ( PHP ) <?php $i = 4 ; $imagine = imagecreatetruecolor ( 600 , 200 ); imagefilleddrectangle ( $imagine , 0 , 0 , imagesx ( $imagine ) - 1 , imagesy ( $imagine ) - 1 , imagecolorresolve ( $imagine , 255 , 255 , 255 )); $culoare = imaginecolorresolve ( $imagine , 0 , 0 , 0 ); drawKoch ( $imagine , 0 , imagesy ( $imagine ) - 1 , imagesx ( $imagine ), imagesy ( $imagine ) - 1 , $i , $culoare ); /** * Desenează curba koch între două puncte. * @return void */ function drawKoch ( $imagine , $xa , $ya , $xe , $ye , $i , $culoare ) { if ( $i == 0 ) imagineline ( $imagine , $xa , $ya , $xe , $ye , $culoare ); 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 ( $imagine , $xa , $ya , $xb , $yb , $i - 1 , $culoare ); drawKoch ( $imagine , $xb , $yb , $xc , $yc , $i - 1 , $culoare ); drawKoch ( $imagine , $xc , $yc , $xd , $yd , $i - 1 , $culoare ); drawKoch ( $imagine , $xd , $yd , $xe , $ye , $i - 1 , $culoare ); } } antet ( 'Tipul conținut: imagine/png' ); imagepng ( $imagine ); imagedestroy ( $imagine ); ?> Exemplu de curbă dreptunghiulară ( Pascal ) folosește GraphABC ; procedura Draw ( x , y , l , u : Real ; t : Integer ) ; procedura Draw2 ( Var x , y : Real ; l , u : Real ; t : Integer ) ; începe Desenează ( x , y , l , u , t ) ; x := x + l * cos ( u ) ; y := y - l * sin ( u ) ; sfârşitul ; începe dacă t > 0 atunci începe 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 Linie ( Rotunzi ( x ) , Rotunzi ( y ) , Rotunzi ( x + cos ( u ) * l ) , Rotunzi ( y - sin ( u ) * l ) ) sfârşit ; începe SetWindowSize ( 425 , 500 ) ; SetWindowCaption ( 'Fractali: Koch Snowflake' ) ; Remiză ( 10 , 354 , 400 , pi / 3 , 4 ) ; Retrage ( 410 , 354 , 400 , pi , 4 ) ; Remiză ( 210 , 8 , 400 , -pi / 3 , 4 ) ; _ sfârşitul . Exemplu de curbă dreptunghiulară ( Python ) import broasca testoasa broasca testoasa . hideturtle () țestoasă . trasator ( 0 ) broasca testoasa . penup () broasca testoasa . setposition ( - 200 , 0 ) broasca testoasa . pendown () axiomă = "F" tempAx = "" iterabil = 4 logic = { 'F' : 'F+F−F−F+F' } pentru i în interval ( iterabil ): pentru j în axiomă : dacă j în logică : tempAx += logic [ j ] else : tempAx += j axiomă , tempAx = tempAx , '' pentru k în axiomă : dacă k == '+' : broască ţestoasă . dreapta ( - 90 ) elif k == '−' : broasca testoasa . stânga ( - 90 ) else : broasca testoasa . înainte ( 5 ) broasca testoasa . update () broasca testoasa . bucla principală ()
Sunt posibile generalizări ale curbei Koch, care folosesc și înlocuirea unei linii întrerupte din patru segmente egale, dar având o geometrie diferită, la construcție. Au o dimensiune Hausdorff de la 1 la 2. În special, dacă în loc să împărțim segmentul 1:1:1 folosim raportul de aur (φ:1:φ), atunci curba rezultată este legată de plăcile Penrose .
De asemenea, puteți construi un fulg de zăpadă Koch pe părțile laterale ale unui triunghi echilateral.
Urmând abordarea lui Koch, au fost dezvoltate variante cu unghiuri drepte (patratice), alte unghiuri ( Cesaro ) sau cercuri și extinderile lor la dimensiuni mai mari (fulg de nea sferic):
Opțiune | Ilustrare | Chitanță |
---|---|---|
1D, 85°, unghi | Fractalul Cesaro este o variantă a curbei Koch cu un unghi între 60° și 90° (aici 85°) | |
1D, 90°, unghi | ||
1D, 90°, unghi | ||
2D, triunghiuri | ||
2D, 90°, unghi | O extensie a unei curbe pătratice de tip 1 corespunzătoare „buretelui Menger inversat” [2] . Imaginea din stânga arată fractalul după a doua iterație: | |
2D, 90°, unghi | Extensie de curbă pătratică de tip 2. Imaginea din stânga arată fractalul după prima iterație. | |
2D, sfere | Eric Haynes a proiectat fractalul „fulg de zăpadă sferic”, care este o versiune 3D a fulgului de zăpadă Koch (folosind sfere) |
Fulgul de zăpadă Koch, construit ca o curbă închisă bazată pe un triunghi echilateral , a fost descris pentru prima dată de matematicianul suedez Helge von Koch în 1904 [3] . În unele lucrări, a fost numită „Insula Koch” [4] .
S-a demonstrat că această curbă fractală are o serie de proprietăți curioase. De exemplu, lungimea perimetrului său este egală cu infinitul, ceea ce, totuși, nu îl împiedică să acopere o zonă finită , a cărei valoare este egală cu 8/5 din aria triunghiului de bază [5] . Datorită acestui fapt, unele tehnici și parametri aplicați ai figurilor plate, cum ar fi, de exemplu, indicele marginii (raportul dintre perimetrul și rădăcina zonei), atunci când se lucrează cu un fulg de zăpadă Koch, sunt inaplicabili [4] .
Calculul dimensiunii fractale a fulgului de nea Koch dă o valoare aproximativ egală cu 1,2619 [3] [4] .
De asemenea, este posibil să se construiască așa-numitul anti-fulg de zăpadă Koch, al cărui algoritm de generare constă în tăierea din ce în ce mai multe triunghiuri noi din cel original la fiecare etapă. Cu alte cuvinte, marginile formei de bază sunt modificate spre interior, nu spre exterior. Ca rezultat, figura rezultată acoperă un set infinit de zone neconectate, a căror suprafață totală este egală cu 2/5 din aria triunghiului de iterație zero [5] .
Dicționare și enciclopedii |
---|
fractali | ||
---|---|---|
Caracteristici | ||
Cei mai simpli fractali | ||
atractor ciudat | Multifractal | |
Sistemul L | Curba de umplere a spațiului | |
Fractali de bifurcație | ||
Fractali aleatorii | ||
oameni | ||
subiecte asemănătoare |
Curbe | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Definiții | |||||||||||||||||||
Transformat | |||||||||||||||||||
Neplanare | |||||||||||||||||||
algebric plat |
| ||||||||||||||||||
Plat transcendental |
| ||||||||||||||||||
fractal |
|