AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Umrechnung Kosinuswert/Winkel

Ein Thema von JulianT · begonnen am 8. Mär 2015 · letzter Beitrag vom 9. Mär 2015
Antwort Antwort
JulianT
(Gast)

n/a Beiträge
 
#1

AW: Umrechnung Kosinuswert/Winkel

  Alt 9. Mär 2015, 06:59
Dankesehr, der Ansatz mit dem ArcCos hat mir sehr geholfen!

Delphi-Quellcode:
//Berechnen des Vektorenwinkels
cos_alpha:=skalarprodukt/(BetragA*BetragB);
EditCoswinkel.Text:=FloatToStr(cos_alpha);
alphabog:=ArcCos(cos_alpha);
alphagrad:= BogenZuGrad(alphabog);
EditWinkel.Text:=FloatToStr(alphagrad);

Sollte jetzt alles richtig sein

6o3l7.png

Ich würde die Ergebnisse nun noch gerne runden, die anderen 3 Edits programmiere ich später. Runden ging glaube ich mit FloatToStrF und ffFixed irgendwie, oder? Wie würde eine Codezeile aussehen, wenn ich auf 3 Nachkommastellen runden möchte?
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.340 Beiträge
 
Delphi 12 Athens
 
#2

AW: Umrechnung Kosinuswert/Winkel

  Alt 9. Mär 2015, 07:06
Runden ging glaube ich mit FloatToStrF und ffFixed irgendwie, oder?
Ähhh, nein?

Runden = Delphi-Referenz durchsuchenRound, Delphi-Referenz durchsuchenRoundTo, Delphi-Referenz durchsuchenTrunc usw.,
aber die Ausgabe in einem "bestimmten Format" ginge natürlich auch mit Delphi-Referenz durchsuchenFormat oder Delphi-Referenz durchsuchenFloatToStrF (F wie Format).

Aber wenn man mal in die Hilfe (F1) schauen würde, dann stünde dort alles Wichtige drin, wie man etwas benutzt, bzw. was man den Parametern übergeben müsste, vorallem wenn man den gewünschten Befehl schon kennt.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
JulianT
(Gast)

n/a Beiträge
 
#3

AW: Umrechnung Kosinuswert/Winkel

  Alt 9. Mär 2015, 07:23
Runden ging glaube ich mit FloatToStrF und ffFixed irgendwie, oder?
Ähhh, nein?

Runden = Delphi-Referenz durchsuchenRound, Delphi-Referenz durchsuchenRoundTo, Delphi-Referenz durchsuchenTrunc usw.,
aber die Ausgabe in einem "bestimmten Format" ginge natürlich auch mit Delphi-Referenz durchsuchenFormat oder Delphi-Referenz durchsuchenFloatToStrF (F wie Format).

Aber wenn man mal in die Hilfe (F1) schauen würde, dann stünde dort alles Wichtige drin, wie man etwas benutzt, bzw. was man den Parametern übergeben müsste, vorallem wenn man den gewünschten Befehl schon kennt.
Ich sagte ja bereits, dass das ein Nachteil ist, wenn man Wissen aus den 2000ern vermittelt bekommt und der Lehrer so wirkt, als hätte er das irgendwann mal auswendig gelernt.^^

Ich hab jetzt noch ein Problem mit den Datentypen Extended und Integer. Das Skalarprodukt ist als Integerwert deklariert, die Function RoundTo arbeitet ja laut Wiki mit Extended, was natürlich eine Inkompatibilität zur Folge hat. Ich weiß, dass ich mich jetzt ein bisschen dämlich anstelle, aber ich möchte wirklich gerne wissen, wie ich mit RoundTo arbeite, denn ich würde lieber neues kennenlernen, als mich nur auf dem alten dann auszuruhen. Und keine Sorge ich arbeite das noch nach, aber aktuell stockt es etwas, deswegen schon einmal Entschuldigung für meine Fragen.


EDIT:

Habe es nun über das Format mit FloatToStrF gemacht, klappt auch ganz gut, jedoch wäre ich wirklich mal an einer Umsetzung mit dem Typen RoundTo interessiert.

Code:
//Ausgeben des Vektorbetrages A
BetragA:= sqrt(sqr(VektorA[1])+sqr(VektorA[2])+sqr(VektorA[3]));
EditBetragA.Text:=FloatToStrF(BetragA,ffFixed,5,2);

//Ausgeben des Vektorbetrages B
BetragB:= sqrt(sqr(VektorB[1])+sqr(VektorB[2])+sqr(VektorB[3]));
EditBetragB.Text:=FloatToStrF(BetragB,ffFixed,5,2);

//Berechnen des Vektorenwinkels
cos_alpha:=skalarprodukt/(BetragA*BetragB);
EditCoswinkel.Text:=FloatToStr(cos_alpha);
alphabog:=ArcCos(cos_alpha);
alphagrad:= BogenZuGrad(alphabog);
EditWinkel.Text:=FloatToStrF(alphagrad,ffFixed,5,2);

Geändert von JulianT ( 9. Mär 2015 um 07:40 Uhr)
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#4

AW: Umrechnung Kosinuswert/Winkel

  Alt 9. Mär 2015, 08:22
Habe es nun über das Format mit FloatToStrF gemacht, klappt auch ganz gut, jedoch wäre ich wirklich mal an einer Umsetzung mit dem Typen RoundTo interessiert.
Dann schau dir doch die Online-Hilfe zu RoundTo an, die gibt's sogar in deutscher Sprache. Bei RoundTo gibst du zwei Parameter an:

function RoundTo(const AValue: Extended; const ADigit: TRoundToEXRangeExtended): Extended; Der erste ist der Wert, der gerundet werden soll, der zweite gibt die Potenz von 10 an, auf die AValue gerundet werden soll. Mit anderen Worten: ein positiver ADigit beschreibt die Stellen vor dem Komma, die gerundet werden sollen, ein negativer ADigit beschreibt die Stellen hinter dem Komma, die gerundet werden sollen.

Die Delphipraxis bietet übrigens eine Delphi-Referenz als Suchmaschine an.
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#5

AW: Umrechnung Kosinuswert/Winkel

  Alt 9. Mär 2015, 08:25
Du musst unterscheiden zwischen dem Wert und der Anzeige. Bei der Anzeige wird die Interpretation des Werts als ein String angezeigt, den Wert selber kann ich nicht anzeigen.

Du willst hier aber nur die Werte anzeigen - brauchst also die String-Interpretationen der Werte - und dafür ist FloatToStr doch genau richtig.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.340 Beiträge
 
Delphi 12 Athens
 
#6

AW: Umrechnung Kosinuswert/Winkel

  Alt 9. Mär 2015, 08:48
Wobei es diese Befehle auch schon im letzten Jahrtausend gab.
Bei den Grundfunktionen hat sich praktisch nichts verändert, also egal ob man Delphi 1 (Valentinstag 1995) oder XE7 (September 2014) benutzt und wie alt das Wissen des Lehrers ist.

Dank Code-Insight (Autovervollsändigung), Help-Insight (der Hint beim Mausdrüberhalten), Onlinehilfe (OH > F1), welche es inzwischen mehrfach richtig online gibt (DokuWiki, altes Wiki, Delphi-Referenz), Forensuche, Google usw. kann man Alles nachlesen, selbst wenn der Lehrer "unfähig" sein mag.

z.B.
F1 drücken und/oder
http://docwiki.embarcadero.com/Libra...de/System.Math
http://docwiki.embarcadero.com/Libra...ystem.SysUtils


Grundsätzlich kann es auch nie schaden, wenn man erwähnt (da oder jeweils ersten Post, bei seiner Frage) was man für eine Delphi-Version benutzt.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu ( 9. Mär 2015 um 11:13 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#7

AW: Umrechnung Kosinuswert/Winkel

  Alt 9. Mär 2015, 10:59
Ich sagte ja bereits, dass das ein Nachteil ist, wenn man Wissen aus den 2000ern vermittelt bekommt und der Lehrer so wirkt, als hätte er das irgendwann mal auswendig gelernt.^^
Als ich zur Schule ging gab es auch schon Lehrer, die den falschen Beruf erwischt hatten. Aber wenn man Schüler und Studenten heute so hört, dann muß es sich in der Zwischenzeit um eine überbezahlte Horde von Grenzdebilen handeln.
(gestern abend erzählte mir eine Studentin der Sozialwissenschaft, doch allen Ernstes, daß sie mit engllischsprachigen Texten nichts anzufangen wüßte, da ihr Wörterbuch noch von Ihrer Mutter sei. Ineressant in diesem Zusammenhang übrigens die Weigerung ein Online-Wörterbuch zu nutzen, da ihr bisher noch niemand gezeigt hätte wie man es benutzt)

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:27 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