![]() |
ArcCos Winkelberechnung
Ich bin echt zu blöd! :oops:
Ich habe ein Dreieck mit den Seiten A=40, B=40, C=18. Ich suche den spitzen Winkel, der C gegenüberliegt. Wenn ich meine Werte in einen Online-Rechner eingebe, erhalte ich erwartungsgemäß einen Winkel von rund 26 Grad. Die dazu benutzte Formel ist angeblich γ = arccos( (a² + b² - c²) / 2ab ) Wenn ich das mit Delphi 2010 selbst programmieren will, kommt die Fehlermeldung "Ungültige Gleitkommeoperation". Was mache ich falsch? Oder stimmt die Formel nicht?
Code:
function ArcCos(const X: Double): Double; // stammt aus Unit Math
asm FLD X FLD1 FADD ST(0), ST(1) FLD1 FSUB ST(0), ST(2) FMULP ST(1), ST(0) FSQRT FXCH // Absturz FPATAN end; function winkel(a, b, c: Double): Double; var X: Double; begin // arccos( (a² + b² - c²) / 2ab ) X := (a * a + b * b - c * c) / 2 * a * b; result := ArcCos(X) * (180 / PI); end; procedure TForm1.Button2Click(Sender: TObject); var Gamma: Double; begin Gamma := winkel(40.0, 40.0, 18.0); end; |
AW: ArcCos Winkelberechnung
Code:
Dem Nenner fehlen die Klammern.
X := (a * a + b * b - c * c) / (2 * a * b);
LG Steffen |
AW: ArcCos Winkelberechnung
Autsch! Betriebsblind!
Danke sehr! |
AW: ArcCos Winkelberechnung
Nach Pythagoras ist a*a + b*b = c*c!
Und a+a + b*b - c*c = 0! |
AW: ArcCos Winkelberechnung
Zitat:
Gruß, Andreas |
AW: ArcCos Winkelberechnung
Pythagoras gilt ausschliesslich für rechtwinklige Dreiecke mit den dem rechten Winkel anliegenden Seiten a und b. DBR meint allgemeine Dreiecke; und da gilt eben die oben genannte Formel. Also fertig mit Pythagoras oder neues Thema eröffnen.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:48 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 by Thomas Breitkreuz