« 極座標(赤経・赤緯)と直交座標(方向余弦)の変換 (2) | トップページ | 極座標(赤経・赤緯)と直交座標(方向余弦)の変換 (4) »

2014年1月18日 (土)

極座標(赤経・赤緯)と直交座標(方向余弦)の変換 (3)

極座標から方向余弦への変換を
  「極座標(赤経・赤緯)と直交座標(方向余弦)の変換 (1)
  「極座標(赤経・赤緯)と直交座標(方向余弦)の変換 (2)
に書きましたので、今回は直交座標(方向余弦)を極座標(赤経・赤緯等)に変換する方法です。

  xp = r * cos(δ) * cos(α)
  yp = r * cos(δ) * sin(α)
  zp = r * sin(δ)

という関係があります(方向余弦の場合は r=1 です)ので最後の式から

  δ = asin(zp/r)

となります。Nとδの範囲は

  -1 ≦ N ≦ 1
  -π/2 ≦ δ ≦ π/2

でありNとδは一対一で対応していますからこれで問題ありません。

一方αの方は注意が必要です。

二番目の式を最初の式で割ると

  M/L = sin(α) / cos(α)

ですから

  α = atan(yp/xp)

となるのですが

  -1 ≦ xp ≦ 1
  -1 ≦ yp ≦ 1

ですのでxpとypの値は(符号が)違うのにαの値は同じになってしまうことがあります。
赤経のように 0 ≦ α < 2π であれば

  xp ≧ 0、yp ≧ 0 のとき α = atan(yp/xp)
  xp < 0 のとき α = atan(yp/xp) + π
  xp ≧ 0、 yp < 0 のとき α = atan(yp/xp) + π*2

のようなことになります。
こういうときはatan2を使うのが便利です。

  yp ≧ 0 のとき α = atan2(xp,yp)
  yp < 0 のとき α= atan2(xp,yp) + π*2

(経度のように)-π ≦ α ≦ πで表記してもよければatan2を使う場合は

  α = atan2(xp,yp)

だけで済みます。
atan(arctan)を使う場合もゼロ割りを避けるため

   xp=0、yp > 0 のとき α = π/2
   xp=0、yp < 0 のとき α = -π/2

とする必要がありますがExcelのatan2()はこのあたりもxp=0、yp=0のときを含めちゃんと考慮してくれるようです。
以上赤経・赤緯のばあいでしたが方位角も同様です。ただ赤経と方位角は測り方が逆向きということについては注意する必要があります。つまり

  atan2(xp, -yp)

となります。方位角0度を北とした場合はさらにこの結果から180度(π)を引く必要があります。

  atan2(xp, -yp) - π
あるいは

  atan2(-xp, yp)

となります。
次の記事 「極座標(赤経・赤緯)と直交座標(方向余弦)の変換 (4) 」でこれまで書いたことをExcelのファイルで示します。

« 極座標(赤経・赤緯)と直交座標(方向余弦)の変換 (2) | トップページ | 極座標(赤経・赤緯)と直交座標(方向余弦)の変換 (4) »

天文計算」カテゴリの記事

コメント

この記事へのコメントは終了しました。

トラックバック


この記事へのトラックバック一覧です: 極座標(赤経・赤緯)と直交座標(方向余弦)の変換 (3):

« 極座標(赤経・赤緯)と直交座標(方向余弦)の変換 (2) | トップページ | 極座標(赤経・赤緯)と直交座標(方向余弦)の変換 (4) »

フォト

サイト内検索

  • 記事を探されるんでしたらこれがいちばん早くて確実です。私も使ってます (^^;; 検索窓が表示されるのにちょっと時間がかかるのはどうにかしてほしいです。

新着記事

リンク元別アクセス数

  • (アクセス元≒リンク元、原則PCのみ・ドメイン別、サイト内等除く)

人気記事ランキング

  • (原則PCのみ、直近2週間)
無料ブログはココログ