Gosper kurva

Gosper-kurvan , eller Peano-Gosper-kurvan [1] , uppkallad efter upptäckaren Bill Gosper , är en rymdfyllande kurva . Är en fraktal kurva som liknar draken och Hilbert- kurvorna .

Fjärde etappen av Gosper-kurvan Den streckade linjen från den röda pricken till den gröna visar ett steg i konstruktionen av Gosper-kurvan.

Algoritm

Lindenmayer system

Gosper-kurvan kan representeras med hjälp av Lindenmeier-systemet med följande regler:

I det här fallet betyder A och B gå framåt, + betyder sväng vänster 60º, och - betyder sväng 60º åt höger med hjälp av "sköldpadda" programmeringsstil som i Logo eller Python3 .

Logotyp

Logotypprogram för att rita gosperkurva med sköldpaddsgrafik ( onlineversion ):

to rg :st :ln make "st :st - 1 make "ln :ln / sqrt 7 if :st > 0 [rg :st :ln rt 60 gl :st :ln rt 120 gl :st :ln lt 60 rg :st :ln lt 120 rg :st :ln rg :st :ln lt 60 gl :st :ln rt 60] if :st = 0 [fd :ln rt 60 fd :ln rt 120 fd :ln lt 60 fd :ln lt 120 fd :ln fd :ln lt 60 fd :ln rt 60] end to gl :st :ln make "st :st - 1 make "ln :ln / sqrt 7 if :st > 0 [lt 60 rg :st :ln rt 60 gl :st :ln gl :st :ln rt 120 gl :st :ln rt 60 rg :st :ln lt 120 rg :st :ln lt 60 gl :st :ln] if :st = 0 [lt 60 fd :ln rt 60 fd :ln fd :ln rt 120 fd :ln rt 60 fd :ln lt 120 fd :ln lt 60 fd :ln] end

Programmet kan startas till exempel med kommandot rg 4 300eller gl 4 300.

Python3

importera sköldpadda sköldpadda . hideturtle () sköldpadda . spår ( 0 ) sköldpadda . penup () sköldpadda . setposition ( 180 , 240 ) sköldpadda . pendown () axiom , tempAx , logic , iterations = 'A' , '' , { 'A' : 'AB--B+A++AA+B-' , 'B' : '+A-BB--B-A+ + A+B' }, 5 för i i intervall ( iterationer ): för j i axiom : tempAx += logik [ j ] om j i logik annars j axiom , tempAx = tempAx , '' för k i axiom : om k == '+' : sköldpadda . vänster ( 60 ) elif k == '-' : sköldpadda . höger ( 60 ) annat : sköldpadda . framåt ( 4 ) sköldpadda . uppdatera () sköldpadda . huvudslinga ()

Egenskaper

Kurvfyllda fragment av planet kallas Gospers öar . De första iterationerna visas nedan:

Gosper's Island kan asfaltera planet . Faktum är att sju exemplar av Gospers Island kan sammanfogas för att bilda en liknande figur, men ökas med en faktor på √7 i alla riktningar. Som du kan se i figuren nedan resulterar denna operation i en mindre version av nästa iteration av kurvan. Att fortsätta processen i det oändliga ger en plattsättning av planet. Själva kurvan kan likaså förlängas till oändligheten för att fylla hela planet.

Se även

  • Lista över fraktaler efter Hausdorff-dimension

Anteckningar

  1. Weisstein, Eric W. Peano-Gosper Curve . Mathworld . Hämtad 31 oktober 2013. Arkiverad från originalet 20 april 2019.

Länkar