Curba Koch

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 .

Clădire

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ă ()


Proprietăți

  • Curba Koch nu este nicăieri diferențiabilă și nu poate fi rectificată.
  • Curba Koch are lungime infinită.
  • Curba Koch nu are auto-intersecții.
  • Curba Koch are o dimensiune Hausdorff intermediară (adică nu întreagă ) , care este egală cu , deoarece este formată din patru părți egale, fiecare dintre ele similară cu întreaga curbă cu un factor de similitudine de 1/3.
  • Avionul permite placarea cu fulgi de zăpadă Koch de două dimensiuni (aria fulgului mai mic este de 3 ori mai mică decât aria celui mai mare). În acest caz, nu există plăci cu fulgi de zăpadă de aceeași dimensiune. [unu]

Variații și generalizări

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)

Snowflake Koch

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] .

Note

  1. Burns, Aidan. Placuri fractale  (neopr.)  // Gazeta Matematică. - 1994. - T. 78 , nr. 482 . - S. 193-196 . — . .
  2. Baird, Eric. Alt.Fractali: un ghid vizual pentru geometria și designul fractalului . Cărți de copac de ciocolată (2011) ISBN 0-9557068-3-1  - Capitolul 3 „Nu fulgul de zăpadă Koch”, în special. paginile 23-24.
  3. 1 2 E. Seligman. Între dimensiuni (Din podcastul Math Mutation 22) // Math Mutation Classics. Explorând colțuri interesante, distractive și ciudate ale matematicii. - Hillsboro, Oregon, SUA: APRESS, 2016. - P. 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. Fractali obișnuiți // Fractali și multifractali în bioecologie. - Nijni Novgorod: Universitatea de Stat Nijni Novgorod, 2013. - S. 49. - 370 p. - ISBN 978-5-91326-246-2 .
  5. 1 2 A. A. Potapov, Yu. V. Gulyaev, S. A. Nikitov, A. A. Pakhomov, V. A. German. Curbe și seturi fractale clasice // Cele mai recente metode de procesare a imaginilor / A. A. Potapov. - M . : „Fizmatlit”, 2008. - S. 82. - 496 p. - ISBN 978-5-9221-0841-6 .

Link -uri