Dragon kurva med Python (1 / 3 steg)

Steg 1: Mönstret



Dragon kurvan, som alla fraktaler, har flera, successivt mer komplexa former, kallade iterationer. Ovan är de 2: a, 4rd, 6: e och 8: e iterationerna av Dragon kurvan. De är alla mer komplex än förra, men alla har samma form, men olika inriktning. Från mina personliga kommentarer verkar det att vrida 45 grader medurs varje iteration. Täcka bilden är den 17: e iterationen. Titta på ovanstående bilder, kan du se att kurvan är gjord av flera segment i rät vinkel. Du kan representera varje iteration som en sträng av höger och vänster svängar.

Den första iterationen är exempelvis: R

Den andra iterationen är: R R L

Den tredje iterationen är: R R L R R L L

Och så vidare. Till detta kan du skapa olika iterationer av Dragon kurvan genom att generera dessa strängar. Det finns många fler sätt att generera kurvan, men jag kommer att fokusera på denna metod. För att hitta nästa iteration från en du redan har:

1. Lägg till höger i strängen

2. ta den ursprungliga strängen och vända det bakåt (första karaktär, senaste först)

3. ta den spegelvänd versionen och byta alla rättigheter till lefts och lefts till rättigheter

4. Lägg den nonchalansen versionen till den nya strängen som vi gjorde i det första steget

Låt oss prova detta till att hitta den 4: e iterationen från 3: e:

1. RRLRRLL + R = RRLRRLLR

2. RRLRRLL vänt = LLRRLRR

3. LLRRLRR bytte = RRLLRLL

4. RRLRRLLR + RRLLRLL = RRLRRLLRRRLLRLL

Detta sätt finner vi att den 4: e iterationen kan representeras som RRLRRLLRRRLLRLL.

I nästa steg kommer jag visa hur man automatisera denna uppgift och dra den med python.

Se Steg
Relaterade Ämnen

Digital bild Management - Del svaga Pics med Python

Tillbaka i dagar med film kosta det pengar varje gång du trycker på avtryckaren, nu "film" är gratis så tar vi ofta dubbletter om fokus, inramning eller några andra detaljer är avstängd. Ibland tar vi bilder från lite olika vinklar av zoom. Resu...

Urklipp kommunikation PC ↔ Pi med Python

Jag använda brukar min hallon-Pi på en delad windows-skrivbordet. Jag delar också en nätverksenhet med Pi. Detta är bra, men jag har fortfarande irritationen i Urklipp på datorn inte kommer till uttryck på Pi. Det kan vara plattformsoberoende apps ut...

Experiment i avancerade dataloggning (med Python)

Det finns en hel del uppgifter loggar instructables, så när jag ville bygga ett loggning projekt av min egen jag tittat runt på ett gäng. Några var bra, några inte så mycket, så jag bestämde mig att ta några av de bättre idéerna och göra min egen ans...

Citron Dragon Pasta med kyckling och kronärtskocka hjärtan

citron Dragon pasta med kyckling och kronärtskocka hjärtan är en krämig, sommar pastarätt utan gluten, mjölk eller soja.Det bygger på olivolja baserat majonnäs och kokosolja för sina krämig kvaliteter. Dragon, citron och kronärtskockor lägga en färsk...

Intellekten Edison Sun Station (UV och Temp) med Python #IntelMakerMx

Vi ska använda våra Intel Edison med en Arduino shield och en grove sköld för att ansluta så många sensorer som du vill.GitHub: https://github.com/Kurtz1993/iot-roadshowSteg 1: Kommunicera med våra Edison genom en seriell COM Första, låt oss kommunic...

Räkna vokaler med Python

Python är ett högnivå datorprogram. I detta instructable, blir det steg på hur man räknar vokaler med variabler med hjälp av Python-språket och programmering. Demonstrationen är en fråga som tas från MITx: 6.00.1x introduktion till datavetenskap och...

Plotly med Python

Jag snubblade nyligen, på Plotly, en vacker online datavisualisering system enligt en göra artikel. Det är överflödigt att säga att det finns olika artiklar som visar användningen av Plotly för Arduino, Raspberry Pi, etcetera.Tyvärr finns det ingen e...

LinkIt en - kommunikation med python

Hej Karl beslutsfattare!Mediateks nya styrelse, LinkIt en erbjuder stora möjligheter - GPS, WiFi, Bluetooth, GSM, utbyggbarhet med gpio, stark processor och mer. Men ibland måste du fortfarande bekvämligheten av python för parsning filer eller rita g...

Pyduino, gränssnitt Arduino med Python via seriell kommunikation

Lär dig hur gränssnittet arduino via seriell kommunikation med python med hjälp av pyduino biblioteket. Det finns några andra tutorials ute på instructables om hur gränssnittet arduino med python men de Visa inte dig hur man gör allt, där förhoppning...

Använda XML på Raspberry Pi med Python

Detta Instructable kommer att diskutera användningen av XML på ansökningar om Raspberry Pi. Steg ett täcker vad är XML och formatet för datastrukturer. Steg två täcker bygga och parsning av XML i Python och steg tre kommer att visa hur XML används so...

Hur man spara filer med Python

I detta outgrundlig jag visa hur man spara filer med Python. Om du har ett Dropbox konto, kan du överföra till den användande den här sane program och bara spara till mappen. Om du vill spara till min dropbox typ jag /Users/WilliamMann/DropboxSteg 1:...

Raspberry pi + Openenergymonitor + PLC Panasonic med Python via Ethernet

Du vill ansluta en Panasonic PLC med Openenergymonitor plattform för övervakning, i detta fall med python inbäddade i en Rasberry Pi som har en webbserver som publicerar Emoncms.PLC Panasonic FPX C14 RSpänning läsa med AFPX modul A21 (2 ingång och 1...

Hur du kommer igång med python.

Så du tror på dig själv, besätta de kodning dudes säker är cool! Eller kanske du är en kodning guru och bara vill lära sig ett annat språk för att skryta om i källaren mödrar? Hur väl du har valt rätt språk. Python är ett av de enklaste och enkla spr...

Filen skapar med Python programmering

Ett användbart verktyg i många automatiserade program är möjligheten att öppna befintliga filer redigera dem och spara resultaten. I många fall exporteras raw-data av enhetens data insamling till en textfil. Så hur kan du skapa eller ändra en text ar...

Styra Arduino med python based web API (ingen php)

I denna guide kommer jag visa dig hur att kontrollera din arduino enhet från en webbsida! Efteråt, jag ska visa dig hur man styr din arduino från din mobila enhet och även skapa en webb-baserad API för att styra din arduino från din webbsida med andr...

Dragon ägg med stativ

en dragon ägg med stativ jag gjortDet var lätt och billigt...

Rita en Baby Dragon tee med min Paint program

Jag ville Rita en baby drake med min färg programvara som är gratis. Ladda hem det här. http://mypaint.intilinux.com/På programvarans hemsida njöt jag tittar på konstnärens Galleri fyllt med ritningar från hela världen däribland Japan. Wow! Där många...

Dragon huvudbonad med EL Wire

Detta är en Instructable om hur man gör en dragon huvudbonad av ark skum (glittrig och normal), fiske tråd, och strand lampor/EL wire (valfritt). Den totala kostnaden för att göra denna huvudbonad är ca 40 € (1,50€ / bit glittrande skum, 1 €/ stycke...

Boxhead återskapas med Python med Tkinter

Boxhead återskapas i Python från BenR på Vimeo.Det är en fantastiskt underhållande datorspel kallas Boxhead, där i huvudsak du och/eller en andra person slåss mot horder av attackerande Zombies och djävlar med olika vapen. För en dator science klass...