Vinkel mellem vektorer
Matematik A · STX · A-niveau · Vektorer i 2D og 3D
🧮 Vinkel mellem vektorer
At finde vinklen mellem to vektorer er en af lineær algebras mest brugte beregninger — og fundamentet for machine learning, fysik, computergrafik og navigation.
Cosinusformlen
$$\cos \theta = \frac{\vec{a} \cdot \vec{b}}{|\vec{a}| \cdot |\vec{b}|}$$
Hvor:
- a·b = skalarproduktet
- |a|, |b| = vektorlængderne
- θ = vinklen mellem dem (0° til 180°)
Derefter: $\theta = \arccos\left(\frac{\vec{a} \cdot \vec{b}}{|\vec{a}| \cdot |\vec{b}|}\right)$
Procedure trin-for-trin
1. Beregn skalarprodukt a·b
2. Beregn længder |a| og |b|
3. Indsæt i formel
4. Beregn θ = arccos(resultatet)
Konkret eksempel — 2D
Lad a = (3, 4) og b = (1, 0).
Skalarprodukt: a·b = 3·1 + 4·0 = 3
Længder: |a| = √(9+16) = 5, |b| = √1 = 1
Cosinus: cos θ = 3/(5·1) = 0,6
Vinkel: θ = arccos(0,6) ≈ 53,13°
Specialtilfælde
#### Vinkelret (orthogonal)
$$\vec{a} \perp \vec{b} \iff \cos \theta = 0 \iff \vec{a} \cdot \vec{b} = 0$$
Skalarprodukt = 0 betyder altid 90° vinkel.
#### Parallelle vektorer
- Samme retning (θ = 0°): a·b = +|a|·|b|
- Modsat retning (θ = 180°): a·b = -|a|·|b|
- Algebrai: ∃ k ∈ ℝ så a = k·b
#### Spids vs. stump vinkel
| cos θ | Vinkel |
|---|---|
| > 0 | Spids (< 90°) |
| = 0 | Ret (= 90°) |
| < 0 | Stump (> 90°) |
| = -1 | Modsatret (= 180°) |
Vinkel mellem linjer
For to linjer (ikke vektorer) bruges samme formel med absolut værdi:
$$\cos \theta = \frac{|\vec{a} \cdot \vec{b}|}{|\vec{a}| \cdot |\vec{b}|}$$
Fordi linjer er uorienterede, ligger vinklen mellem linjer altid i [0°, 90°].
I 3D
Formlen er identisk — bare med 3D-skalarprodukt og længder:
$$\vec{a} \cdot \vec{b} = a_1 b_1 + a_2 b_2 + a_3 b_3$$
$$|\vec{a}| = \sqrt{a_1^2 + a_2^2 + a_3^2}$$
Formlen virker faktisk i alle dimensioner — også 100D-rum i maskinlæring!
Anvendelser
#### Fysik
- Refleksion: indfaldsvinkel = udfaldsvinkel (måles fra normalvektoren)
- Friktion: vinkel mellem kraftvektor og overflade
- Arbejde: W = F·s·cos θ
- Magnetisk flux: B·A·cos θ
#### Geografi og navigation
- Terrains-hældning: vinkel mellem terrænvektor og vandret
- Vindretning vs. flyets kurs
- Solens vinkel over horisonten
- Skyggevinkler ved bygnings-design
#### Machine learning — Kosinus-lighed
Cosine similarity måler hvor "ens" to feature-vektorer er:
$$\text{similarity} = \cos \theta = \frac{\vec{a} \cdot \vec{b}}{|\vec{a}| \cdot |\vec{b}|}$$
Resultatet er mellem -1 og 1:
- 1: identisk
- 0: helt forskellige
- -1: modsatte
Bruges til:
- Søgemaskiner (TF-IDF-vektorer)
- Anbefalingssystemer (Netflix, Spotify)
- Word embeddings (Word2Vec, BERT)
- Billedgenkendelse
#### Computergrafik
- Lyssætning: hvor stærkt rammer lyset overfladen?
- Skygger: vinkel mellem lys og normalvektor
- 3D-rotationer
Tekniske bemærkninger
#### arccos vs. atan2
arccos giver kun vinkler i [0°, 180°] — vi mister informationen om om vinklen er positiv eller negativ.
For orienterede vinkler (med fortegn) bruges:
- atan2(y, x) funktionen
- Krydsprodukt for at bestemme orientering i 3D
#### Numerisk præcision
Ved små vinkler kan arccos give numerisk fejl — brug i stedet:
$$\theta = \arctan\left(\frac{|\vec{a} \times \vec{b}|}{\vec{a} \cdot \vec{b}}\right)$$
Almindelige fælder
- ❌ Glemme |a|·|b| i nævneren
- ❌ Bruge arccos uden at huske den er begrænset til [0°, 180°]
- ❌ Forveksle vinkel mellem linjer og mellem vektorer
- ❌ Bruge grader/radianer inkonsekvent
Vidste du at...
🤖 ChatGPT og lignende sprogmodeller bruger kosinus-lighed i 1500+-dimensionalt rum til at finde lignende tekster. Vinkelberegninger er essentielle for moderne AI!
📡 GPS-satellitter beregner din position vha. vinkler mellem signaler — ren vektor-matematik.
🎮 I 3D-spil beregnes der titusinder af vinkler pr. frame — for lys, fysik og objekt-interaktion.
Læringsmål
- Anvende cosinusformlen cosθ = (a·b)/(|a||b|) til at finde vinklen mellem to vektorer
- Gennemføre udregningen i fire trin: skalarprodukt, længder, cosinus, arccos
- Genkende specialtilfælde: vinkelret (a·b=0), parallel (samme/modsat retning)
- Beregne vinklen mellem to linjer med absolut værdi (resultat altid 0°-90°)
- Forklare cosine similarity som et eksempel på vinkelberegning i maskinlæring
Sådan kan du arbejde med emnet
- Beregn vinklen mellem vektorerne (1,0) og (1,1)
- Brug skalarproduktet til at afgøre, om to vektorer er ortogonale
- Forklar formlen for vinklen mellem to vektorer med dine egne ord
Træningsforslag
- Find vinklen mellem a=(3,4) og b=(1,0) ved at gennemføre alle fire trin.
- Afgør om vinklen mellem to givne vektorer er spids, ret eller stump uden at beregne arccos — kun ud fra fortegnet af a·b.
- Beregn vinklen mellem to linjer med retningsvektorer (1,2) og (3,−1), husk absolut værdi.
- Forklar med egne ord, hvorfor cosine similarity bruges til at sammenligne tekster i søgemaskiner.
Brobygning
Vinkelberegning binder skalarprodukt og determinant sammen og genbruges direkte i 3D, hvor krydsprodukt og plan-vinkler bygger på samme cosinus-/sinus-principper.
Øv dette emne med AI — quizzer, forklaringer og feedback tilpasset dit niveau.
Prøv Fagportalen gratis