Entwickler-Ecke

Sonstiges (Delphi) - Rechenoperationen


Dreamteam - Do 21.11.02 18:13
Titel: Rechenoperationen
Hallo!
Mit dem Taschenrechner kann man über die Steigung in einem Dreieck mit dem Tangens einen Winkel ausrechnen.
bei unserem Taschenrechner gibt man "2nd" "tan" "Steigung" ein und erhält dann den zugehörigen Winkel. Wie kann man das in Delphi schreiben?
Vielen Dank, Dreamteam


Wolff68 - Do 21.11.02 18:36

Also ich weis nicht was Du für einen Taschenrechner hast, aber bei meinem Casio find ich nix mit 2nd und Steigung...

Generell gibt es die Trigometrischen Funktionen natürlich auch in Delphi. Auch wenn man dabei beachten muß, daß Delphi immer im Bogenmaß rechnet.

Hast schonmal in der Hilfe nach Tan() ArcTan() und seinen Kollegen gesucht?

Was Du Steigung nennst ist wohl der Höhenversatz bei einer Einheit Länge.
Oder mathematisch: Die Gegenkathede bei gegebener Ankathede.

Also Steigung 10% = 10/100 und der Winkel Tan = (10 / 100) und Du suchst den Winkel.

In Delphi sieht das so aus:a := RadToDeg(ArcTan(10/100));Für RadToDeg() musst noch die Unit Math einbinden...


tommie-lie - Do 21.11.02 18:36

wie wär's mit tan(X: Extended)?


tommie-lie - Do 21.11.02 18:38

hey, das ist gleichzeitigkeit!


Wolff68 - Do 21.11.02 18:57

:lol:

Aber ich war erster, hihihi...


Dreamteam - Do 21.11.02 19:05

Hallo!
Schonmal vielen Dank für eure Hilfe!
@Wolff68: ich habe das jetzt mal folgendermaßen bei mir eingegeben:
zWinkel:=RadToDeg(ArcTan(mausi.vPosition-hstift.vPosition)/ (mausi.hPosition-hstift.hPosition));
in dem Hinteren Teil berechne ich die Steigung (ich meinte übrigens nicht, dass ich auf meinem Taschenrechner ne Steigungstaste habe, da muss ich natürlich ne Zahl eingeben :wink: )
Die Zahl auf die die Variable zWinkel jetzt gesetzt ist hat doch wenn ich das richtig verschdanden habe jetzt kein Bogenmaß mehr oder?
Aber leider funktioniert es noch nicht, wenn ich mein Programm ausführen will bekomme ich immer eine Fehlermeldung
Caioi, Dreamteam


Wolff68 - Do 21.11.02 19:19

Dreamteam hat folgendes geschrieben:

zWinkel:=RadToDeg(ArcTan(mausi.vPosition-hstift.vPosition)/ (mausi.hPosition-hstift.hPosition));

Mal ohne zu wissen was das für ein mausi ist oder was die mit dem hstift treibt,...
(Wenn sie nett ist, kannst se mir aber gerne mal vorstellen)

Du hast da glaub 'ne Klammer vergessen. Sonst rechnest den ArcTan nur über (mausi.vPosition-hstift.vposition)
Probiers mal damit:zWinkel:=RadToDeg(ArcTan((mausi.vPosition-hstift.vPosition)/ (mausi.hPosition-hstift.hPosition)));


Delete - Do 21.11.02 19:51

Die Fehlermeldung wäre übrigens auch sehr hilfreich, sonst kann man hier nur raten und eventuelkl hat sie gar nichts mit dem Code zu tun oder so.


Wolff68 - Do 21.11.02 22:30

Oder wir können raten und vermuten, daß Du eventuell die Unit Math noch nicht reingeschrieben hast. Dann kennt er natürlich das RadToDeg nicht...