Winkel berechnen mit C#

Gast #5221113
Lesenswert?

Hallo!
Ganz einfache Situation: ich habe ein Dreieck mit bekannten Seitenlängen 
a, b und c. Nun möchte ich mit Hilfe des Cosinus-Satzes einen der Winkel 
ausrechnen:

a^2 = b^2 + c^2 - 2bc*cos(x)

Hier mein Code dazu:

var gesuchterWinkelX = Math.Acos( (b*b + c*c - a*a)  /  (2*b*c) );

Das Problem: der Wert in der Klammer ist immer < -1 bzw. > +1, weshalb 
Atan ein NaN zurückgibt. Ich stehe gerade voll auf dem Schlauch, und 
sehe nicht, was ich falsch mache :-(

Kann mir jemand das Brett vorm Kopf entfernen? Danke!
Gast #5221173
Lesenswert?

eddy schrieb:
> Wie soll ein Dreieck mit den angegebenen Kantenlängen denn aussehen?

Nimm dir einen Globus, male am Äquator einen Viertel Umfang entlang, 
biege im 90° Winkel nach rechts Richtung Pol ab. Biege dann erneut 
(wieder um 90°, wieder nach rechts) ab.
Voila, drei gleichlange Geraden und drei 90° Winkel.
Gast #5221178
Lesenswert?

Sorry Norbert,
ich meinte nicht Dich.

Ich frage mich eher, wie ein Dreieck mit den Kantenlängen:
a = 30
b = 20
c = 100 aussehen soll.

Wenn die Zahlenangaben in der gleichen Einheit sind, dann kann ich mir 
nicht vorstellen, wie so ein Dreieck aussehen soll.

Evtl. kann der TE mal eine Skizze davon posten
Gast #5221181
Lesenswert?

Alexander schrieb:
> 20/30/100 als Dreieck? Mathe 6, setzen und Grundschule wiederholen.

Möchtest du den Satz noch einmal überdenken?
Deine Aussage ist ausschließlich für den Sonderfall Dreiecke auf einer 
Ebene richtig.

Es gibt unendlich viele Sattelformen (Summe der Winkel <180°) und 
unendlich viele Kugelähnliche Formen (Summe der Winkel >180°).
Gast #5228544
Lesenswert?

Micha schrieb:
> Für die cos/sin-Funktionen müssen die Winkel im Bogenmaß vorliegen....
> d.h. du müsstest die ggf. noch umrechnen bzw. dein Ergebnis rückrechnen.

Er will den Winkel bestimmen, a,b und c sind die Seitenlängen. Das 
hättest du nach einer ganzen Woche grübeln über dem schon längst 
gelösten Problem erkennen können.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren