Rozdział 6 · Rysujemy fajne rzeczy za pomocą Turtle

Wypełnienie, Okrąglenie, Łuk i Punkt

Od pustej ścieżki do wypełnionych kształtów, ukończonych okręgów, łuków i punktów.

Kształty wypełniające

Kontur — to nie wszystko: często chce się wypełnić figurę do środka. W tym celu żółwik musi «zapamiętać», gdzie zaczyna się kontur, i «puścić», gdy kontur się zamknie.

kontur_treugolnika.py
import turtle

screen = turtle.Screen()
screen.setup(width=380, height=360)
artist = turtle.Turtle()
artist.pensize(3)
artist.pencolor("#5B24F9")

artist.forward(140)
artist.left(120)
artist.forward(140)
artist.left(120)
artist.forward(140)
artist.left(120)

screen.exitonclick()
Rezultat
Trójkąt równoboczny, narysowany tylko konturem, bez wypełnienia
Trójkąt bez wypełnienia – tylko linia konturowa
zalityj_treugolnik.py
import turtle

screen = turtle.Screen()
screen.setup(width=380, height=360)
artist = turtle.Turtle()
artist.pensize(3)
artist.pencolor("#5B24F9")
artist.fillcolor("#B9A0FC")

artist.begin_fill()
artist.forward(140)
artist.left(120)
artist.forward(140)
artist.left(120)
artist.forward(140)
artist.left(120)
artist.end_fill()

screen.exitonclick()
Rezultat
Ten sam trójkąt równoboczny, ale z jasno-fioletowym wypełnieniem wewnątrz konturu
ten sam trójkąt, ale begin_fill()/end_fill() pomalował obszar wewnątrz konturu
zalivka_kod.py
artist.pencolor("#5B24F9")
artist.fillcolor("#B9A0FC")

artist.begin_fill()
artist.forward(140)
artist.left(120)
artist.forward(140)
artist.left(120)
artist.forward(140)
artist.left(120)
artist.end_fill()
Jak to działa
begin_fill() zapamiętuje punkt startowy. Następnie zwykłe polecenia rysowania (forward(), left() i inne) rysują zamknięty kontur, jak zwykle. end_fill() wypełnia obszar wewnątrz tego konturu kolorem fillcolor().

circle() jest gotowym poprowadzeniem dla kręgów

Nie musisz rysować ręcznie koła (wiele małych prostych linii pod lekkim kątem) — jest gotowy Drużyna:

krug.py
import turtle

screen = turtle.Screen()
screen.setup(width=380, height=380)
artist = turtle.Turtle()
artist.pensize(3)
artist.pencolor("#5B24F9")

artist.circle(80)

screen.exitonclick()
Rezultat
Poprawne koło, narysowane ciągłą fioletową linią
circle(80) to pełne koło o promieniu 80 px
krug_kod.py
artist.circle(80)   # promień w pikselach

Łuk jest częścią koła

Po drugie, argument opcjonalny circle() jest extentile stopni okręgu narysować:

duga.py
import turtle

screen = turtle.Screen()
screen.setup(width=380, height=300)
artist = turtle.Turtle()
artist.pensize(3)
artist.pencolor("#5B24F9")

artist.circle(80, 90)

screen.exitonclick()
Rezultat
Łuk to ćwierć okręgu narysowana jednolitą fioletową linią
circle(80, 90) – ten sam okrąg, ale tylko ćwierć (90° z 360°)
duga_kod.py
artist.circle(80, 90)   # promień 80, ale tylko 90° z 360°

dot() jest punktem bez ruchu

W przeciwieństwie do wszystkich poprzednich komend, dot() nie porusza żółwia Nie o piksel — po prostu umieszcza wypełnione koło na bieżącej pozycji:

tochki.py
import turtle

screen = turtle.Screen()
screen.setup(width=380, height=260)
artist = turtle.Turtle()
artist.hideturtle()
artist.penup()

artist.goto(-100, 0); artist.dot(20, "#5B24F9")
artist.goto(0, 0); artist.dot(30, "#DB2777")
artist.goto(100, 0); artist.dot(40, "#059669")

screen.exitonclick()
Rezultat
Trzy kolorowe kropki o różnych rozmiarach w rzędzie
dot() rysuje punkt o określonej średnicy i kolorze — bez żadnego ruchu żółwia
tochki_kod.py
artist.dot(20, "#5B24F9")
artist.forward(100)
artist.dot(30, "#DB2777")
Praktyka: Wypełnienie, Okrąg, Łuk i Punkt
Moduł turtle otwiera natywne okno Python – uruchamiane lokalnie w VS Code, PyCharm lub Jupyter
Praktyka kursuje lokalnie
Otwórz praktykę →