Strona główna » Poradniki » Logomocja » Python i Żółw » Żółw w Kółku
 

Żółw w Kółku

Wstęp

Rysowanie kółka przy pomocy żółwia jest bardzo proste. Istnieję dwie główne metody, które pozwalają na rysowanie okręgu jak również wypełnionego kółka. W artykule zostało wyjaśnione jak z nich korzystać.

Kropka

Najprostszym sposobem na narysowanie koła jest postawienie kropki. Służy do tego polecenie dot(). Funkcja ta może nie przyjmować żadnego argumentu, wtedy zostanie narysowania kropka dwa razy większe od aktualnej szerokości pisaka, albo można jawnie określić jakiej wielkości kropkę chcemy narysować. Oto przykładowe narysowanie dwóch kropek:

  1. żółw.dot()
  2. żółw.fd(75)
  3. żółw.dot(20)

Duża, czarna kropka na ekranie nie jest zbyt zachęcająca dla oka, dlatego warto nadać kropce jakiś konkretny kolor. Podczas rysowanie kropki nie jest ważny kolor malowania (fillcolor), a kolor pisaka (pencolor). Drugim sposobem jest przekazanie koloru do polecenia dot() jako kolejny argument - wtedy kolor pisaka żółwia nie zostaje zmieniony, a mimo to na ekranie zostaje narysowana kolorowa kropka.

  1. żółw.pencolor("blue")
  2. żółw.dot(40)
  3. żółw.fd(75)
  4. żółw.dot(60, "green")

Warto zwrócić uwagę, że żółw znajduje się pośrodku rysowanej kropki, a przekazywany rozmiar kropki jest średnicą. W ten sposób można bardzo łatwo zarządzać wielkością rysowanego kółka. Ponadto kropka jest jednokolorowa - kropka nie posiada żadnej obwódki dookoła.

Kółko

Bardziej zaawansowanym narzędziem do rysowania kół jest polecenie circle(). W celu narysowania okręgu należy podać jego promień jako pierwszy argument funkcji. Działanie rysowania okręgu jest inne niż kropki. Okazuje się, że żółw faktycznie rysuje koło, ale tym razem samą obręcz, a koło znajduje się "nad nim". W momencie podania dodatniego promienia żółw rysuje koło skręcając w lewo, a jeśli poda się ujemną to rozpoczyna rysowanie okręgu skręcajac w prawo.

  1. żółw.left(90)
  2. żółw.circle(40)
  3. żółw.pencolor("red")
  4. żółw.circle(-40)

Kolejnym argumentem jaki można przekazać metodzie circle() jest extent. Wartość ta określa jaka część okręgu powinna zostać narysowana. Podanie wartości 360º oznacza narysowanie pełnego okręgu, a 180º tylko jego połowę. W przypadku, gdy nie jest rysowany pełen okręg to rysowana krzywa rozpocznie się w miejscu, gdzie znajduje się żółw. Można to wykorzystać do narysowania trzykolorowego koła. Poniżej został zamieszczony przykładowy kod:

  1. żółw.circle(60, 180)
  2. żółw.pencolor("blue")
  3. żółw.circle(60, 90)
  4. żółw.pencolor("green")
  5. żółw.circle(60, 90)

Podczas rysowania okręgu żółw nie znajduje się pośrodku rysowanego okręgu i nie jest on wypełniony. W celu wypełnienia rysowanego okregu należy skorzystać z metod begin_fill() oraz end_fill(). Okrąg zostaje zamalowany. Punkt początkowy i końcowy łączy narysowana linia, ale tylko na krawędzi okręgu. Nie jest rysowana żadna linia powrotna do miejsca rozpoczęcia rysowania okręgu.

  1. żółw.pencolor("black")
  2. żółw.begin_fill()
  3. żółw.circle(-60, 180)
  4. żółw.fillcolor("yellow")
  5. żółw.end_fill()

Zadania

Zadanie 1

Napisz skrypt, który narysuje na ekranie spiralę taką jak na poniższym rysunku:

Zadanie 2

Napisz skrypt, który narysuje na ekranie poniższą figurę: