Mathe: Geometrie

Trigonometrische Formeln

Pythagoras

 
Public Function TrigHyp(ByVal Kat1 As Double, ByVal Kat2 As Double) As Double
'=== Berechnet die Hypotenuse (Diagonale)
    TrigHyp = Sqr((Kat1 * Kat1) + (Kat2 * Kat2))
End Function
 
Public Function TrigHyp2(ByVal Kat1 As Double, ByVal Kat2 As Double) As Double
'=== Berechnet die Hypotenuse (Diagonale)^2
    TrigHyp = (Kat1 * Kat1) + (Kat2 * Kat2)
End Function
 
 
Public Function TrigKat(ByVal Hyp As Double, ByVal Kat As Double) As Double
'=== Berechnet eine Katete
    TrigKat = Sqr(Abs((Hyp * Hyp) - (Kat * Kat)))
End Function

Rechtwinklige Dreiecke

 
Public Function Trig_W_HyAn(ByRef Hyp As Double, ByRef KatAngrenzend As Double) As Double
'=== Gegeben sind Hyp und KatAngrenzend. Ermittelt den Winkel
    Trig_W_HyAn = ArcCos(KatAngrenzend / Hyp)
End Function
 
 
Public Function Trig_W_HyGe(ByRef Hyp As Double, ByRef KatGegenuber As Double) As Double
'=== Gegeben sind Hyp und KatGegenuber. Ermittelt den Winkel
    Trig_W_HyGe = ArcSin(KatGegenuber / Hyp)
End Function
 
 
Public Function Trig_W_AnGe(ByRef KatAngrenzend As Double, ByRef KatGegenuber As Double) As Double
'=== Gegeben sind KatAngrenzend und KatGegenuber. Ermittelt den Winkel
    Trig_W_AnGe = Atn(KatGegenuber / KatAngrenzend)
End Function
 
 
Public Function Trig_Hyp_K1K2(ByRef Kat1 As Double, ByRef Kat2 As Double) As Double
'=== Gegeben sind zwei SeitenKateten. Ermittelt die Hypotenuse
    Trig_Hyp_K1K2 = Sqr((Kat1 * Kat1) + (Kat2 * Kat2))
End Function
 
 
Public Function Trig_Kat_KH(ByRef Kat As Double, ByRef Hyp As Double) As Double
'=== Gegeben sind Hypotenuse und eine Katete. Ermittelt die andere Katete
    Trig_Kat_KH = Sqr(Abs((Hyp * Hyp) - (Kat * Kat)))
End Function

Nicht Rechtwinklige Dreiecke


     b
  C /|         A B = Katete
  /  |A        C   = Hypotenuse
 a---c
   B

 
Public Function Trig_Cw_AwBw(ByRef Aw As Double, ByRef bw As Double) As Double
'=== Gegeben sind zwei Winkel. Ermittelt den dritten
    Trig_Cw_AwBw = PI2 - (Aw + bw)
End Function
 
 
Public Function Trig_Cw_AgBgCg(ByRef Ag As Double, ByRef Bg As Double, ByRef Cg As Double) As Double
'=== Gegeben sind drei Seiten. Ermittelt den Winkel
    Trig_Cw_AgBgCg = ACos(((Ag * Ag) + (Bg * Bg) - (Cg * Cg)) / (2 * Ag * Bg))
End Function
 
 
Public Function Trig_Cg_AgBgCw(ByRef Ag As Double, ByRef Bg As Double, ByRef Cw As Double) As Double
'=== Gegeben sind zwei Seiten und der eingeschlossene Winkel. Ermittelt den anderen Winkel
    Trig_Cg_AgBgCw = Sqr((Ag * Ag) + (Bg * Bg) - (2 * Ag * Bg * Cos(Cw)))
End Function
 
 
Public Function Trig_Bw_AgBgAw(ByRef Ag As Double, ByRef Bg As Double, ByRef Aw As Double) As Double
'=== Gegeben sind zwei Seiten und der anliegende Winkel. Ermittelt den anderen Winkel
    'Trig_Bw_AgBgAw = asin(Bg * (Sin(Aw) / Ag))
    Trig_Bw_AgBgAw = ArcSin(Bg * (Sin(Aw) / Ag))
End Function
 
 
Public Function Trig_Bg_AgAwBw(ByRef Ag As Double, ByRef Aw As Double, ByRef bw As Double) As Double
'=== Gegeben sind zwei Winkel und eine Seite. Ermittelt die anliegende Seite
     Trig_Bg_AgAwBw = Ag * (Sin(bw) / Sin(Aw))
End Function

Geometrie 2D

 
Public Function Geo2D_RectCircum(ByVal Len1 As Double, ByVal Len2 As Double) As Double
'===== Berechnet den Umfang^1 eines Kreises
    Geo2D_RectCircum = (Len1 + Len2) * 2
End Function
 
Public Function Geo2D_RectVolume(ByVal Len1 As Double, ByVal Len2 As Double) As Double
'===== Berechnet das Volumen^2 eines Kreises
    Geo2D_RectVolume = Len1 * Len2
End Function
 
 
Public Function Geo2D_CircleCircum(ByVal Radius As Double) As Double
'===== Berechnet den Umfang^1 eines Kreises
    Geo2D_CircleCircum = Radius * PI2
End Function
 
Public Function Geo2D_CircleVolume(ByVal Radius As Double) As Double
'===== Berechnet das Volumen^2 eines Kreises
    Geo2D_CircleVolume = (Radius * Radius) * PI
End Function
 
 
FIXME
'Public Function Geo2D_EllipseCircum(ByVal Radius1 As Double, ByVal Radius2 As Double) As Double
''===== Berechnet den Umfang^1 eines Kreises
''+++ integralrechnung
'    Geo2D_EllipseCircum = Radius * PI2
'End Function
 
Public Function Geo2D_EllipseVolume(ByVal Radius1 As Double, ByVal Radius2 As Double) As Double
'===== Berechnet das Volumen^2 einer Ellipse
    Geo2D_EllipseVolume = (Radius1 * Radius2) * PI
End Function

Geometrie 3D

 
Public Function Geo3D_RectSurface(ByVal Len1 As Double, ByVal Len2 As Double, ByVal Len3 As Double) As Double
'===== Berechnet die Oberfläche^2 einer Kugel
    Geo3D_RectSurface = ((Len1 * Len2) + (Len1 * Len3) + (Len2 * Len3)) * 2
End Function
Public Function Geo3D_RectVolume(ByVal Len1 As Double, ByVal Len2 As Double, ByVal Len3 As Double) As Double
'===== Berechnet das Volumen^3 einer Kugel
    Geo3D_RectVolume = Len1 * Len2 * Len3
End Function
 
 
Public Function Geo3D_SphereSurface(ByVal Radius As Double) As Double
'===== Berechnet die Oberfläche^2 einer Kugel
    Geo3D_SphereSurface = (Radius * Radius) * PI4
End Function
Public Function Geo3D_SphereVolume(ByVal Radius As Double) As Double
'===== Berechnet das Volumen^3 einer Kugel
    Geo3D_SphereVolume = (Radius * Radius * Radius) * PI * (4 / 3)
End Function
 
 
FIXME
'Public Function Geo3D_EllipseSurface(ByVal Radius1 As Double, ByVal Radius2 As Double, ByVal Radius3 As Double) As Double
''===== Berechnet die Oberfläche^2 einer Kugel
'''+++ integralrechnung
'    Geo3D_EllipseSurface = (Radius * Radius) * PI4
'End Function
Public Function Geo3D_EllipseVolume(ByVal Radius1 As Double, ByVal Radius2 As Double, ByVal Radius3 As Double) As Double
'===== Berechnet das Volumen^3 einer Kugel
    Geo3D_EllipseVolume = (Radius1 * Radius2 * Radius3) * PI * (4 / 3)
End Function
 
 
Public Function Geo3D_ThorusSurface(ByVal Radius1 As Double, ByVal Radius2 As Double) As Double
'===== Berechnet die Oberfläche^2 eines Thorus
    Geo3D_ThorusSurface = ((Radius2 * Radius2) - (Radius1 * Radius1)) * PI_P2
End Function
Public Function Geo3D_ThorusVolume(ByVal Radius1 As Double, ByVal Radius2 As Double) As Double
'===== Berechnet das Volumen^3 eines Thorus
    Geo3D_ThorusVolume = ((Radius2 + Radius1) * (Radius2 - Radius1) ^ 2) * PI_P2 / 4
End Function

Runtime/Mathe-Geometrie.txt · Zuletzt geändert: 2009/02/15 14:44 (Externe Bearbeitung)