< Return to Video

Změna velikosti tvarů pomocí proměnných výrazů

  • 0:01 - 0:02
    Jsme zpátky u Winstona.
  • 0:02 - 0:07
    Jeho polohu určujeme
    pomocí proměnných x a y.
  • 0:07 - 0:12
    Můžeme ho tedy posouvat
    do stran, nahoru i dolů!
  • 0:12 - 0:13
    Pěkné.
  • 0:14 - 0:19
    Pojďme teď vrátit hodnoty
    proměnných na 200 a 200.
  • 0:19 - 0:22
    Ukážeme si, jak tento
    program vlastně funguje.
  • 0:23 - 0:26
    Na začátku máme
    proměnnou eyeSize.
  • 0:26 - 0:28
    Ta se používá k
    ovládání velikosti očí.
  • 0:28 - 0:32
    Ty mají 40 pixelů
    na šířku i na výšku.
  • 0:32 - 0:35
    Pak tady máme
    proměnné x a y.
  • 0:35 - 0:39
    Ty určují střed
    Winstonovy tváře.
  • 0:40 - 0:41
    Jak můžete vidět,
  • 0:41 - 0:44
    používáme je ve vlastnostech elipsy,
    která vykresluje velký žlutý kruh.
  • 0:46 - 0:51
    Pro vykreslení očí opět
    používáme proměnné x a y.
  • 0:51 - 0:56
    Tady vidíme, že oči jsou umístěny
    v návaznosti na střed tváře.
  • 0:56 - 1:01
    Toto je umístěno 50
    pixelů nalevo od středu.
  • 1:02 - 1:05
    A toto je umístěno 100 pixelů
    napravo od středu.
  • 1:08 - 1:11
    Díky tomu můžeme pohybovat
    Winstona nahoru a dolů.
  • 1:12 - 1:15
    Nyní bych chtěla ovládat
    více vlastností Winstonovy tváře.
  • 1:15 - 1:17
    A to pomocí proměnných.
  • 1:17 - 1:21
    Čili chci zjistit, pro co další
    v programu můžu proměnnou použít.
  • 1:21 - 1:22
    Abych to zjistila,
  • 1:22 - 1:27
    projedu každý řádek kódu a zkusím
    najít tzv. napevno zakódována čísla.
  • 1:27 - 1:34
    To jsou čísla, která
    nejsou vyjádřená pomocí proměnné.
  • 1:35 - 1:37
    Začneme tady
    u první elipsy.
  • 1:38 - 1:41
    Pro šířku a výšku tu
    máme hodnoty 300 a 300.
  • 1:42 - 1:44
    Jsou to čísla.
  • 1:44 - 1:46
    Pojďme z nich
    udělat proměnnou.
  • 1:46 - 1:48
    Nazveme ji faceSize,
    tedy velikost obličeje.
  • 1:48 - 1:51
    Dáme jí hodnotu 300.
  • 1:51 - 1:57
    Nyní napíšeme
    faceSize a faceSize.
  • 1:57 - 1:58
    Barvy přeskočíme.
  • 1:58 - 2:03
    Všechny vlastnosti této elipsy jsou nyní
    proměnné nebo závislé na proměnných.
  • 2:03 - 2:05
    Zatím je tak ponechám.
  • 2:05 - 2:10
    První dvě vlastnosti pusy jsou
    závislé na proměnných x a y.
  • 2:10 - 2:12
    Ale tyto hodnoty
    jsou zase čísla.
  • 2:13 - 2:14
    150 a 150.
  • 2:15 - 2:20
    Zavedeme si tedy proměnnou mouthSize,
    tedy velikost úst.
  • 2:20 - 2:22
    A bude se rovnat 150.
  • 2:23 - 2:28
    Obě čísla nahradíme
    mouthSize.
  • 2:28 - 2:33
    Teď máme velikosti tvarů
    uloženy v proměnných hned na začátku.
  • 2:33 - 2:36
    To znamená, že můžeme
    velice jednoduše upravovat velikost.
  • 2:36 - 2:37
    Takhle.
  • 2:37 - 2:42
    Winston má hlad!
  • 2:42 - 2:47
    Winston má hlad, proto sní hodně
    koblih a teď je hrozně velký!
  • 2:47 - 2:51
    Na tomto programu
    se mi ale něco nelíbí.
  • 2:53 - 2:59
    Když hodnotu faceSize
    opravdu hodně zmenším,
  • 2:59 - 3:01
    začne to vypadat vtipně.
  • 3:01 - 3:05
    Protože oči a ústa
    vystupují z tváře.
  • 3:05 - 3:09
    A v určitém bodě už ani
    nevypadají jako součást tváře.
  • 3:09 - 3:11
    Už se ani nejedná o tvář.
  • 3:12 - 3:21
    Chtěla bych, aby při změně
    faceSize došlo i ke změně úst a očí.
  • 3:22 - 3:24
    V případě, že faceSize
    zmenším o polovinu,
  • 3:25 - 3:28
    chci mít ústa taky
    o polovinu menší.
  • 3:28 - 3:30
    To znamená,
  • 3:30 - 3:36
    že chci vypočítat mouthSize a eyeSize
    jako zlomky faceSize.
  • 3:37 - 3:40
    Vrátíme původní
    hodnoty proměnných.
  • 3:40 - 3:42
    Hned vám ukážu,
    co mám na mysli.
  • 3:42 - 3:44
    Začneme s mouthSize.
  • 3:44 - 3:47
    Momentálně je
    hodnota faceSize 300.
  • 3:47 - 3:50
    A hodnota mouthSize je 150.
  • 3:51 - 3:54
    Budeme-li uvažovat o nich
    ve vztahu k sobě,
  • 3:54 - 3:57
    uvidíme, že faceSize je
    dvakrát větší než mouthSize.
  • 3:58 - 4:01
    Nebo že mouthSize je
    o polovinu menší než faceSize.
  • 4:02 - 4:04
    Náš kód můžeme
    přepsat takhle:
  • 4:04 - 4:08
    1/2 krát faceSize.
  • 4:09 - 4:11
    Čili tento řádek kódu říká,
  • 4:11 - 4:15
    že vezmeme hodnotu faceSize,
    vynásobíme ji 1/2 a uložíme jako mouthSize.
  • 4:16 - 4:22
    Pokud tedy změníme faceSize, mouthSize
    se automaticky vypočítá jako její půlka.
  • 4:22 - 4:24
    Skvělé, přesně to chceme!
  • 4:24 - 4:26
    Teď eyeSize.
  • 4:27 - 4:31
    Takže faceSize je 300
    a eyeSize je 40.
  • 4:32 - 4:37
    Potřebujeme, aby eyeSize bylo
    40/300 hodnoty z faceSize.
  • 4:37 - 4:44
    A to je to samé jako 4/30,
    což zjednodušíme na 2/15.
  • 4:45 - 4:49
    Takže napíšu
    2/15 krát faceSize.
  • 4:50 - 4:54
    Pokud jste mimochodem ještě se zlomky
    nepracovali a jsou pro vás těžké,
  • 4:54 - 4:57
    můžete si je procvičit
    zde na Khan Academy.
  • 4:57 - 5:00
    A vrátíte se, až se
    budete cítit připraveni.
  • 5:01 - 5:02
    Najdete je zde.
  • 5:04 - 5:07
    Zkusme znovu změnit
    velikost tváře.
  • 5:08 - 5:12
    Podívejte se na to, ústa a oči
    mění velikost úměrně k tváři.
  • 5:12 - 5:15
    Asi jste si ale všimli,
    že něco není v pořádku.
  • 5:15 - 5:19
    Oči a ústa pořád
    vystupují z tváře.
  • 5:19 - 5:23
    A to přestože jsou jejich
    velikosti už přijatelnější.
  • 5:23 - 5:25
    Je to kvůli tomu,
  • 5:25 - 5:28
    že v naší elipse máme pořád
    napevno zakódována čísla.
  • 5:29 - 5:32
    Jsou to čísla, která by měla
    být zlomkem proměnných.
  • 5:33 - 5:35
    Pojďme to prozkoumat.
  • 5:35 - 5:41
    Poloha x elipsy vykreslující oko
    je definována jako x minus 50.
  • 5:41 - 5:44
    To znamená, že je
    vždy x minus 50.
  • 5:44 - 5:47
    A to i v případě, že uděláme
    faceSize menší než 50 pixelů.
  • 5:47 - 5:49
    To nedává smysl,
  • 5:49 - 5:53
    protože naše levé oko pak
    už ani nebude na tváři.
  • 5:53 - 5:54
    Správně by to
    tedy mělo být:
  • 5:54 - 5:57
    x minus určitý zlomek
    velikosti naší tváře.
  • 5:57 - 6:00
    Zlomek zjistíme
    opět stejným způsobem.
  • 6:00 - 6:04
    Porovnáme hodnotu 50
    ve vztahu k původní hodnotě 300.
  • 6:04 - 6:09
    Čili 50/300, 5/30, 1/6.
  • 6:09 - 6:11
    Takže napíšeme:
    1/6 krát faceSize.
  • 6:12 - 6:14
    Zde máme taky 50.
  • 6:14 - 6:16
    Uděláme tedy
    to samé.
  • 6:16 - 6:17
    Bude to ten samý výraz.
  • 6:18 - 6:20
    Zde máme 100/300.
  • 6:20 - 6:23
    To bude:
    1/3 krát faceSize.
  • 6:23 - 6:25
    Tady je 60.
  • 6:25 - 6:29
    To bude:
    1/5 krát faceSize.
  • 6:29 - 6:32
    A tady máme
    dalších 50.
  • 6:32 - 6:34
    To je opět jedna šestina.
  • 6:35 - 6:38
    A 40, to už
    máme tady nahoře.
  • 6:38 - 6:45
    2/15 krát faceSize.
  • 6:45 - 6:48
    Pojďme to zkusit znovu.
  • 6:49 - 6:50
    Podívejte na to!
  • 6:50 - 6:51
    To je hezké.
  • 6:52 - 6:55
    Pojďme si to
    celé zopakovat.
  • 6:55 - 6:58
    Vytvořili jsme tuto proměnnou,
    která obsahuje velikost obličeje.
  • 6:58 - 7:00
    Ta obsahuje pouze číslo.
  • 7:00 - 7:03
    Poté zde máme proměnné
    mouthSize a eyeSize.
  • 7:03 - 7:07
    Definujeme je jako
    zlomky proměnné faceSize.
  • 7:07 - 7:12
    Tím zajistíme, že se jejich hodnoty
    mění úměrně k této hodnotě.
  • 7:13 - 7:18
    Následně jsou všechny poměry
    vypočteny ve vztahu k faceSize.
  • 7:18 - 7:22
    Tím zajišťujeme, že se poloha uvnitř
    tváře mění úměrně ke změně faceSize.
  • 7:22 - 7:25
    Tak a nyní, když už
    umíme vytvářet proměnné,
  • 7:25 - 7:28
    které jsou závislé na
    hodnotách jiných proměnných,
  • 7:28 - 7:30
    můžeme toho s našimi programy
    dělat mnohem víc.
  • 7:30 - 7:34
    Pojďme to oslavit a
    udělat Winstona opravdu velkého!
Title:
Změna velikosti tvarů pomocí proměnných výrazů
Description:

Naučte se, jak změnit velikost tvarů úměrně k sobě navzájem pomocí zlomků a proměnných výrazů.

more » « less
Video Language:
English
Duration:
07:37

Czech subtitles

Revisions