AGB  ·  Datenschutz  ·  Impressum  







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

Wurzel & Winkelberechnung

Ein Thema von Python · begonnen am 21. Nov 2013 · letzter Beitrag vom 22. Nov 2013
Antwort Antwort
Python

Registriert seit: 21. Nov 2013
3 Beiträge
 
#1

Wurzel & Winkelberechnung

  Alt 21. Nov 2013, 17:30
Delphi-Version: 5
Delphi-Version: 4 (stand leider nicht zur Auswahl)

Ich möchte ein Programm schreiben, welches den Winkel von 2 Verschiebungsvektoren berechnet.

Code:
float := ArcCos((a1*b1+a2*b2+a3*b3)/(Sqrt(power(a1,2)+power(a2,2)+power(a3,2)*Sqrt(power(b1,2)+power(b2,2)+power(b3,2)))));
     float := RadToDeg(float);
     Edit1.Text := FloatToStr(float) + ' Grad';
Es kommt kein Fehler beim Kompilieren, aber wenn ich den Button zur Berechnung drücke erscheint folgende Nachricht:

Klasse: EInvalidOp
Meldung: Ungültige Gleitkommazahl

Wie behebe ich das, sodass er mir den Winkel ausgibt?

Mit freundlichen Grüßen

Python
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
10.995 Beiträge
 
Delphi 12 Athens
 
#2

AW: Wurzel & Winkelberechnung

  Alt 21. Nov 2013, 17:33
Da müsste man schon wissen, welche Werte in den jeweiligen Variablen stehen.

Übrigens: sqr(x) gibt das Quadrat von x.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Python

Registriert seit: 21. Nov 2013
3 Beiträge
 
#3

AW: Wurzel & Winkelberechnung

  Alt 21. Nov 2013, 17:36
Vektor1: 1|0|3
Vektor2: 1|-1|3

Rechnung sollte sein:
a1*b1 + a2*b2 + a3*b3 geteilt duch Wurzel(a1²+a2²+a3²) * Wurzel(b1²+b2²+b3²)
Und das Ergebnis soll dann noch mit "cos-1" gerechnet werden. (Auf dem Taschenrechner ist es "cos hoch -1")

Denke ich habe mich bei der Rechnung bei Delphi vertan. :-$

Geändert von Python (21. Nov 2013 um 17:39 Uhr)
  Mit Zitat antworten Zitat
Mathematiker
(Gast)

n/a Beiträge
 
#4

AW: Wurzel & Winkelberechnung

  Alt 21. Nov 2013, 17:49
Hallo,
Code:
float := ArcCos((a1*b1+a2*b2+a3*b3)/(Sqrt(power(a1,2)+power(a2,2)+power(a3,2)*Sqrt(power(b1,2)+power(b2,2)+power(b3,2)))));
     float := RadToDeg(float);
     Edit1.Text := FloatToStr(float) + ' Grad';
Die Klammern stehen falsch. Der Betrag ist für jeden Vektor einzeln zu berechnen, d.h. nach der 1.Wurzel muss eine Klammer stehen, die bei Dir fehlt:
Code:
Sqrt(power(a1,2)+power(a2,2)+power(a3,2))
Entsprechend bei dem 2.Vektor. Wie schon erwähnt, wäre allerdings entweder
Code:
Sqrt(sqr(a1)+sqr(a2)+sqr(a3))
oder
Code:
Sqrt(a1*a1+a2*a2+a3*a3)
übersichtlicher.

Beste Grüße
Mathematiker
  Mit Zitat antworten Zitat
Python

Registriert seit: 21. Nov 2013
3 Beiträge
 
#5

AW: Wurzel & Winkelberechnung

  Alt 21. Nov 2013, 17:57
Ihr seid echt super

Ich war hier schon öfter auf der Seite und hatte mich dann eben entschlossen mich hier anzumelden.

Vielen vielen Dank

Mit freundlichen Grüßen

Python
  Mit Zitat antworten Zitat
Frank Ranis

Registriert seit: 15. Okt 2008
17 Beiträge
 
#6

AW: Wurzel & Winkelberechnung

  Alt 22. Nov 2013, 17:06
Hallo Python.

kennst Du diese Seite.

http://wiki.delphigl.com/index.php/T...ineare_Algebra

Gruß

Frank
  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 03:30 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz