関数 三角関数と逆三角関数-三角関数

※より実装に近く表示させる為、コードの改行を避けています。スマホ等で閲覧される際は向きを変えてご覧ください。

※実装するバージョンによってはバージョンアップの仕様により動作しないコードもあります。実装には動作確認の上ご使用下さい。

Option Explicit


'Trigonometric & Inverse Trigonometric Function
'三角関数と逆三角関数

Function TrgDegreeZ_YX(ByVal Dgr As DoubleByVal z As Double _
                , ByRef y As DoubleByRef x As Double)
'************************************************
'三角関数-角度と正接zから正弦yと余弦xを算出する
'************************************************
'引数 Dgr:角度 45度など
'引数 z:正接 123.456cmなど
'角度:Thetaシータθ∠A
'条件:∟直角三角形

Dim dblRadian As Double, vPI As Double
vPI = 4 * Atn(1) '円周率(π)
dblRadian = (vPI / 180) * Dgr 'ディグリー(角度)からラジアンを求る

y = z * Sin(dblRadian)
x = z * Cos(dblRadian)

'縦位置(Y座標・Sine・サイン・正弦)ARCアーク
'横位置(X座標・Cosine・コサイン・余弦)ARCアーク
'斜位置(Z座標・Tangent・タンジェント・正接)ARCアーク

End Function


Private Sub test_TrgDegreeZ_YX()
    Dim y As Double, x As Double
    Call TrgDegreeZ_YX(56.3, 18.02775638, y, x)
    Debug.Print y
    Debug.Print x
' 14.9982662331051
' 10.0026001668331
End Sub
Option Explicit


'Trigonometric & Inverse Trigonometric Function
'三角関数と逆三角関数

Function TrgDegreeX_ZY(ByVal Dgr As DoubleByVal x As Double _
                , ByRef z As DoubleByRef y As Double)
'************************************************
'三角関数-角度と余弦xから正接zと正弦yを算出する
'************************************************
'引数 Dgr:角度 45度など
'引数 x:余弦 123.456cmなど
'角度:Thetaシータθ∠A
'条件:∟直角三角形

Dim dblRadian As Double, vPI As Double
vPI = 4 * Atn(1) '円周率(π)
dblRadian = (vPI / 180) * Dgr 'ディグリー(角度)からラジアンを求る

z = x / Cos(dblRadian)
y = x * Tan(dblRadian)

'縦位置(Y座標・Sine・サイン・正弦)ARCアーク
'横位置(X座標・Cosine・コサイン・余弦)ARCアーク
'斜位置(Z座標・Tangent・タンジェント・正接)ARCアーク

End Function


Private Sub test_TrgDegreeX_ZY()
    Dim z As Double, y As Double
    Call TrgDegreeX_ZY(56.3, 10.0026001668331, z, y)
    Debug.Print z
    Debug.Print y
' 18.02775638
' 14.9982662331051
End Sub
Option Explicit

'Trigonometric & Inverse Trigonometric Function
'三角関数と逆三角関数

Function TrgDegreeY_ZX(ByVal Dgr As DoubleByVal y As Double _
                , ByRef z As DoubleByRef x As Double)
'************************************************
'三角関数-角度と正弦yから正接zと余弦xを算出する
'************************************************
'引数 Dgr:角度 45度など
'引数 y:正弦 123.456cmなど
'角度:Thetaシータθ∠A
'条件:∟直角三角形

Dim dblRadian As Double, vPI As Double
vPI = 4 * Atn(1) '円周率(π)
dblRadian = (vPI / 180) * Dgr 'ディグリー(角度)からラジアンを求る

z = y / Sin(dblRadian)
x = y / Tan(dblRadian)

'縦位置(Y座標・Sine・サイン・正弦)ARCアーク
'横位置(X座標・Cosine・コサイン・余弦)ARCアーク
'斜位置(Z座標・Tangent・タンジェント・正接)ARCアーク

End Function


Private Sub test_TrgDegreeY_ZX()
    Dim z As Double, x As Double
    Call TrgDegreeY_ZX(56.3, 14.9982662331051, z, x)
    Debug.Print z
    Debug.Print x
' 18.02775638
' 10.0026001668331
End Sub
  • はてなブックマークに追加

 

2016年10月01日|[VBサンプルコード]:[関数]