Strona główna » Poradniki » Logomocja » Python i Żółw » Rysowanie Figur
 

Rysowanie Figur

Wstęp

Implementacja

Zamalowana Figura

Przed rozpoczęciem rysowania zamalowanej figury należy użyć polecenia begin_fill(), a na końcu end_fill() co kolejno tłumaczy się jako rozpoczęcie i zakończenie rysowania figury do zamalowania. Przykładowo w celu narysowania wypełnionego trójkąta należy wpisać:

  1. żółw.begin_fill()
  2. żółw.fd(100)
  3. żółw.lt(120)
  4. żółw.fd(100)
  5. żółw.lt(120)
  6. żółw.fd(100)
  7. żółw.lt(120)
  8. żółw.end_fill()
Zamalowany trójkąt

Jak można zauważyć żółw najpierw rysuje obwód figury, a następnie wypełnia go kolorem czarnym, który jest domyślnym kolorem wypełnienia. Można go zmienić poleceniem fillcolor(), który działa analogicznie jak pencolor() dla pisaka. Oznacza to, że można podać nazwę koloru, jego zapis szesnastkowy, albo zapis kodu RGB.

Zmiana koloru

Przykładowo jeśli figura miałaby zostać wypełniona na niebiesko należałoby dopisać następującą linijkę kodu, którą należy umieścić przed rozpoczęciem rysowania figury.

  1. żółw.fillcolor("blue")

Dopisanie tej linijki przed kod z poprzedniego przykładu spowoduje, że narysowany zostanie trójkąt zamalowany na kolor niebieski:

Niebieski trójkąt

Przydatne może okazać się polecenie color(), które pozwala na równoczesną zmianę zarówno koloru pisaka jak i wypełnienia. Wystarczy wtedy podać jako dwa kolejne argumenty dwa zapisy kolorów.

Brak krawędzi

Figura zostanie zamalowana nawet jeśli figura nie zostanie zamknięta. Wtedy jej obszar wyznaczają wierzchołki dotychczas narysowanej figury. Oznacza to, że jeśli dotychczas narysowany trójkąt zostanie narysowany bez ostatniej krawędzi to wciąż zostanie wypełniony, ponieważ pole wypełnienia jest zamknięte przez narysowany wierzchołki.

  1. żółw.color("black", "yellow")
  2. żółw.begin_fill()
  3. żółw.fd(100)
  4. żółw.lt(120)
  5. żółw.fd(100)
  6. żółw.lt(120)
  7. żółw.end_fill()
Wypełniony trójkąt bez krawędzi

Informacje dodatkowe

Istnieje polecenie filling(), które jest funkcją bezargumentową, która zwraca informację czy żółw znajduje się w trybie w którym rysunek zostanie wypełniony. Informację tę można wykorzystać np. w celu określenia koloru pisaka i jego grubości, ponieważ nie przy każdym kolorze wypełniania widać również krawędzie.

Zadania

Zadanie 1

Napisz funkcję, która narysuje na ekranie żółty kwadrat z niebieskim obramowaniem taki jaki został przedstawiony poniżej:

Rysunek Końcowy

Długość boku przedstawionego kwadratu wynosi 200.