Visual Basic - Technik, FAQ, Tricks, Beispiele

Home / Allgemein / Mathe / Radiant

Winkelberechnungen in Radiant

Zu Beginn der VB-Karriere gibt es oft Probleme mit den trigonometrischen Funktionen, da diese für Winkelangaben die Einheit Radiant erwarten (und nicht die "normalerweise" benutzten Grad).

Da 2 Pi gerade 360 Grad entsprechen, wird für die Umrechnung die berühmte Kreiszahl benötigt:
'Pi als Konstante definieren:
Const Pi As Double = 3.14159265358979

'ODER: Pi berechnen lassen:
Function Pi() As Double
  Pi = Atn(1) * 4#
End Function

'ODER: Pi sehr genau vorgeben:
Function Pi() As Variant
  Const sPi = "3,1415926535897932384626433832795"
  Pi = CDec(sPi)
End Function
Zur Umrechnung kann nun folgende Routine verwendet werden:
'Umrechnung Grad in Bogenmaß:
Function Rad(ByVal Grad As Double) As Double
  Rad = Pi * Grad / 180
End Function
Dann kann in Berechnungen mit Grad gearbeitet werden:
Print Sin(Rad(90))
'--> ergibt 1!
Oder man definiert eine Konstante "Rad", die direkt den Umrechnungsfaktor angibt:
Const Rad As Double = 1.74532925199433E-02
Dann kann man schreiben:
Print Sin(90 * Rad)
'--> ergibt immer noch 1!   ;-)
Sicher eine Geschmacksfrage, welcher Variante man den Vorzug gibt, wobei die 2. Lösung natürlich schneller ist, aber dafür evtl. nicht so gut lesbar...

© Jost Schwider, 30.04.2000-01.08.2000 - http://vb-tec.de/radiant.htm