Von Kochs snefnug

Fra Wikipedia, den frie encyklopædi
Gå til: navigation, søg
Koch-kurvans udvikling i de fem første iterationer.
Snefnugkurven eller von Kochs snefnug.

von Kochs snefnug, tillige kendt som Koch-kurven, blev beskrevet af matematikeren Helge von Koch i en artikel med titlen "Sur une courbe continue sans tangente, obtenue par une construction géométrique élémentaire", publiceret 1904 i Arkiv för matematik, astronomi och fysik. Hensigten med artiklen var at give et geometrisk mere tiltalende eksempel på en kontinuerlig kurve som savner tangent i alle punkter end det, som Karl Weierstrass havde opdaget i 1861. Siden er Koch-kurven tillige kendt som en af de tidligst beskrevne fraktaler, et begreb som formuleredes 70 år senere.

Koch-kurvens definition:

  1. Tag en linje.
  2. Del linjen i tre lige store dele.
  3. Lav en kopi af den mellemste del.
  4. Stil de to kopier i vinkel mod hverandre, så at de får plads inden for samme strækning som en ensom linje ellers gør.
  5. Gentag (iterer) fra trin 2 for alle de nye linjer, som er kommet frem ved operationen.

Antallet af nye linjer at operere på bliver hele tiden 4 gange det tidligere antal linjer, så antallet linjer efter n iterationer bliver følgelig 4n. Linjen vokser i længde med en tredjedel i hver ny iteration og kommer således til sidst at blive en uendeligt lang kurve men inden for en begrænset flade. Derfor er kurvens dimensionstal ikke et heltal. Det er anledningen til, at Koch-kurven er en fraktal, (af lat; fractus, brøkdel). Koch-kurvens Hausdorffdimension er \ln 4/\ln 3 \approx 1,261860.

von Kochs snefnug[redigér | redigér wikikode]

Denne figur dannes ved, at man begynder med en ligesidet triangel i stedet for en linje. Ved hver iteration øger omkredsen med en tredjedel. I iteration n er længden (4/3)^n gange den oprindelige længde. Snefnuggets omkreds savner altså grænseværdi og går mod uendelighed, när n går mod uendelighed. Derimod konvergerer dets areal mod 8/5 gange den oprindelige triangels areal.

Programeksempel[redigér | redigér wikikode]

Følgende er en algoritme i programsproget QBasic som viser von Kochs kurve som en IFS-fraktal. Koden er nok ikke alt for svær at oversætte til C/C++ eller noget andet højniveausprog forudsat, at man ved hvordan man gør for at skabe en skærmflade og skriver pixler til den. Noter dog at tegnet [#] modsvarar float i C og [%] er int.

SCREEN 12
RANDOMIZE TIMER
rad# = ATN(1#) / 45#
vinkel# = 60# * rad#
skalning# = 1# / 3#
bildskalning# = 200#
positionx#(0) = 1#
positiony#(0) = 0#
positionx#(1) = COS(vinkel#) / 2#
positiony#(1) = SIN(vinkel#) / 2#
rotationx#(0) = skalning#
rotationy#(0) = 0#
rotationx#(1) = COS(vinkel#) * skalning#
rotationy#(1) = -SIN(vinkel#) * skalning#
x# = 0.75#
y# = 0#
WHILE INKEY$ = ""
  i% = FIX(RND * 2)
  t# = rotationx#(i%) * x# – rotationy#(i%) * y# + positionx#(i%)
  y# = rotationx#(i%) * y# + rotationy#(i%) * x# + positiony#(i%)
  IF FIX(RND * 2) THEN x# = t# ELSE x# = -t#
  PSET (320 + bildskalning# * x#, 240 – bildskalning# * y#)
WEND
END

Eksterne henvisningr[redigér | redigér wikikode]

Commons-logo.svg
Wikimedia Commons har medier relateret til: