![]() |
Grad in Sin, Cos und Tan ausgeben
Moin allerseits,
und zwar möchte ich einmal wissen, wie man mit Delphi eine ganz gewöhnliche Gradangabe in Sinus, Cosinus und Tangenz umwandelt? mfG, Nico |
Re: Grad in Sin, Cos und Tan ausgeben
Delphi-Quellcode:
Rad := DegToRad(Grad);
// un umgekehrt Deg := RadtoDeg(Rad); |
Re: Grad in Sin, Cos und Tan ausgeben
Danke für die schnelle Antwort, jedoch
weiß ich jetzt nicht genau, wie ich mir nun den entsprechende sinus, cosinus und tangenz Wert daraus herleiten soll? |
Re: Grad in Sin, Cos und Tan ausgeben
|
Re: Grad in Sin, Cos und Tan ausgeben
Grad=
Delphi-Quellcode:
zb.
Grad := RadtoDeg(Rad);
//habe mich vorhin verschrieben
Delphi-Quellcode:
hoffe es geht
var i:real;
begin i:=RadtoDeg(strtofloat(edit1.text)); //und dann normal weiter machen |
Re: Grad in Sin, Cos und Tan ausgeben
Ok Danke,
das klappt eigendlich schon so halb. Naja halt nur so halb...
Delphi-Quellcode:
...denn wenn ich dort für Winkel = 90 eingebe,
procedure TForm1.Button1Click(Sender: TObject);
begin a := strtofloat(LabeledEdit1.text); b := sin(a); memo1.Lines.add(floattostr(b)); end; gibt er mir als sin-Wert = 0,89.. heraus, jedoch weiß ich, dass 90° = 1 sin sind??? :( |
Re: Grad in Sin, Cos und Tan ausgeben
Ich zitiere mich einmal selbst:
Zitat:
![]() |
Re: Grad in Sin, Cos und Tan ausgeben
wenn du den Befehl zum Umwandeln nicht einfügst ;)
|
Re: Grad in Sin, Cos und Tan ausgeben
Ok Danke jetzt habe ichs :-D :-D :-D
mit dem folgenden code klappts :lol:
Delphi-Quellcode:
...also so wie du erklärt hast :-D
procedure TForm1.Button1Click(Sender: TObject);
begin a:=DegtoRad(strtofloat(labelededit1.text)); b := sin(a); memo1.Lines.add(floattostr(b)); end; mfG, Nico |
Re: Grad in Sin, Cos und Tan ausgeben
Sorry, hätte ich ja gemacht,
wenn ich dann nicht ein Doppelpost getätigt hätte, hätte ich auch keinen neuen Thread aufgemacht. (durch Edit wird das Thema ja nicht noch einmal aufgefrischt, da ich dachte, dass das Thema schon erledigt sei) Alse die Dateien gibts ![]() und die "neue" Fehlerbeschreibung Fehlerbeschreibung: Zitat:
|
Re: Grad in Sin, Cos und Tan ausgeben
Was meinst du mit "die Unterscheidung"?
|
Re: Grad in Sin, Cos und Tan ausgeben
wenn ich jedesmal nur, nachdem ich a ins rad
umgewandelt habe, b := sin(a); c := cos(a); d := tan(a); es so eingebe, stimmen die sin Werte meistens immer, jedoch bei den Cos WErten is bei über 90° Schluss und der Tangens wird teilweise auch ganz komisch angezeit mit 6,... |
Re: Grad in Sin, Cos und Tan ausgeben
Ich wäre mir ziemlich sicher, dass die Werte stimmen.
Und beim Tangens können Werte im kompletten Wertebereich der reellen Zahlen herauskommen, 6,irgendwas ist also durchaus möglich. |
Re: Grad in Sin, Cos und Tan ausgeben
Ok dankeschön,
dann vertraue ich dem ganzen mal :-D |
Re: Grad in Sin, Cos und Tan ausgeben
Zitat:
cos und sin sind beides periodische Funktionen, mit der Periode 2*Pi. D.h. der cos(a) = cos(a + 2Pi) = cos(a + 4Pi) usw. Und 2*Pi entspricht bekanntlich einem gesamten Umlauf am Einheitskreis, also 360 Grad (und somit sollte auch klar werden, wie die Funktion DegToRad bzw. RadtoDeg die Werte umrechnet... Ich sag nur Dreisatz) Der Wertebereich für beide Funktionen liegt zwischen [-1..1]. Andere Werte kann der cos und sin nicht annehmen. Weiterhin gilt, dass der tan sich auch schreiben lässt als tan(a) = sin(a)/cos(a) und daruas wird auch klar, dass der Wertebereich von tan ]-unendlich..+unendlich[, denn wenn cos(a) gegen null strebt (das ist der Fall bei bei 90 Grad und bei 270 Grad), tendiert der Nenner gegen null und der Bruch somit gegen unendlich (+ oder -), da für cos(a)=0 gilt dass sin(a)=-1 oder +1 wird. EDIT: Danke an Klubscheisser 3_of_8 (nicht bös gemeint) |
Re: Grad in Sin, Cos und Tan ausgeben
Vor das -unendlich gehört noch ein ] ;)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:33 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz