5. hodina - Kreslenie


  1. Už si zamieňal české koruny na eurá. Teraz vytvor nový program, ktorý zamení eurá na české koruny. Použi premenné suma a kurz, do ktorých priradíš počiatočné hodnoty – koľko eur ideš zamieňať a aktuálny kurz (napríklad, 25.23 českých korún za 1 euro). Do premennej dostanes priraď hodnotu výrazu, ktorým sa vypočíta, koľko eur dostaneš za svoju sumu. Program vypíše výsledok napríklad v tvare:

    Za ... eur dostaneš ... českých korún pri kurze ... českých korún za euro.
    

  1. Nasledujúci program pracuje s premennými. Zisti bez použitia počítača, čo program vypíše:

    kg = 3
    c = 20
    s = kg * c + 7
    print('Za poslanie balíka s hmotnosťou', kg, 'kg zaplatíš', s, 'korún')
    

    Svoje zistenie skontroluj na počítači


  1. Doteraz tvoje programy počítali a vypisovali textové správy. Teraz sa naučíš vytvárať programy, ktoré kreslia rôzne obrázky. Postupuj takto:

    1. Vytvor nový program s týmto obsahom:

      import tkinter
      
      canvas = tkinter.Canvas()
      canvas.pack()
      
    2. Program spusti – na obrazovke uvidíš nové okno:

      _images/05_01.png
    3. Zisti, či sa dá okno posúvať, meniť jeho veľkosť. Nakoniec toto nové okno zatvor.


    Tvoj program vyrobil grafickú plochu canvas. Slovo canvas budeš používať aj v ďalších príkazoch na kreslenie.


  1. Pridaj do svojho programu nový príkaz a program opäť spusti:

    import tkinter
    
    canvas = tkinter.Canvas()
    canvas.pack()
    canvas.create_rectangle(50, 70, 220, 150)
    

    Uvidíš obdĺžnik:

    _images/05_02.png

  1. V zátvorkách príkazu canvas.create_rectangle( , , , ) sú 4 čísla. Skús ich postupne meniť. Program zakaždým spusti, aby si videl, čo nakreslí:

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

    2. canvas.create_rectangle(0, 0, 50, 50)

    3. canvas.create_rectangle(0, 0, 250, 50)

    4. canvas.create_rectangle(20, 10, 250, 50)

    5. canvas.create_rectangle(20, 10, 50, 250)

    Vieš ako tieto čísla fungujú?


Súradnicová sústava

Najskôr treba rozumieť, ako funguje súradnicová sústava v počítači:

_images/05_03.png

V matematike si bol zvyknutý na to, že súradnicová sústava začína v strede. Na počítači leží bod so súradnicami [0, 0] v ľavom hornom rohu. Os x ide zľava doprava. Os y je oproti matematike prevrátená – ide zhora nadol (čím väčšie číslo, tým nižšie).

V príkaze canvas.create_rectangle(x1, y1, x2, y2) píšeme do zátvoriek súradnice protiľahlých vrcholov obdĺžnika:

_images/05_04.png

  1. Zmeň svoj program tak, aby nakresli obdĺžnik, ktorý má súradnice protiľahlých vrcholov [50, 30] a [300, 200].


  1. Akú šírku a výšku má predchádzajúci obdĺžnik?


  1. Nakresli obdĺžnik, ktorý má jeden vrchol na súradniciach [200, 100], jeho šírka je 60 a výška 140.


  1. Bez použitia počítača zisti a nakresli, ako približne budú rozmiestnené tieto obdĺžniky. Aká je výška a šírka každého z nich?

    import tkinter
    
    canvas = tkinter.Canvas()
    canvas.pack()
    canvas.create_rectangle(50, 70, 220, 150)
    canvas.create_rectangle(60, 80, 130, 140)
    canvas.create_rectangle(160, 90, 230, 160)
    

    Program vyskúšaj aj na počítači, či si to správne odhadol.


  1. Napíš program, ktorý vedľa seba nakreslí dva štvorce so stranami 80 (pozície zvoľ podľa uváženia):

    _images/05_05.png

  1. Napíš program, ktorý nakreslí dva veľké štvorce – jeden so stranou 100 a druhý 150. Štvorce majú spoločný stred:

    _images/05_06.png

  1. Napíš program, ktorý z troch obdĺžnikov 150x50, 100x50 a 50x50 nakreslí takúto pyramídu:

    _images/05_07.png