Registriert: Mi Jul 17, 2002 12:07 Beiträge: 976 Wohnort: Tübingen
Hallo, ich habe da eine Frage zu Sin und Cos. Delphi liefert mir ja mit sin(winkel) den entsprechenden Sinus. Der wird mir aber in rad ausgegeben. Wie bekomme ich hier einen Wert, der wie der des Taschenrechners aussieht (zwischen -1 und 1, z.B. bei sin(90)=1, ...)? Wahrscheinlich habe ich in meiner grenzenlosen Dummheit wieder mal was grundlegendes vergessen :ph34r: . Ich sollte noch sagen, dass ich das Mathe-Tut schon angeschaut habe, es mir aber nicht weitergeholfen hat. Ciao La_Boda
_________________ "Du musst ein Schwein sein in dieser Welt, sangen die Prinzen, das ist so 1.0. Du musst auf YouTube zeigen, dass dir dein Schweinsein gefällt, das ist leuchtendes, echtes Web 2.0." - Hal Faber Meine Homepage: http://laboda.delphigl.com
Registriert: Mi Jul 17, 2002 12:07 Beiträge: 976 Wohnort: Tübingen
Ich wollte das bisher so machen:
Code:
procedure TForm1.Button1Click(Sender: TObject);
var a,b: Extended;
begin
a:= sin(StrToFloat(Edit1.Text));
{b:= a /(2 * Pi / 360);}
Button1.Caption:= FloatToStr(b)
end;
_________________ "Du musst ein Schwein sein in dieser Welt, sangen die Prinzen, das ist so 1.0. Du musst auf YouTube zeigen, dass dir dein Schweinsein gefällt, das ist leuchtendes, echtes Web 2.0." - Hal Faber Meine Homepage: http://laboda.delphigl.com
Registriert: Mo Sep 23, 2002 19:27 Beiträge: 5812
Programmiersprache: C++
Schau dir mal in der Delphi-Hilfe die Funktionen RadToDeg() und DegToRad()an, die von Radien nach Grad bzw. umgekehrt wandeln.
Wenn der Benutzer also z.B. in Edit1.Text nen Winkel eintippt und dann auf Label1 der Sinus zwischen -1 und 1 erscheinen soll, muß deine Umwandlung in so aussehen : <!--pas--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>Delphi-Source </td></tr><tr><td id='CODE'><!--pas1--><pre>Winkel := StrToFloat(Edit1.Text); Sinus := sin(DegToRad(Winkel); Label1.Caption := FloatToStrF(Sinus, ffFixed, <span class='integer'>3</span>, <span class='integer'>5</span>);</pre><!--pas2--></td></tr></table><span class='postcolor'><!--pas3-->
Also wenn du' s händisch machen willst (ist ja ganz praktisch, alles auch ein bissel zu verstehen - mit Radian wirst du wahrscheinlich noch sehr oft arbeiten), musst du natürlich das Argument IN der Klammer in Radian umwandeln, da PI=180° (bzw. 2*PI=360°) gilt:
Code:
a := sin(StrToFloat(Edit1.Text)*PI/180); // Edit1.Text ist Winkel in (Alt)Grad
Registriert: Mi Jul 17, 2002 12:07 Beiträge: 976 Wohnort: Tübingen
Danke, es funzt! Das sollte vielleicht in das Mathe-Tut integriert werden, ist ja doch ganz wichtig
_________________ "Du musst ein Schwein sein in dieser Welt, sangen die Prinzen, das ist so 1.0. Du musst auf YouTube zeigen, dass dir dein Schweinsein gefällt, das ist leuchtendes, echtes Web 2.0." - Hal Faber Meine Homepage: http://laboda.delphigl.com
Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.