Page 1 of 1

Formel for å regne ut vinkelen mellom tre koordinater

Posted: 26/12-2012 17:49
by Habiak
Jeg har behov for å regne ut vinkelen mellom tre UTM-koordinater (avstanden mellom koordinatene er 1-4 km), hvor det er kjent hvilken av de tre koordinatene som kan plasseres i origo (2-dimensjonalt koordinatsystem). I praksis har man da 2 vektorer som begge starter fra origo. Eksempel: vektor a = (1, 2) og b = (2, -10), som gir en vinkel på 142 grader. Vinkelen kan altså være > 90 grader. Vinkelen vil være mellom 0 og 180 grader.

Per i dag regner jeg ut vinkelen ved bruk av cosinussetningen, ved å legge til grunn at vektor a og b er to sider i en trekant. Det fungerer fint i Excel, hvor jeg skal beregne ca. 1000 vinkler. Men formelen synes unødig stor, da det i formelen må inngå en beregning av den tredje siden i trekanten.

Så spørsmålet er om det finnes en enkel formel som beregner vinkelen mer elegant enn metoden over. Kanskje noe innen vektorregning?

Posted: 26/12-2012 18:03
by Emilga
Vinkelen mellom to vektorer kan beregnes ved hjelp av prikkproduktet (dot product). La [tex]\theta[/tex] være vinkelen mellom vektor [tex]\vec{a}[/tex] og [tex]\vec{b}[/tex]. Vi har da at

[tex]\cos( \theta ) = \frac{\vec{a} \bullet \vec{b} }{|\vec{a}|\cdot |\vec{b}|}[/tex].

Posted: 26/12-2012 20:07
by Habiak
Takk for svaret, - løsningen er jo elegant!

Dette burde jeg husket siden jeg brukte dot produkt for to-tre år siden.

For øvrig prøvde jeg å forenkle cosinussetningen, men greide det ikke. Men nå som jeg vet hvor jeg skal lete, er det jo en sammenheng mellom cosinussetningen og dot produkt, vist under Vector formulation på http://en.wikipedia.org/wiki/Law_of_cosines.

Posted: 27/12-2012 04:14
by ettam
Er det ikke lurt å ta hensyn til jordas krumning her? Selv om avstandene er kun noen få km?

Noen som vet?

F.eks. vil jo vinkelsummen i en trekant være større enn 180 grader på ei kuleflate...

Posted: 27/12-2012 12:57
by fuglagutt
Ville nok brukt ikke-euklidsk geometri, da det ikke spiller så stor rolle hvor stygg formelen er når den kun skal brukes i et excelark som gjør utregningen for deg :)

http://en.wikipedia.org/wiki/Spherical_trigonometry

Det blir litt vanskeligere, men ved antakelsen at jorda er helt rund blir det perfekt!