Sköldpadda grafik

Den aktuella versionen av sidan har ännu inte granskats av erfarna bidragsgivare och kan skilja sig väsentligt från versionen som granskades den 11 maj 2019; verifiering kräver 1 redigering .

Sköldpaddsgrafik  är principen för att organisera ett grafikutdatabibliotek, byggt på metaforen om sköldpaddan [1] , en imaginär (och i vissa experiment verklig) robotenhet som rör sig över skärmen eller papperet och roterar i givna riktningar, samtidigt som den lämnar ( eller, efter eget val, utan att lämna) bakom ett ritat spår av en given färg och bredd.

Grundläggande principer

För första gången användes tydligen sköldpaddsgrafik i implementeringen av programmeringsspråket Logo , senare användes det i ett antal grafiska bibliotek och programmeringssystem.

Det som faktiskt används är en ritkontroll i ett polärt koordinatsystem relaterat till sköldpaddans aktuella position.

Grundläggande kommandon:

System som stöder flera sköldpaddor har vanligtvis kommandon

I system riktade till barn, till exempel i LogoMira- systemet , är det möjligt att ändra utseendet på sköldpaddan, ersätta dess standardvy med en bild från förpackningen eller en handritad. Dessutom kan bilden av en sköldpadda göras större eller mindre, såväl som tryckt på ett ark eller vice versa, kopierat från ett ark.

En tillämpning av sköldpaddsgrafik är L-system [2] , som tillhandahåller en mekanism för att visualisera fraktala kurvor.

Exempel

Som ett exempel, överväg att rita vid origo en kvadrat med en sida på 100 punkter i ett "vanligt" diagram:

line(0, 0, 0, 100); line(0, 100, 100, 100); line(100, 100, 100, 0); line(100, 0, 0, 0);

samma sak i sköldpaddsgrafik, på logospråk:

upprepa 4 [framåt 100 höger 90]

Att generalisera detta exempel till fallet med en N-gon i en "vanlig" plot är redan ganska svårt, medan det i en sköldpaddsplot är lika enkelt:

upprepa :N [framåt 100 höger 360/:N]

Ett exempel på att rita en kvadrat i Python

importera sköldpadda för i inom räckvidd ( 4 ): sköldpadda . framåt ( 50 ) sköldpadda . vänster ( 90 )

Anteckningar

  1. Nikolov R., Sendova E. Beginnings of data science. Logospråk / Ed. B. Sendova, Per. från bulgariska Ed. A. V. Giglavogo. M.: Ch. ed. Phys.-Matte. lit., 1989. ISBN 5-02-013998-X
  2. Modellering av anläggningar med L-system