Rozdział 18 · Canvas serio

Układ współrzędnych Canvas

Lewy górny róg to początek. X rośnie w prawo, Y schodzi w dół. Nie jak Turtle.

Współrzędne rosną w prawo i w dół

Canvas punkt (0, 0) to lewy górny róg. Pierwsza współrzędna (X) rośnie w prawo, drugi (Y) - w dół.

X →Y ↓(0, 0)P1 (40, 30)P2 (160, 120)
Prostokąt w dwóch przeciwległych narożnikach P1 i P2 dokładnie to, co create_rectangle(P1x robi, P1y, P2x, P2y).
Prawdziwe okno: Płótno z oznaczonymi punktami i linią między nimi, pokazującą wznoszenie współrzędnych w prawo i w dół
Rzeczywiste okno: dwa punkty i linia między nimi — ruch myszy w prawo zwiększa x, ruch w dół zwiększa y.

Turtle vs Canvas — porównajmy to bezpośrednio.

Jeśli przed tym rozdziałem narysowałeś Turtle (rozdziały 6-7), twoja intuicja może zawiodować: jest początek współrzędne są środkiem ekranu, a Y rośnie ku górze, jak w matematyce na papierze. Canvas ma inny kształt, oraz Nie jest to system "bardziej poprawny" czy "mniej poprawny", lecz po prostu inne porozumienie, które Tkinter odziedziczone po systemach okiennych, gdzie linie ekranu są numerowane od góry do dołu.

Canvas (Tkinter)
XY
Origin to lewy górny róg, Y rozciąga się w dół
Turtle (rozdziały 6–7)
XY
Początek współrzędnych — środek ekranu, Y rośnie W GÓRĘ
event.x / event.y — te same współrzędne, co sam Canvas
Współrzędne zdarzenia myszy (Rozdział 17 – event.x, event.y) oraz współrzędnymi, które create_*to ten sam system: piksele względem lewego górnego rogu płótna. Dlatego canvas.create_line(start_x, start_y, event.x, event.y) działa bez żadnych przeliczeń.
Praktyka: współrzędne Canvas
Automatyczna kontrola — określ kierunek ruchu kursora na podstawie współrzędnych Y
Otwórz praktykę →