7. hodina - Kreslenie s premennými


  1. Vytvor nový program, ktorý nakreslí takéto dva dotýkajúce sa štvorce: oba majú dĺžky strán 100, pritom červený má ľavý horný roh v bode [50, 50] a modrý má ľavý horný roh v bode [150, 150].

    _images/07_01.png

  1. V premenných x, y sú uložené súradnice ľavého horného rohu štvorca. Dokonči program tak, aby si pomocou nich nakresli štvorec so stranou 100:

    import tkinter
    
    canvas = tkinter.Canvas()
    canvas.pack()
    x = 100
    y = 70
    canvas.create_rectangle(x, y, x +        ,          , fill='yellow')
    
    _images/07_02.png

  1. Napíš program, ktorý použije štyri premenné x, y, sirka, vyska a podľa nich nakreslí obdĺžnik s ľavým horným rohom x, y a danou šírkou a výškou. Farbu si zvoľ. Napríklad, ak bude v programe:

    x = 100
    y = 70
    sirka = 200
    vyska = 50
    

    nakreslí sa takýto obdĺžnik:

    _images/07_03.png

  1. Vytvor program, ktorý nakreslí takéto štvorce:

    _images/07_04.png

    Majú rovnaký ľavý horný vrchol, jeho súradnice budú v premenných x, y. Štvorce sa postupne zmenšujú tak, že červený má dĺžku strany 100, modrý 70 a tmavomodrý 40.


  1. Vytvor program, ktorý kreslí takéto tri obdĺžniky:

    _images/07_05.png

    Do premenných x, y priraď súradnice ľavého horného vrcholu prvého obdĺžnika. Všetky tri obdĺžniky majú rovnakú šírku a výšku – tieto rozmery priraď do premenných a, b. Obdĺžniky sa navzájom dotýkajú.


  1. Teraz budeš kresliť štvorec, ktorého stred má súradnice x, y a veľkosť strany 100. Aby si ho mohol nakresliť, musíš vypočítať súradnice jeho ľavého horného aj pravého dolného vrcholu:

    _images/07_06.png

    Napíš program, ktorý nakreslí zelený štvorec so stredom [x, y] a stranou 100.


  1. Vytvor program, ktorý nakreslí takéto štvorce – majú rovnaký stred v bode [x, y] a postupne sa zmenšujú (červený má dĺžky strany 100, modrý 60 a biely 20).

    _images/07_07.png

  1. Bez toho, aby si tieto príkazy spúšťal na počítači, zisti, ktoré z týchto príkazov kreslia štvorce (predpokladaj, že x aj y je 100):

    1. canvas.create_rectangle(0, 0, 1, 1)

    2. canvas.create_rectangle(10, 20, 30, 40)

    3. canvas.create_rectangle(100, 150, 150, 100)

    4. canvas.create_rectangle(x, y - 50, x + 50, y)

    5. canvas.create_rectangle(100 - 20, 70 - 30, 100 + 30, 70 + 20)


  1. Skús podobne, ako v úlohe 6 vymyslieť kreslenie obdĺžnika, keď jeho stred má súradnice [x, y] a strany majú dĺžky a, b. Napíš program, ktorý taký obdĺžnik nakreslí.


  1. Napíš program, ktorý pomocou farebných obdĺžnikov nakreslí hlavu mimozemšťana. Na hlave by mali byť minimálne dve rovnaké oči a jedny ústa. V premenných x, y sú súradnice stredu hlavy.


  1. Päť farebných štvorcov leží tesne vedľa seba na jednej podložke. Veľkosti strán sú postupne 100, 80, 60, 40, 20. Napíš program, v ktorom ľavý dolný vrchol prvého štvorca má x, y:

    _images/07_08.png