Vektory
Z CHWiki
http://tutchek.igroup.cz/wiki/vektory-ico.gif
Náročnost: 9. třída ZŠ, zvládnuté funkce druhá mocnina, druhá odmocnina, povědomí o existenci goniometrických funkcí
Obsah |
[editovat] Co je to vektor?
Pro začátek nám stačí vědět následující: "Vektor je šipka". Dohodneme se, že tam kde je "hlava šipky", tam je konec a ten úzký konec je začátek. Není to zcela přesně - existují vektory, které se nedají vyjádřit šipkou. Pokud jste již takový potkali, nečtěte dál, tento článek pro vás není. Někteří z vás vektory potkali ve fyzice, jiní v matematice, takže se asi dohodneme oč jde.
Z fyziky znáte asi vektorové veličiny - třeba síla - mají směr a působiště. Pak někdy ve třeťáku na střední škole potkáte vektory v analytické geometrii a poměrně brzy se s nimi chtě nechtě zkamarádíte. Protože střední škola vám jistě nebue stačit, tak půjdete na vysokou kde je potkáte v předmětu lineární algebra. Tento článek se pokusí vás s nimi seznámit již nyní v takové lehce odlehčené formě.
Jeden vektor si ukážeme. Toto je vektor:
http://tutchek.igroup.cz/wiki/vektor.gif
[editovat] Složky vektoru
Tomuto vektoru bychom mohli říkat třeba Franta, ale matematici se už sžili s jednopísmenkovými názvy, tak mu budem říkat v. Dobře, máme vektor v. Teď by se nám hodilo umět ho nějak popsat. Až přijdu domů a budu se mamince chlubit, že jsem se skamarádil s vektorem v, tak se mě maminka jistě zeptá jak vypadal... "Byla to taková šipka"... maminka zpozorní - slyšela o zlém vektoru u, který se náramně podobal šipce. Takže nám nezbývá než v popsat nějak přesněji... třeba říct jak byl dlouhý, odkud kam vedl a tak podobně. Není prolém si všimnout, že jedna šipka druhé jako z oka vypadla, ale liší se tím, jak jsou natočené a jak dlouhé. Maminka doporučila posvítit na vektora baterkou zhora a změřit jak dlouhý má stín na podlaze. Potom na něj posvítit ze strany a zjistit jak má dlouhý stín na zdi. Asi takhle:
http://tutchek.igroup.cz/wiki/vektor-rozmery.gif
Stín na zemi je dlouhý x, stín na stěně y. To nám pro jeho popis stačí. Dvojice [x,y] je tedy taková občanka pro vektory. Ukážeme si jak to funguje v praxi:
http://tutchek.igroup.cz/wiki/vektory.gif
Jednotlivým číslům v "občance" se říká složky. Jak je z obrázku vidět, je podstatné pořadí složek! Prohoďte složky a vektor se otočí úplně jinam. Vektor nemusí mít jen dvě složky. Může mít ty složky tři, čtyři, padesát a nebo taky jen jednu. V grafice se setkáte převážně s vektory nejvíc čtyřsložkovými. Ale o tom až později.
[editovat] Délka vektoru
Tak už víme jak popsat vektor. Často se nám také hodí vědět, jak je dlouhý. STOP, než buete číst dál, zkuste se zamyslet jak byste to dělali - ... - říkal jsem zamyslete se. Ok.. doufám, že se mě nesnažíte obelhat a podíváme se na to. Na řešení použijeme pythagorovu větu.
Stačí aby vektor přišel, ukázal občanku, a hned víme jak je dlouhý:
http://tutchek.igroup.cz/wiki/vektor-delka.gif
http://tutchek.igroup.cz/wiki/vektor-pythagorovka.gif
Jedna odmocnina, dvě umocnění a hned víme jak je vektor dlouhý. No není to nádhera?
[editovat] Aritmetika vektorů
[editovat] Sčítání
Tak už umíme poznat vektor, umíme i říct jak je dlouhý... teď zkusíme s vektory počítat. Už v první třídě jsme se naučili sčítat, takže to asi bude dobrý začátek. ebudeme chodit kolem horké kaše a ukážeme si to v praxi.
http://tutchek.igroup.cz/wiki/vektor-scitani.gif
Jak vidíte, sčítám 4 vektory. Při jejich sčítání dělám takový řetěž šipek. Vždy na konec jedné šipky dám začátek druhé šipky. Ve chvíli kdy mi dojdou šipky tak spojím začátek první šipky s koncem poslední (na obrázku červená šipka) a mám součet (výslednici). Můžete se ptát - a co když ty vektory poskládám v jiném pořadí? Odpověď zní - je to jedno, výsledek je vždy stejný. Jednoduché, že? Ale teď si představte, že vám zlý šéf zakáže cokoliv si kreslit, dá vám jen občanky a řekne - chci občanku výslednice.
http://tutchek.igroup.cz/wiki/vektor-pocty.gif
Podívejme se na obrázek ještě jednou. Sčítám vektory s občankami [1;2], [0.5;-1], [-0.8;0], [0,1.2], výslednice má občanku [0.7;2.2].
Podívejme se nyní na spodní dva obrázky. Jeden podivný vodorovně, druhý podivný nasvislo. Obrázek ukazuje, jak se při sčítání projevují jednotlivé vektory. Občanka výslednice je pak:
[1;2] + [0.5;-1] + [-0.8;0] + [0,1.2] = [1 + 0.5 - 0.8 + 0;2 - 1 + 1.2] = [0.7;2.2]
Jednoduše řečeno - první složky občanek sečtu, to samé udělám s druhými složkami a když z těch součtů udělám dvojici, mám občanku výslednice.
Pokud bych na vás chtěl být ošklivý, mohl bych napsat http://tutchek.igroup.cz/wiki/vektor-linearita.gif , ale to jen pro úplnost.
[editovat] Násobení skalárem
Další věc která se dá dělat s vektory je násobení skalárem. Ošklivé slovo ten skalár. Přitom stačí vědět, že skalár je obyčejné číslo a ne vektor. Tzn. se třeba ptáme: "Kolik je 2 krát vektor v?". Nejrozumnější by bylo, kdyby to byl prostě vektor, který má stejný směr a je dvakrát tak delší. A ano, je tomu tak. A co když to vynásobím záporným číslem? Tak se vektor prostě otočí.
http://tutchek.igroup.cz/wiki/vektor-nasobeni.gif
Takže když násobím vektor číslem, musím násobit tím číslem každou složku jeho občanky.
Opět ošklivě by to šlo psát http://tutchek.igroup.cz/wiki/vektor-linearita-skalar.gif .
[editovat] Odečítání vektorů
Teď bych tu mohl psát o tom jak odčítat vektory, kreslit obrázky jako u sčítání a tak dále... ale proč? Odečítat přece umíte. Opravdu! u - v = u + (-1 * v). Otočit vektor umíte, sečíst ty dva vektory taky... v čem máte problém?
http://tutchek.igroup.cz/wiki/vektor-odcitani.gif
[editovat] Úhel mezi vektory
Předposlední věc na pořadu dne, je to jak určit úhel mezi vektory a jak určit úhel mezi přímkami. To znamená:
http://tutchek.igroup.cz/wiki/vektory-uhel.gif
S tím co zatím umíme zjistíme, že na to neumíme odpovědět.... špatné, co? Musíme si říct co to je skalární součin vektorů a také si povědět co je to funkce "arkuskosinus"
[editovat] Skalární součin
Skalární součin vektorů je operace, do které přijdou dva vektory a vypadne jedno číslo. Jednoduše to zní a jednoduše se to provede. Mám dva vektory s občankami u=[x,y] a v=[a,b]. Jejich sklaární součin bude: u.v = x*a + y*b. Prostě vezmi příslušné složky občanek a vynásobím je mezi sebou. A tyhle součiny sečtu.
[editovat] Arkuskosinus
Fuj to je ale jméno. Doufám, že víte co je funkce kosinus. Pokud ne, tak si prostě představte takový mlýnek do kterého vpadne nějaké číslo a vypadne jiné. Slušně vychovaný programovací jazyk tu funkci umí. No jo, ale co když to chci naopak. Vím kolik je kosinus nějakého čísla, ale nevím kolik je to číslo... no a tu přichází hrdinná funkce arkuskosinus. Vložíte do ní číslo ona se zamyslí a vcukuletu bonzuje (a to je to sesterská funkce..):
http://tutchek.igroup.cz/wiki/vektor-arccos.gif
Méně stylem bonda, ale více matematicky:
- ZNÁM a, CHCI b (jaká je hodnota kosinu pro daný úhel?): cos(a) = b
- ZNÁM b, CHCI a (pro jaký úhel má kosinus tuto hodnotu?): arccos(b) = a
[editovat] Úhel mezi vektory
Tak, a tady nebudu moc kecat a rovnou hodím vzorec. Úhel mezi vektory u a v je:
http://tutchek.igroup.cz/wiki/vektor-uhel-vzorec1.gif
což je vzorec hezký, ale k prdu, a nyní přichází mocný arkukosinus!
http://tutchek.igroup.cz/wiki/vektor-uhel-vzorec2.gif
Tak, a známe úhel! Podotýkám že je v obloukové míře (tzn. ne od nuly do 360 stupňů - s tím počítají amatéři a my se pomalu stáváme profíky.. a ti počítají od nuly po 2 pí)
Nenápadné vysvětlení co leze do vzorečku:
- vezmu dva vektory u a v
- spočtu jejich skalární součin, vznikne ČÍSLO1
- spočtu délku vektoru u, mám ČÍSLO2
- spočtu délku vektoru v, mám ČÍSLO3
- Spočítám hodnotu zlomku ČÍSLO1 / (ČÍSLO2 * ČÍSLO3)
- Hodnotu zlomku nacpu do funkce arkukosinus
- Raduji se protože mám úhel mezi vektory v obloukové míře.
[editovat] A co ve 3D
Pozorní čtenáři si jistě všimli, že jsem celou dobu dělal jen šipky ve 2D (občanka měla jen 2 složky).. Ano, přiznávám se, ono by se to jinak blě kreslilo. Ale funguje to i ve více rozměrech! Jen ta občanka má víc složek. Ukážeme si vzorec pro délku vektoru a skalární součin (a ten zatracený úhel mezi vektory funguje úplně stejně, protože jak vidíte vstupem je skalární součin vektorů a jejich délky, nic víc).
http://tutchek.igroup.cz/wiki/vektor-pythagorovka-3d.gif
Mám tu vektor s občankou [x,y,z] (vidíte ty změny? 3 složky). Tak a teď trocha geometrie, zadržte dech a ...:
http://tutchek.igroup.cz/wiki/vektor-delka-3d.gif
No ejhle, nic složitého.. prostě do pythagorovky přidám člen pro třetí souřadnici. (A věřte mi že ve 4D byste prostě přidali čtvrtou souřadnici stejně.)
No a ten skalární součin? u = [x,y,z], v = [a,b,c], u.v = x*a + y*b + z*c - trivialita ne?
[editovat] Použití
Vektory jsou ve hrách velice užitečné. Jak už jsme si řekli, představují nějakou šipku, která má směr a délku. Můžou představovat rychlost (která má směr a velikost, přesně jako ve fyzice). Můžou představovat i zrychlení (změnu rychlosti v nějakém směru a s nějakou intenzitou). Mohou představovat působení síly (což je vlastně v důsledku zrychlení). Vektory prostě použijeme všude tam, kde pracujeme s nějakým směrem v prostoru.
Rovnoměrně přímočaře se pohybující se objekt můžeme implementovat pomocí bodu A, který představuje aktuální rychlost a vektoru v, který představuje rychlost, neboli směr a rychlost pohybu. Polohu objektu v čase t vypočítáme snadno: B = A + v*t (počítáme po složkách, to znamená, že tento vzoreček vypočítáme pro každou složku zvlášť). Pokud polohu objektu pravidelně aktualizujeme, bude B nová poloha, A stará poloha a t bude čas, který uplynul od poslední aktualizace. Úplně stejné to bude, když se náš objekt bude pohybovat se zrychlením, jen místo A a B bude vektor rychlosti a místo v bude vektor zrychlení.
Když máme dva body a chceme zjistit, jaký směr má úsečka mezi těmito body, stačí je od sebe odečíst. Vektor, který dostaneme jako A - B bude vektor z bodu B do bodu A.
[editovat] Shrnutí
Takže, z dneška byste si měli odnést
- Co je to vektor
- Jak se s vektory počítá
- Jak se zjistí úhel mezi vektory
- Co je to skalární součin
- Že když něco umím pro 2D, umím to vlastně pro libovolný počet dimenzí
- Že žádný vzoreček nespadl z nebe ale ty věci spolu souvisí
Plno věcí jsem psak jak pro žáky čtvrté třídy, ale zase si ty pojmy hezky zažijete a nemůžete se vymlouvat stylem "je to moc složité".
[editovat] Literatura
- Analytická geometrie, učebnice pro gymnázia, nakl. Prometheus
- http://kam.mff.cuni.cz/~matousek/la-syl.ps - pro vážnější zájemce - Podrobný minimální sylabus předmětu Lineární algebra na matfyzu....
