Algebra

Analyse

Bewijzen

De grafische rekenmachine

Discrete wiskunde

Fundamenten

Meetkunde

Oppervlakte en inhoud

Rekenen

Schoolwiskunde

Statistiek en kansrekenen

Telproblemen

Toegepaste wiskunde

Van alles en nog wat


\require{AMSmath}

Hoeken berekenen in een driehoek in een programma

Ik weet de lengtes van de aanliggende en tegenoverliggende zijdes in een driehoek, bijv. 100 en 100 -> de tan = 100 /100 = 1 = 45 graden.
Maar dan: Ik wil vanuit een programma zonder loop deze 45 graden berekenen.Dit lukt mij dus niet. De enige methode lijkt om voor elke mogelijke hoek een tagens vergelijking te maken. (kan alleen in een stom loopje). Als deze dan overeenkomt dan heb je de hoek.(dit moet makkelijker kunnen)

Mijn vraag is dus hoe bereken ik 't snelst een hoek. (alle lengtes van alle zijden van een driehoek zijn bekend)
E.e.a. heeft betrekking op een computerprog. welke de hoek van een grafiek moet berekeken. (statistieken)
Thanks,

Peter
Leerling bovenbouw havo-vwo - zaterdag 6 juli 2002

Antwoord

Gegeven de drie zijden (a,b,c) van een driehoek kan je m.b.v. de cosinusregel eenvoudig elke hoek uitrekenen. Laten we zeggen dat we A willen weten, dan nemen we:
a2=b2+c2-2·b·c·cosa

Om het mogelijk te maken 'in een keer' de hoek uit te rekenen werken we deze formule om tot:

q3831img1.gif

Dat is al mooi, maar een laatste stap om a uit te rekenen is dan de Arccos te nemen. Zodat je uiteindelijk uitkomt op:

q3831img2.gif

...of in een meer 'tekstachtige' schrijfwijze:
hoek=Arccos((b^2+c^2-a^2)/(2*b*c))

Nu is echter de 'grap' dat in de meeste programmeertalen helemaal geen ArcCos is opgenomen, dus die zul je dus waarschijnlijk zelf moeten definiëren. Dat kan gelukkig redelijk eenvoudig met de ArcTan. Dat doe je dan met behulp van:

q3831img3.gif

De ArcTan is meestal wel geimplementeerd, meestal als ATan of Atn of iets dergelijks. Overgens moet je er wel rekening mee houden dat je hier met radialen rekent en niet met graden. Nou ja, hopelijk kan je hier verder mee...

WvR
zaterdag 6 juli 2002

©2001-2024 WisFaq