Obsah
Matematici a grafičtí programátoři často potřebují najít úhel mezi dvěma vektory. Naštěstí vzorec použitý k výpočtu tohoto úhlu nevyžaduje nic víc než jednoduchý skalární produkt. Ačkoli odůvodnění za tímto vzorcem je snáze pochopitelné při použití dvourozměrných vektorů, můžeme jej snadno přizpůsobit vektorům s libovolným počtem komponent.
Kroky
Část 1 ze 2: Vypočítejte úhel mezi dvěma vektory
- Identifikujte dva vektory. Zapište si všechny známé informace o těchto dvou vektorech. Pro účely tohoto tutoriálu budeme předpokládat, že znáte vektory pouze z hlediska jejich rozměrových souřadnic (nazývaných také komponenty). Pokud již znáte modul nebo Standard z těchto vektorů (tj. jejich délka), můžete přeskočit některé z níže uvedených kroků.
- Příklad: vezmeme v úvahu dvourozměrné vektory = (2,2) a = (0,3). Tyto dva vektory lze přepsat jako = 2i + 2j e = 0i + 3j = 3j.
- Ačkoli náš příklad používá dva dvourozměrné vektory, můžeme použít následující instrukce na vektory s libovolným počtem komponent.
-
Napište kosinový vzorec. Abychom našli hodnotu úhlu 9 mezi jakýmikoli dvěma vektory, musíme nejprve vypočítat kosinus tohoto úhlu. Vzorec můžete vyhledat a zjistit podrobně nebo jednoduše napsat, jak je uvedeno níže:- cosθ = (•) / (|||| ||||)
- |||| představuje modul (nebo délka) vektoru ".
- • představuje skalární produkt (nebo interní produkt) těchto dvou vektorů.
-
Vypočítejte modul každého vektoru. Představte si pravoúhlý trojúhelník tvořený komponentou X vektoru, jeho složky y a samotný vektor. V tomto trojúhelníku hraje vektor roli převisu; proto, abychom zjistili jeho délku, použijeme Pythagorovu větu. Výsledkem je, že tento vzorec je snadno použitelný pro vektory s libovolným počtem složek.- || u || = u1 + u2. Pokud má vektor více než dvě složky, pokračujte v přidávání + u3 + u4 +...
- Proto pro dvourozměrný vektor budeme muset || u || = √ (u1 + u2).
- V našem příkladu |||| = √ (2 + 2) = √ (8) = 2√2. |||| = √(0 + 3) = √(9) = 3.
-
Vypočítejte skalární produkt mezi dvěma vektory. Měli byste již znát metodu násobení vektorů, nazývanou také skalární produkt. Pro výpočet skalárního součinu dvou vektorů z hlediska jejich složek, vynásobíme komponenty ve stejném směru navzájem a pak přidáme výsledky těchto produktů.- Pokud pracujete s programy počítačové grafiky, nejprve pokračujte v části „Tipy“, než budete pokračovat.
- Z matematického hlediska • = u1proti1 + u2proti2, kde u = (u1, u2). Pokud má váš vektor více než dvě komponenty, pokračujte v přidávání + u3proti3 + u4proti4...
- V našem příkladu • = u1proti1 + u2proti2 = (2)(0) + (2)(3) = 0 + 6 = 6. Toto je hodnota skalárního produktu mezi vektory a.
- Tyto výsledky nahradte kosinovým vzorcem. Nezapomeňte, cosθ = (•) / (|||| || ||). Již jsme vypočítali skalární součin a modul obou vektorů. Nyní nahradme tyto hodnoty ve vzorci a vypočítáme kosinus úhlu.
- V našem příkladu je cosθ = 6 / (2√2 * 3) = 1 / √2 = √2 / 2.
- Najděte úhel na základě kosinus.
Pomocí funkce oblouku nebo cos vaší kalkulačky určete úhel θ od vaší hodnoty cosine. V některých případech je možné najít hodnotu úhlu na základě kruhové jednotky.- V našem příkladu cosθ = √2 / 2. Zadejte "arccos (√2 / 2)" v kalkulačce najít úhel. Další možností je hledat úhel θ kruhové jednotky, kde cosθ = √2 / 2: to bude platit pro θ = /4 nebo 45 °.
- Dáme-li všechny informace dohromady, budeme mít konečný vzorec θ = arkkosin ((•) / (|||| || ||))
Část 2 ze 2: Definování vzorce pro výpočet úhlu
- Pochopit účel vzorce. Vzorec, který jsme použili pro výpočet úhlu mezi dvěma vektory, nebyl odvozen z již existujících pravidel; místo toho byl vytvořen jako definice skalárního součinu mezi dvěma vektory a úhel mezi nimi. Toto rozhodnutí však není svévolné. Při bližším pohledu na základní geometrii můžeme vidět, proč tento vzorec vede k tak užitečným a intuitivním definicím.
- Následující příklady využívají dvourozměrné vektory, protože jsou nejintuitivnějším typem, se kterým lze pracovat. Vektory tří nebo více dimenzí mají své vlastnosti definované z obecného vzorce (také velmi podobným způsobem).
- Přečtěte si kosinský zákon. V kterémkoli trojúhelníku zvažte úhel 9 vytvořený po stranách a B a na stranu C naproti tomuto úhlu. Podle kosinovského zákona c = a + b -2abopasek(9). Ukázku tohoto vzorce lze snadno získat na základě znalosti základní geometrie.
- Spojte dva vektory a vytvořte trojúhelník. Nakreslete pár vektorů a mezi nimi úhel 9. Poté mezi nimi nakreslete třetí vektor a vytvořte trojúhelník. Jinými slovy, nakreslete vektor tak, že + =, nebo jednoduše = -.
- Použijte kosinovský zákon na tento trojúhelník. Vyměňte délku našich stran vektor trojúhelník (tj. vektorový modul) ve vzorci kosinovského zákona:
- || (a - b) || = || a || + || b || - 2 || a || || b ||opasek(θ)
- Přepište vzorec pomocí skalárních produktů. Pamatujte, že bodový produkt je zvětšení jednoho vektoru promítaného na jiný. Skalární produkt samotného vektoru nevyžaduje projekci, protože nedochází ke změně směru. To znamená, že • = || a ||. Na základě těchto informací přepíšeme rovnici kosinovského zákona:
- (-) • (-) = • + • - 2 || a || || b ||opasek(θ)
- Zjednodušte vzorec. Rozbalte produkty na levé straně rovnice a poté je zjednodušujte, dokud nedosáhnete vzorce, který známe pro výpočet úhlů.
- • - • - • + • = • + • - 2 || a || || b ||opasek(θ)
- - • - • = -2 || a || || b ||opasek(θ)
- -2 (•) = -2 || a || || b ||opasek(θ)
- • = || a || || b ||opasek(θ)
Tipy
- Pro rychlé rozlišení použijte následující vzorec na libovolný dvojrozměrný vektorový pár: cosθ = (u1 • v1 + u2 • v2) / (√ (u1 • u2) • √ (v1 • v2)).
- Pokud pracujete s programy počítačové grafiky, budete pravděpodobně potřebovat znát pouze směr vektorů, nikoli jejich délku. Pro zjednodušení rovnic a urychlení programu postupujte podle následujících kroků:
- Normalizujte každý vektor, tj. Najděte jednotkový vektor, který má stejný směr jako původní vektor. Chcete-li to provést, rozdělte každou složku vektoru vektorovým modulem.
- Vypočítejte skalární součin normalizovaných vektorů, nikoli původních vektorů.
- Protože modul (tj. Délka) normalizovaných vektorů je jednotný, můžeme je vynechat z vzorce. Vaše konečná rovnice pro výpočet úhlů bude oblouk (•).
- Na základě vzorce kosinovského zákona můžeme rychle zjistit, zda je daný úhel ostrý nebo tupý. Začít s cosθ = (•) / (|||| ||||):
- Levá a pravá strana rovnice musí mít stejné znaménko (kladné nebo záporné).
- Protože délky jsou vždy kladné, cosθ bude mít vždy stejné znaménko jako skalární produkt.
- Pokud je skalární produkt pozitivní, bude cosθ pozitivní. To znamená, že úhel je v prvním kvadrantu kruhové jednotky, tj. 9 <π / 2 nebo 90 °. Proto je úhel ostrý.
- Pokud je skalární produkt negativní, cosθ je negativní. To znamená, že úhel je ve druhém kvadrantu kruhové jednotky, tj. Π / 2 <θ ≤ π nebo 90 ° <θ ≤ 180 °. Proto je úhel tupý.