HAMIchin仮面の土木・測量教室   Room 711  16回 


    Hokokaku() の中身  細かく説明 3個目の条件

 


  Hokokaku() 関数の構造。

      最後 3番目の分岐の結果を考える。









図16-1
  

            







図16-2






















7







      Case Is < 0

        Select Case dY
          Case Is > 0
             Hokokaku = pi + Atn(dY / dX)          条件番号 7
          Case Is = 0
             Hokokaku = pi                     条件番号 8
          Case Is < 0
             Hokokaku = pi + Atn(dY / dX)          条件番号 9
          End Select




  条件番号 7 の場合を考える。 dX<0 dY>0 方向角=90°〜180°(90°、180°を除く)


   ”エクセル” セルの入力 例  =Hokokaku(-58

     dX=-5 ですので dX<0 の条件に一致します。

     dY=8  ですので dY>0 の条件に一致します。

     dX=0, dY>0 の条件を満たす方向角の範囲は

               90°〜180°
(90°、180°を除く) です。 (図16-1)

    方向角を求める計算式はtan-1(8 / (-5)) です。 

    実際に dY=8 dX=-5 を代入して計算しますと 

        tan-1( 8 / (-5)= -1.01219701145133 radとなります。

        計算結果は ラジアン表示ですが、 角度では237.99461679°となります。

    これでは、条件番号 7  dX<0 dY>0 の範囲 

    の求める 90°〜180°(90°、180°を除く) の答えにはなりません。

    修正を加えることになります。 

    この範囲では アークタンゼントの答えは必ずマイナス(-)になります。

    従って、 方向角=180°+ tan-1(dY / dX )   

    結果は 180°から tan-1(dY / dX ) の答えを引いたものです。

    プログラムの命令は

    Hokokaku = pi + Atn(dY / dX ) となります。 (図16-2) 

                     piはラジアン表示で180°です。
   
   条件番号7  は 完成です。
 




















8





    条件番号 8 の場合を考える。 dX<0 dY=0  方向角=180°
 

     エクセル セルの入力 例  =Hokokaku(-7、0)

     dX=-7 ですので dX<0 の条件に一致します。

     dY=0 ですので dX=0 の条件に一致します。
 
     dX<0, dY=0 は 条件を満たす範囲はただ一つ 180°です。 (図16-1)

     方向角=180° 「真南」 となります。
 
     実際に dY=0 dX=-7 を代入して計算しますと

        tan-1( 0 / -7) = 0 となり 方向角は 0°となります。

     方向角  tan-1( 0 / -7) = 180° になるよう修正をかける必要があります。

     従って、 プログラム上の方向角を求める命令は

     Hokokaku = pi  となります。 (図15-2) 
     
      条件番号 8 は完成です。


    

























9










































H
o
k
o
k
a
k
u







 


   条件番号 9 の場合を考える。 dX<0 dY<0   
 
                      方向角=180°〜 270°(180°、270°は除く)



     
”エクセル” セルの入力 例  =Hokokaku(-5、-8

     dX=-5 ですので dX<0 の条件に一致します。

     dY=-8  ですので dY<0 の条件に一致します。

    dX<0, dY<0 
の条件を満たす方向角の範囲は 

          180°〜 270°
(180°、270°を除く) です。 (図16-1)
 
    方向角を求める計算式は tan-1( (-8) / (-5) ) です。 

    
実際に dY=-8 dX=-5を代入して計算しますと 

        tan-1(( -8) / (-5)= 
1.01219701145133 radとなります。

        
計算結果は ラジアン表示ですが 角度では57.99461679°となります。

      
 これでは条件番号 9  dX<0 dY<0 の範囲 

       の求める 180°〜 270°(180°、270°を除く) の答えにはなりません。

    修正を加えることになります。 

    この範囲では アークタンゼントの答えは必ずプラス(+)になります。

    従って、 方向角=180°+ tan-1(
dY / dX )  

    結果は 180°から tan-1(
dY / dX )の答えを足したものです。

    プログラムの命令は

     Hokokaku = pi + Atn(
dY / dX ) となります。 (図16-2) 

                   
  piはラジアン表示で180°です。
   
   条件番号 9
 は完成です。

   条件番号 7  と 条件番号 9  
 の 

  プログラム上の式 は Hokokaku = pi + Atn(dY / dX  で同じ式となります。





   「ま と め」 です。

   dX > 0 のとき
     dY > 0  Hokokaku = Atn( dY / dX)        0°〜90°   (0°、90°を除く)
     dY = 0  Hokokaku = 0                0°
     dY > 0  Hokokaku = 2 * pi + Atn( dY / dX)  270°〜360° (270°、360°を除く)

   dX = 0 のとき
     dY > 0  Hokokaku = 1/2*pi             90° 
     dY = 0  Hokokaku = 0                0°
     dY > 0  Hokokaku = 2 /3* pi            270°

   dX < 0 のとき
     dY > 0  Hokokaku = pi + Atn( dY / dX)      90°〜180°  (90°、180°を除く)
     dY = 0  Hokokaku = 0               180°
     dY > 0  Hokokaku = pi + Atn( dY / dX)     180°〜270° (180°、270°を除く)  


  方向角を求める 基本式 方向角=tan-1(dY / X) を コンピューターで計算させようとすると
   
  9個の条件により異なった計算方法でなければ正しい答えを求められないことが

  解りましたでしょうか。 


  これだけの準備をして、エクセルで方向角を求めようとすると

  まず最初に エクセルの.セルに キーボードから 

  「計算するよ。」 と  ”=”  を打ち込みます。

  次に 「方向角の計算ですよ。」 と ”hokokau’  と打ち込みます。

   「計算データーは dX=9 、 dY=13 で計算しなさい。」 と

            ”(8,13)” カッコも含めて 計算のデーター情報を 打ち込みます。

  ”Enter” と同時に  今まで説明してきたプログラムが働いて 

  データー情報の条件に一致する計算式に基づいて 

  エクセルのセルに 方向角の答えを ラジアンで 表示します。

  
  「方向角を計算する プログラムがこうして完成します。」

    Hokokaku() の 働きを とりあえず試してみたい方は ファイルを用意しています。

    詳しくは 下の インホメーションをご覧下さい。 







  エクセルのファイル 「座標計算シート」 (有料) を用意しました。 


  このファイルで ToraX、 ToraY 関数のマクロが完全に表示されます。

      トラバー計算、逆トラバー計算を一つの画面で処理する標準フォーム

      標準フォームページを即、使うための解説

      VBA による 座標関連関数 のリソース(プログラム)の公開 

     ● Hokokaku(dX, dY)の完全な動作, と記述を含みます。 

      リソースの解説のための計算例

      プログラム作成のための補足説明

                      が含まれています。

   この講座は 順次回を重ねていくと 最終的には 「座標計算シート」が出来上がります。

   前もって 「座標計算シート」を手元に置かれて 参考にしながら 実際に作動させて
     確認していただくと よりいっそう理解しやすいです。

   また、本講座と 「座標計算シート」があれば 本格的な、座標計算やVBAの教材としても
     十分に活用できるものと考えております。


     テキストファイル入手方法は下欄でお確かめ下さい。




    ”エクセル” ファイル 「座標計算シート」 申し込み方法

      ファイル代金 ¥2,000円 を下記の銀行に振り込んで下さい。

   恐れいりますが、 メールにて

        ファイルの送り先のメールアドレス

        あなたの名前 (お名前がわからないと振込みの確認ができません)

                   以上をお知らせください。

    確認ができしだい メールにてファイルを送らせていただきます。
    もし、1週間経ってもファイルが届かない場合、お叱りのメールを下さい。直ちに対処いたします。

     連絡先メール   mt7116@mandala.ne.jp

     振込み先

         阿波銀行山川支店(店番号406)
         普通預金
         口座番号  1034509
         永井 俊   (ナガイ タカシ)

         ファイル代金 ¥2,000円



   back to  room 711 top     goto e-school top