Forum: PC-Programmierung Winkel berechnen mit C#


von Vollpfosten (Gast)


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!

von Yalu X. (yalu) (Moderator)


Lesenswert?

Vollpfosten schrieb:
> Das Problem: der Wert in der Klammer ist immer < -1 bzw. > +1

Für welche Werte von a, b und c?

Wenn die drei Seiten tatsächlich ein Dreieck bilden (also die
Dreiecksungleichung erfüllen), sollte auch ein vernünftiges Ergebnis
herauskommen.

von Borislav B. (boris_b)


Lesenswert?

Yalu X. schrieb:
> Für welche Werte von a, b und c?

Z.B. a=30, b=20, c=100

Ergibt

var gesuchterWinkelX = Math.Acos( (20*20 + 100*100 - 30*30)  / 
(2*20*100) );
var gesuchterWinkelX = Math.Acos( (400 + 10000 - 900)  /  (4000) );
var gesuchterWinkelX = Math.Acos( (9500)  /  (4000) );
var gesuchterWinkelX = Math.Acos( 2,375 );

-> NaN

von Dirk B. (dirkb2)


Lesenswert?

Borislav B. schrieb:
> Z.B. a=30, b=20, c=100

Versuche mal, daraus ein Dreieck zu zeichnen.

von Christopher B. (chrimbo) Benutzerseite


Lesenswert?

Dirk B. schrieb:
> Borislav B. schrieb:
>> Z.B. a=30, b=20, c=100
>
> Versuche mal, daraus ein Dreieck zu zeichnen.

Geht schon, aber dann fehlt der rechte Winkel und damit schlagen auch 
die trigo. Funktionen fehl

von Borislav B. (boris_b)


Lesenswert?

Dirk B. schrieb:
> Versuche mal, daraus ein Dreieck zu zeichnen.

Hab's grad vor mir. Ist ganz einfach :-)

Christopher B. schrieb:
> Geht schon, aber dann fehlt der rechte Winkel und damit schlagen auch
> die trigo. Funktionen fehl

Der Kosinussatz benötigt doch keinen rechten Winkel? Oder bin ich da 
schief gewickelt?

: Bearbeitet durch User
von Norbert (Gast)


Lesenswert?

Christopher B. schrieb:
> Dirk B. schrieb:
>> Borislav B. schrieb:
>>> Z.B. a=30, b=20, c=100
>>
>> Versuche mal, daraus ein Dreieck zu zeichnen.
>
> Geht schon, aber dann fehlt der rechte Winkel und damit schlagen auch
> die trigo. Funktionen fehl

Nö, das geht auch mit 'nem rechten Winkel, aber eine Kugel wäre 
hilfreich!

von StefG (Gast)


Lesenswert?

a+b muss immer grösser als c sein!

von Norbert (Gast)


Lesenswert?

StefG schrieb:
> a+b muss immer grösser als c sein!

Auf einer Kugel:
a==b==c und drei mal einen rechten Winkel!

Ihr müsst nicht immer so flach denken. ;-)

von eddy (Gast)


Lesenswert?

Wie soll ein Dreieck mit den angegebenen Kantenlängen denn aussehen?

von Alexander (Gast)


Lesenswert?

20/30/100 als Dreieck? Mathe 6, setzen und Grundschule wiederholen.

von Norbert (Gast)


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.

von Borislav B. (boris_b)


Lesenswert?

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

Im Ernst jetzt? ^^

von eddy (Gast)


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

von Norbert (Gast)


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°).

von Yalu X. (yalu) (Moderator)


Lesenswert?

Borislav B. schrieb:
> Dirk B. schrieb:
>> Versuche mal, daraus ein Dreieck zu zeichnen.
>
> Hab's grad vor mir. Ist ganz einfach :-)

Ein ebenes Dreieck? Dann poste doch mal einen Scan, ein Foto oder einen
Screenshot davon.

Wenn das Dreieck nicht eben ist, gilt auch der Kosinussatz nicht.

Aber gut, es ist ja Freitag :)

von Dirk B. (dirkb2)


Lesenswert?

eddy schrieb:
> Evtl. kann der TE mal eine Skizze davon posten

Die Dreiecksangaben sind nicht vom TE.

von eddy (Gast)


Lesenswert?

Dirk B. schrieb:
> Die Dreiecksangaben sind nicht vom TE.

Stimmt, danke.

Ich sehe aber aus den letzten Antworten, dass hier Leute irgendwelche 
Dreiecke aus dem dreidimensionalen Raum bringen... Inwieweit ist da der 
oben genannte Kosinussatz dann noch anwendbar

von Dirk B. (dirkb2)


Lesenswert?

eddy schrieb:
> Ich sehe aber aus den letzten Antworten, dass hier Leute irgendwelche
> Dreiecke aus dem dreidimensionalen Raum bringen... Inwieweit ist da der
> oben genannte Kosinussatz dann noch anwendbar

Yalu X. schrieb:
> Wenn das Dreieck nicht eben ist, gilt auch der Kosinussatz nicht.

von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

Hier kannst du die Werte eintragen: 
https://rechneronline.de/pi/dreieck.php

von Micha (Gast)


Lesenswert?

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.

von Der Andere (Gast)


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.

von Micha (Gast)


Lesenswert?

Der Andere schrieb:
> ...dem schon längst
> gelösten Problem ...

ist es für den TE denn gelöst? Das geht nirgendwo hervor

von kyrk.5 (Gast)


Lesenswert?

Funktion arbeitet mit Radian und nicht mit Degree. Musst noch umrechnen 
lassen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.