Rozdział 7 · Głębokie zanurzenie w Turtle

Zmieniamy kierunek rysowania

Kierunek, znak promienia i tryb mierzenia kątów — trzy powiązane idee, zebrane razem przed finalnymi mini-projektami.

Geometrię koła szczegółowo przeanalizowaliśmy już na początku rozdziału. Tutaj zebramy trzy powiązane elementy Pomysły razem—kierunek rysowania, znak promienia i tryb kąta—i przypinają je przed ostatnimi mini-projektami.

zgodnie z ruchem wskazówek zegara lub przeciwnie – Definiuje znak promienia

cw_ccw.py
import turtle

screen = turtle.Screen()
screen.setup(width=560, height=340)
artist = turtle.Turtle()
artist.speed(0)
artist.pensize(3)

#circle(70) – środek na 70 px LEWO od toru: start poniżej środka na 70,
# aby sam okrąg ustawił się wokoło (-150, 0), nie opierając się o krawędź okna
artist.penup()
artist.goto(-150, -70)
artist.pendown()
artist.pencolor("#5B24F9")
artist.circle(70)
artist.penup()
artist.goto(-150, 115)
artist.write("circle(70)", align="center", font=("Arial", 13, "bold"))
artist.goto(-150, 95)
artist.write(„przeciwnie do ruchu wskazówek zegara (+)”, align="center", font=("Arial", 11, "normal"))

# circle(-70) jest centrum na 70 px PRAWEJ stronie trasy: start to 70 stopni powyżej środka,
# tak że okrąg stoi wokół (150, 0), jest symetryczny względem pierwszego
artist.goto(150, 70)
artist.pendown()
artist.pencolor("#DB2777")
artist.circle(-70)
artist.penup()
artist.goto(150, 115)
artist.write("circle(-70)", align="center", font=("Arial", 13, "bold"))
artist.goto(150, 95)
artist.write(„zgodnie z ruchem wskazówek zegara (-)”, align="center", font=("Arial", 11, "normal"))

screen.exitonclick()
Rezultat
Dwa okręgi obok siebie, każdy ze strzałką kierunkową – lewy oznaczony jest jako "przeciwnie do ruchu wskazówek zegara (+)", prawy "zgodnie z ruchem wskazówek zegara (-)"
Przeciwnie do ruchu wskazówek zegara (promień dodatni) i zgodny z ruchem wskazówek zegara (promień ujemny) – obok siebie, dla bezpośredniego porównania
cw_ccw_kod.py
artist.circle(60)    # przeciwnie do ruchu wskazówek zegara — dodatni promień
artist.circle(-60)   # zgodnie z ruchem wskazówek zegara to promień ujemny

Tryby pomiaru kąta

Domyślnie Turtle mierzy kąty w stopniach. Jeśli z jakiegoś powodu wygodniej jest pracować w radianach (np. dla zgodności z formułami z modułu math z rozdziału 5) — są rozkazy degrees() oraz radians():

radiany.py
import math

artist.radians()
artist.left(math.pi / 2)   # 90° obrotu wyrażonego w radianach

artist.degrees()            # wracając do zwykłych stopni
Nie zapomnij wrócić do stopni
Jeśli wywołać radians() i zapomnij degrees() na końcu wszystkie kolejne obroty w programie będą interpretowane jako radiany, a nie stopnie, co niemal zawsze prowadzi do nieoczekiwanych rezultatów.
Praktyka: obejmuje praktykę z kierunkiem rysowania
Ten sam notebook, co w rozdziale „Okrąg w kwadracie” — obejmuje również ten temat
Praktyka kursuje lokalnie
Otwórz praktykę →