6. Metodika pre učiteľa - Farby


Úloha na zopakovanie:

  1. 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:

  1. 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:

  1. 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:

  1. 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')
    

  1. 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')
    

  1. 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.


  1. 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.

  1. 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.


  1. (*) 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')
    

  1. (*) 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