6. Metodika pre učiteľa - Farby¶
Úloha na zopakovanie:
Riešenie:
import tkinter canvas = tkinter.Canvas() canvas.pack() canvas.create_rectangle(2, 2, 379, 266)
Prezradíme ideu farbenia a necháme žiakov, aby program vyskúšali:
Komentár:
V jazyku Python zápisu
fill='...'
hovoríme pomenovaný parameter. Túto terminológiu nemusíme žiakom zavádzať.
Nasledujú úlohy na zoznamovanie sa s farbami:
Riešenie:
import tkinter canvas = tkinter.Canvas() canvas.pack() canvas.create_rectangle(30, 30, 130, 130, fill='red') canvas.create_rectangle(150, 30, 250, 130, fill='green') canvas.create_rectangle(30, 150, 130, 250, fill='blue') canvas.create_rectangle(150, 150, 250, 250, fill='yellow')
Žiaci si pravdepodobne budú musieť súradnice rozmyslieť na papier.
Nasledujú úlohy na trénovanie kreslenia s farbami:
Riešenie:
import tkinter canvas = tkinter.Canvas() canvas.pack() canvas.create_rectangle(50, 50, 300, 100, fill='red') canvas.create_rectangle(50, 100, 300, 150, fill='white') canvas.create_rectangle(50, 150, 300, 200, fill='blue')
Riešenie:
import tkinter canvas = tkinter.Canvas() canvas.pack() canvas.create_rectangle(50, 50, 150, 200, fill='green') canvas.create_rectangle(150, 50, 250, 200, fill='white') canvas.create_rectangle(250, 50, 350, 200, fill='orange')
Riešenie:
import tkinter canvas = tkinter.Canvas() canvas.pack() canvas.create_rectangle(50, 50, 300, 200, fill='white') canvas.create_rectangle(50, 105, 300, 145, fill='blue') canvas.create_rectangle(120, 50, 160, 200, fill='blue')
Úloha sa dá riešiť aj tak, že nakreslíme modré pozadie pre celú vlajku a dokreslíme 4 biele obdĺžniky.
Riešenie:
import tkinter canvas = tkinter.Canvas() canvas.pack() canvas.create_rectangle(10, 10, 360, 20, fill='red') canvas.create_rectangle(10, 20, 20, 260, fill='blue') canvas.create_rectangle(20, 250, 370, 260, fill='red') canvas.create_rectangle(360, 10, 370, 250, fill='blue')
V nasledujúcej úlohe sú uvedené názvy niektorých ďalších farieb. Ak ich žiaci neskôr budú potrebovať, tu rýchlo nájdu názvy a ukážky. Názvy farieb neskúšame.
Riešenie:
import tkinter canvas = tkinter.Canvas() canvas.pack() canvas.create_rectangle(50, 50, 150, 150, fill='magenta') canvas.create_rectangle(70, 70, 170, 170, fill='violet') canvas.create_rectangle(90, 90, 190, 190, fill='plum') canvas.create_rectangle(110, 110, 210, 210, fill='pink')
Množina farieb je výrazne rozsiahlejšia. Všetky názvy sa dajú nájsť v adresári, v ktorom je nainštalovaný Python v súbore
rgb.txt
, resp. podobné množiny mien farieb môžete nájsť, napríkad na webe: HTML Color Names.
(*)
Riešenie s čiarami:import tkinter canvas = tkinter.Canvas() canvas.pack() canvas.create_rectangle(50, 50, 300, 200, fill='red') canvas.create_rectangle(50, 105, 300, 145, fill='white') canvas.create_rectangle(120, 50, 160, 200, fill='white') canvas.create_rectangle(50, 115, 300, 135, fill='navy') canvas.create_rectangle(130, 50, 150, 200, fill='navy')
Riešenie bez čiar:
import tkinter canvas = tkinter.Canvas() canvas.pack() canvas.create_rectangle(50, 50, 300, 210, fill='white') canvas.create_rectangle(50, 50, 110, 110, fill='red') canvas.create_rectangle(150, 50, 300, 110, fill='red') canvas.create_rectangle(50, 150, 110, 210, fill='red') canvas.create_rectangle(150, 150, 300, 210, fill='red') canvas.create_rectangle(50, 120, 300, 140, fill='navy') canvas.create_rectangle(120, 50, 140, 210, fill='navy')
(*)
Riešenie:import tkinter canvas = tkinter.Canvas() canvas.pack() canvas.create_rectangle(30, 90, 210, 150, fill='red') canvas.create_rectangle(90, 30, 150, 210, fill='green') canvas.create_rectangle(90, 90, 150, 150, fill='yellow')
V tejto úlohe predpokladáme, že žiaci si najprv daný program spustia a výsledný obrázok analyzujú. Mali by objaviť, že dva oddelené červené štvorce (podobne ako dva zelené) sa dajú nakresliť ako jeden obdĺžnik, ktorý sa na záver prekryje žltým štvorcom.
Zhrnutie
ciele lekcie
zoznámiť sa s konceptom farieb, ich pomenovaním a použitím v grafických príkazoch
naučiť sa, že je dôležité poradie kreslenia prekrývajúcich sa grafických objektov
zručnosti
pri riešení grafických úloh je vhodné si súradnice obdĺžnikov zakresľovať na papier
orientovať sa v zozname mien farieb
syntaktické pravidlá
spôsob zápisu parametera v grafickom príkaze
create_rectangle
, ktorý nastavuje farbu výplne