Rozdział 7 · Głębokie zanurzenie w Turtle
Geometria koła
circle() nie jest magią: ma precyzyjną geometrię, którą warto zrozumieć, a nie tylko zapamiętać jak zaklęcie.
circle() wygląda jak jedno proste polecenie, ale za nim stoi
prawdziwa geometria — rozbierzmy ją naprawdę, a nie jak „magiczną” funkcję.
Gdzie naprawdę jest centrum
Oficjalne postępowanie circle(radius): środek okręgu
jest w odległości radius lewo od
żółwie (względem kierunku kursu) – nie w obecnej pozycji żółwia, jeśli to możliwe
Można by pomyśleć:
Na jednym końcu łuku stoi żółw
Jeśli narysujesz łuk (
extent mniej niż 360°) — jeden z końców łuku zawsze będzie aktualną pozycją żółwia. To wygodne: nie musisz wcześniej obliczać, od którego łuku się zacznie.Promień dodatni i ujemny
Promień dodatni rysuje okrąg przeciwnie do ruchu wskazówek zegara; promień ujemny rysuje wzdłuż Sentinel, o tym samym promieniu modulo:
krug_polozhitelnyj.py
import turtle
screen = turtle.Screen()
screen.setup(width=340, height=320)
artist = turtle.Turtle()
artist.pensize(3)
artist.pencolor("#5B24F9")
artist.circle(80)
screen.exitonclick()
Rezultat
krug_otricatelnyj.py
import turtle
screen = turtle.Screen()
screen.setup(width=340, height=320)
artist = turtle.Turtle()
artist.pensize(3)
artist.pencolor("#DB2777")
artist.circle(-80)
screen.exitonclick()
Rezultat
napravlenie_kod.py
artist.circle(80) # przeciwnie do ruchu wskazówek zegara
artist.circle(-80) #Clockryse – ten sam rozmiar, inny kierunek
Kierunek zmienia także kurs żółwia na końcu
Po pełnym okręgu kurs żółwia wraca do początkowego w obu przypadkach. Ale jeśli rysować łuk (nie pełne koło), końcowy kurs będzie RÓŻNY dla dodatniego i ujemnego promienia — żółw obróci się w przeciwnych kierunkach.
Praktyka: Geometria okręgu
Moduł turtle otwiera natywne okno Python – uruchamiane lokalnie w VS Code, PyCharm lub Jupyter