Jedno prawo, stosowane na zawsze
Helge von Koch, szwedzki matematyk, wprowadził tę krzywą w artykule z 1904 roku, poszukując ciągłej krzywej, która nigdzie nie miała stycznej - "krutą krzywą", jak to określali wtedy matematycy, odnosząc się do niewielkiej liczby przypadków patologicznych, które podważały ich intuicję co do gładkości. Zasada konstrukcji jest niemalże skandalistycznie prosta: weź dowolny odcinek prostego segmentu, podziel go na trzy równe części, usuń środkową część i zastąp ją bokami drugiego boku równobocznego trójkąta zbudowanego na tym przerwę. Zastosuj tę samą zamianę do każdego z powstałych czterech segmentów, a następnie do każdego segmentu nowej figury, w nieskończoność. Rozpoczęcie od trójkąta równobocznego zamiast jednego segmentu i zastosowanie reguły do wszystkich trzech boków naraz daje sześcioramienną bałdakę Koch.
Obwód ucieka w nieskończoność
Każde zastosowanie reguły zastępuje jeden segment o długości L czterema segmentami o długości L/3 każdy, więc całkowity obwód po tym kroku wynosi 4 × (L/3) = 4L/3 – mnożenie przez dokładnie 4/3 w każdej iteracji, niezależnie od tego, ile segmentów wtedy istnieje. Rozpoczynając od trójkąta o obwodzie P, po n iteracjach obwód wynosi P × (4/3)ⁿ, a ponieważ 4/3 jest większe niż 1, to ta wielkość rośnie bez ograniczeń wraz ze wzrostem n. Nie ma największego obwodu płatków śniegu i nie ma skończonej wartości granicznej – w idealnym matematycznym ujęciu, po nieskołoż liczbie iteracji, obwód stał się nieskończenie długi, mimo że nadal mieści się w ograniczonym obszarze płaszczyzny, wokół którego można narysować koło o skończonym promieniu.
// recursive construction: replace a segment (p1 → p2) with 4 shorter segments
function koch(p1, p2, depth):
if depth == 0: return [p1, p2]
a = p1 + (p2 - p1) / 3 // first third-point
b = p1 + (p2 - p1) * 2 / 3 // second third-point
peak = midpoint(a, b) + outwardNormal(p2 - p1) * (side / (2 * sqrt(3))) // equilateral bump
return koch(p1, a, depth-1) + koch(a, peak, depth-1)
+ koch(peak, b, depth-1) + koch(b, p2, depth-1)
// perimeter(n) = P0 * (4/3)^n → diverges as n → ∞
// area(n) = A0 * (1 + (3/5) * (1 - (4/9)^n)) → converges to A0 * 8/5
Obszar zachowuje się zupełnie inaczej, a ten kontrast stanowi główny cel konstrukcji.
Obszar zachowuje się zupełnie inaczej, a ten kontrast stanowi główny cel konstrukcji. Każde nowe wypięcie dodaje mały trójkąt, którego pole jest proporcyjne do kwadratu zastąpionego segmentu, a ponieważ każdy nowy segment generacji ma długość 1/3 poprzedniej generacji, pole nowego trójkąta wynosi (1/3)² = 1/9 pola trójkąta dodanego w tym samym miejscu o jedną generację wcześniej — ale jest ich 4 razy więcej, które otrzymują nowe wypięcia za każdym razem, więc całkowite dodane pole na iterację zmniejsza się o czynnik 4/9 w porównaniu z poprzednią iteracją. Ciąg geometryczny o współczynniku 4/9 (który jest mniejszy niż 1) zbiega do skończonej sumy: zaczynając od początkowego trójkąta równobocznego o powierzchni A0, całkowita powierzchnia płatów zbiega się dokładnie do 8/5 wartości A0 — czysta, zamknięta forma granicy, w starkim kontraście do niekontrolowanego wzrostu obwodu.
Wymiar, który nie jest liczbą całkowitą
Benoît Mandelbrot później wykorzystał krzywą Kocha jako przykład założycły podczas rozwoju geometrii fraktali, ponieważ jej wymiar samopodobieństwa nie jest liczbą całkowitą. W każdym kroku zastępuje się jeden segment cztery samo-podobne kopie, każda przeskalowana o współczynnik 1/3; ogólna formuła wymiaru samopodobieństwa to D = log(N)/log(1/r), gdzie N oznacza liczbę samo-podobnych elementów, a r jest współczynnikiem skalowania, dając D = log(4)/log(3) ≈ 1,2619. Ta wartość położona ściśle pomiędzy 1 (wymiarem zwykłej gładkiej krzywej) i 2 (wymiarem obszaru wypełnionego dwuwymiarowo) jest formalnym sposobem uchwycenia nieformalnego obserwacji, że krzywa Kocha jest "szorstka" w porównaniu z linią, ale nigdy nie wypełnia żadnej powierzchni — dokładnie taki rodzaj pośredniej, niecałkowitej szorstkości, która nadała nazwę i intuicję założycielską dziedzinie geometrii fraktali.
Żadnego gładkiego przebiegu, bez względu na powiększenie
Motywacja von Kocha – krzywa bez punktu, w którym można obliczyć nachylenie – wynika bezpośrednio z tej samej reguły rekurencyjnej. Przybliż dowolnym punktem na wykończonej krzywej, przy jakiejkolwiek skali powiększenia, i zawsze znajdziesz nowy, trójkątny skok wprowadzony w kolejnych iteracjach; krzywa nigdy lokalnie nie staje się gładka, tak jak robi to krzywa gładka podczas przybliżania się do niej. Formalnie, krzywa Kochowska jest ciągła wszędzie, ale nigdzie nie różniczkowalna – nie ma na niej punktu, w którym można obliczyć dobrze zdefiniowany styczny i tym samym nachylenie lub prędkość. Była to jedna z pierwszych, łatwych do wizualizacji konstrukcji takiej krzywej, poprzedzająca bardziej abstrakcyjne, patologiczne przykłady używane przez analityków, a obecnie pozostaje jednym z najjasniejszych sposobów na zrozumienie, dlaczego "ciągłość" i "gładkość" to nie są tożsame właściwości.
Frequently asked questions
Jak można mieć kształt o nieskończonej długości obwodu, ale skończonej powierzchni?
W każdym kroku rekurencji całkowity obwód jest mnożony przez 4/3, więc po nieskończenie wielu krokach obwód zbiega się do nieskończoności. Dodawana w każdym kroku powierzchnia jednak zmniejsza się o współczynnik 4/9 na iterację w stosunku do poprzedniego dodania, a ta szereg geometryczny zbiega się do skończonej wartości – 8/5 powierzchni pierwotnego trójkąta. Dodanie nieskończenie wielu, nieskończenie małych kawałków obwodu może otaczać obszar ograniczony, nawet jeśli sam długość tego obwodu jest nieograniczona.
Dlaczego krzywa Kocha ma wymiar fraktala pomiędzy 1 a 2?
Jej wymiar samo-podobności wynosi log(4)/log(3), około 1,26, ponieważ w każdym kroku jeden segment jest zastępowany czterema segmentami, każdy o długości jednej trzeciej. Wymiar pomiędzy 1 (gładka linia) a 2 (powierzchnia wypełniona) oddaje fakt, że krzywa jest bardziej szorstka i bardziej zajmuje przestrzeń niż zwykła linia, ale nigdy nie wypełnia obszaru dwuwymiarowego.
Czy krzywa Kocha w rzeczywistości nigdzie nie jest różniczkowalna?
Tak – było to część oryginalnego punktu Helge von Kocha z 1904 roku. W każdym skali, niezależnie od tego, jak bardzo zbliżasz się do krzywej, ona nadal produkuje nowe ostre rogi zamiast wygładzać się w prostą linię, więc nie ma dobrze zdefiniowanej stycznej w żadnym punkcie. Była to jedna z pierwszych rygorystycznie skonstruowanych przykładów ciągłej krzywej bez pochodnej nigdzie.
Wypróbuj na żywo
Wszystko powyżej działa bezpośrednio w Twojej przeglądarce — otwórz the simulation i zmieniaj parametry podczas działania. Nic nie jest instalowane ani przesyłane na serwer, cały model działa w jednej karcie.
▶ Otwórz symulację the simulation