PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Delphi: Winkelberechnung


Elladan
2004-10-12, 18:17:51
Hi,
hoffe, dass ihr mir helfen könnt!

Ich möchte unter Delphi z.B. mit dem Cosinussatz ( Gegenkathete/Hypothenuse) einen Winkel in Grad ausrechnen.
Wie soll ich das machen?
(habe auch schon gesucht, kriege aber nichts hin :mad: )

Danke!


/edit: Rechschreibfehler :D


edit:
Prolbem II:

möglicherweise verraffe ich hier jetzt was total...


wie komme ich von dem ausgerechneten Wert für cosinus auf die Gradzahl?

cos = Ankathete/Hypotenuse

Und wie komme ich von diesem Wert auf die Gradzahl? sprich: Cos hoch minus Eins?

dieses kann ich ja dann beliebig in Radien / Grad umrechnen (degtorad & radtodeg)

Aqualon
2004-10-12, 18:33:28
Gibt es vielleicht eine Funktion namens ArcCos?

Aqua

pajofego
2004-10-12, 18:34:31
Hi,
hoffe, dass ihr mir helfen könnt!

Ich möchte unter Delphi z.B. mit dem Cosinussatz ( Gegenkathete/"hypertonuse") einen Winkel in Grad ausrechnen.
Wie soll ich das machen?
(habe auch schon gesucht, kriege aber nichts hin :mad: )

Danke!
(und entschuldigt die fehlerhafte Schreibweise)

1. Der Cosinussatz lautet: a² = b² + c² – 2 b c cos(alpha)
wobei a, b, c die Seiten eines Dreiecks sind und der Winkel alpha die Seiten a und b umschließen.

2. Was du evt. meinst, sind die trigonometrischen Beziehungen für rechtwinklige Dreiecke und für den Cosinus lautet dieser: cos(alpha) = ankathete / Hypotenuse.

3. Ich weiss nicht ganz was du jetzt brauchst, falls es Probleme bei der Konvertierung der Winkel von Grad nach Rad oder umgekehrt ist dann gilt folgende Beziehung:

Winkel Grad = Winkel Rad * PI/180

Gruss pajofego

Jazz
2004-10-13, 10:34:38
Gibt es vielleicht eine Funktion namens ArcCos?
Gibt es. Ist in der Unit Math.

Gruß

Elladan
2004-10-13, 15:07:02
1. Der Cosinussatz lautet: a² = b² + c² – 2 b c cos(alpha)
wobei a, b, c die Seiten eines Dreiecks sind und der Winkel alpha die Seiten a und b umschließen.

2. Was du evt. meinst, sind die trigonometrischen Beziehungen für rechtwinklige Dreiecke und für den Cosinus lautet dieser: cos(alpha) = ankathete / Hypotenuse.

3. Ich weiss nicht ganz was du jetzt brauchst, falls es Probleme bei der Konvertierung der Winkel von Grad nach Rad oder umgekehrt ist dann gilt folgende Beziehung:

Winkel Grad = Winkel Rad * PI/180

Gruss pajofego


Erstmal, danke euch allen!

@ pajofego:
Punkt 1 + 2 kannte ich schon, und ich hatte sie auch schon vergeblich versucht anzuwenden (Cosinussatz für rechtwinklige dreiecke etc), auch mit der erwähnten unit math...

Danke für die Information aus Punkt 3, genau das war mein Problem!!

Gast
2004-10-13, 20:32:42
Die unten angegebene Formel ist genau falsch herum.

Der Winkel in

rad = Degree/180 * PI

das kommt daher, dass die Winkelangabe in rad das Bogenmaß ist, der Umfang eines Kreisbogen mit dem Einheitsradius 1.

U = 2*PI*r
Ist der Winkel <> 360 so hat man nur einen Anteil :

U_b = 2 * PI * r * alpha / 360
setzt man für r 1 und kürzt erhält man :
U_b = PI * alpha (deg) / 180


Den Winkel in Degree aus dem Winkel in rad erhält man durch leichte Umformung der Gleichung.


In "Mathe Online Mathematische Hintergründe" liest man hierzu :

Es gibt verschiedene Winkelmaße, d.h. Systeme, um die Größe eines Winkels anzugeben. Die Ihnen wahrscheinlich vertrauteste Methode ist das Gradmaß, das auf der Einteilung des vollen Kreises in 360 "Winkelgrade" (und der feineren Einteilung des Grades in 60 Winkelminuten und der Minute in 60 Winkelsekunden) beruht. Wieso der volle Winkel ausgerechnet 360 Grad misst, hat historische Gründe und ist vom mathematischen Standpunkt aus gesehen gar nicht so vorteilhaft. Für viele Zwecke günstiger ist ein anderes System, das sogenannte Bogenmaß. In ihm wird die Größe eines Winkels durch die Länge des entsprechenden Bogens am Einheitskreis gemessen. Das ist in der nebenstehenden Skizze dargestellt: Anstatt den Winkel a in Grad anzugeben, dient die Länge des hellblauen Bogenstücks als Maß für seine Größe. Der volle Winkel ist im Bogenmaß durch den Umfang des Einheitskreises gegeben, d.h. durch 2p.

http://www.mathe-online.at/mathint/wfun/i.html#radiant


Ich würde allerdings empfehlen, den Winkel nicht in Grad umzurechnen, sondern stets in Radian zu arbeiten, da soweit ich weiß alle Trigonometrischen Funktionen in Object Pascal als Argumentsformat Radian nehmen.

Übrigens feiner Name Nick "Elladan"



Gruss Benedict

pajofego
2004-10-14, 00:31:51
Die unten angegebene Formel ist genau falsch herum.
Der Winkel in
rad = Degree/180 * PI


Jo, hast recht! Ich war mal wieder zu schnell. :redface:

Gruss

pajofego

Elladan
2004-10-14, 10:24:31
Bene, DU hier?
omg

danke!!

Elladan
2004-12-03, 23:55:49
ähm...

noch was:

möglicherweise verraffe ich hier jetzt was total...


wie komme ich von dem ausgerechneten Wert für cosinus auf die Gradzahl?

cos = Ankathete/Hypotenuse

Und wie komme ich von diesem Wert auf die Gradzahl? sprich: Cos hoch minus Eins?

dieses kann ich ja dann beliebig in Radien / Grad umrechnen (degtorad & radtodeg)

Trap
2004-12-04, 00:02:39
"Cos hoch minus 1" heißt richtig arcuscosinus oder in den meisten Programmiersprachen arccos.

cos Phi= Ankathete/Hypotenuse \arccos auf beide seiten anwenden
Phi = arccos(Ak/Hyp)