Swift Dreiecksrechner sin/cos/tan bzw. asin/acos/atan?
Weiss einer zufaelligerweise warum der Code nicht 53.13 sondern 51.60 ergibt?
Ich schaetze mal, dass es eher ein Mathematisches Problem ist und kein Problem im Code.
----------
@IBAction func calculate(_ sender: Any) {
winkelB.text = String(asin(sin(winkelAText * Double.pi / 180) / seiteA * seiteB) * 180 / Double.pi)
}
----------
Abmessungen des Dreiecks:
Seite A = 3
Seite B = 4
winkelAText = 36.86
Diese Formel soll es darstellen:
1 Antwort
Der Unterschied erklärt sich daraus, dass in der Vorlage für den Winkel der Wert 36,8698976 angegeben wird, in die Formel aber 36,86 eingesetzt wird.
Die Formel reagiert empfindlich auf kleine Änderungen des Winkels. Allerdings wäre der Unterschied der Ergebnisse kleiner ausgefallen, wenn der Wert 36,8698976 regelgerecht auf zwei Nachkommastellen gerundet worden wäre.
Nachtrag:
Regelgerechtes Runden auf zwei Nachkommastellen liefert natürlich 36,87 und es ist durchaus lehrreich, diesen Wert in die Formel einzusetzen.
"36,8698976 angegeben wird, in die Formel aber 36,86 "
Wer so rundet, hat halt wirklich gewisse Defizite ...
Oh. Also ist eigentlich von der Formel/Syntaxstellung her doch alles korrekt. Vielen Dank. War lange am gruebeln.