« 2007年5月 | トップページ | 2007年7月 »

2007年6月24日 (日)

ドップラー効果と光行差:HippLiner 2.7.0への道, Vol.3

今回はドップラー効果と光行差のお話です。

070624hipp06c2

現在、恒星間航行シミュレータ:HippLinerは毎秒10光年とか100光年とか、超光速で目的地まで飛行しています。これはこれで見栄えがする光景でSFっぽくて良いかなとは思っているのですが、本当は物理の法則では光の速度より速く飛ぶことはできません。
しかも、たとえ光速を超えなかったとしても、宇宙船の速さが光の速さに近づくだけで、ドップラー効果や光行差とよばれる現象のせいで星の見え方が変わってしまいます。

そこで、今回HippLinerに光行差とドップラー効果を含めてみることにしました。
前回・前々回で、Hipparcos星表から色温度を出して、色温度から星の色を計算できるようにしたわけですが、実は今回これを行った最大の理由は、のもとがドップラー効果と光行差をHippLinerに取り入れたかったが故です。

 計算式は、最初は自分で出そうとしていましたが、全く同じことをやってる文献*1も見つけたので、その助けを借りました。星は点光源とみなせるので、光行差にしてもドップラーシフトにしても比較的単純みたいです。
最重要な2点は、光行差があると元は進行方向からθの角度に見えた星が、
20070624aberration
で表せる角度θ'として見かけ上見えるようになることと、ドップラーシフトによって、
20070624dopplershift
で表されるDという値を使って、元々の波長がλだった光波長が
20070624wavelength
に変化すること。なお、ここでβは航行速度の光速に対する割合(β=v/c)です。

さて、これまでの回でのもとは星の色を黒体輻射の色で表してきました。黒体輻射のエネルギー分布は通常
20070624blackbody
という式で表されるわけですが、移動する宇宙船の中から見た場合、そのエネルギー分布は
20070624blackbodydopplershifted
という形になります。
式の形を見てわかるように、ドップラーシフトが起きても黒体輻射の式の形自体は変わりません。(強度は変わりますが。)
 ドップラーシフトがあっても黒体輻射の式の形が変わらないということは、ドップラーシフトがあっても星の色はやっぱり黒体輻射の色になるということを意味します*2。たとえば、Dの値が2になるような場合は、元々温度3000Kで赤く見えた星は6000Kの白~黄色っぽい色に見えることになります。

 そこで、元々は同じ明るさに見えたはずの星が、近づいていくとき、遠ざかっていくときに実際にどのくらいの色の変化が起きるのかを画像にしてみました。
Img_temperatureimagedslumimags
 この画像では、横軸に元々の星の温度、縦軸に相対速度(θ=0°)をとり、画像内の明度は統一してあります。(100万倍以上の明るさの差はとてもじゃないけどディスプレーでは表せない)
 また、この画像内の等高線の数値は明るさの変化を表しています。静止状態(速度0)で5等星の明るさで見えた星が観測者の速度変化に伴ってどのくらいの等級に変化するかを示しています。たとえば、静止時に5等星の明るさで見えた温度6500Kの星は光速の90%では2等で、3000Kの星は-3等に明るくなって見えることになります。こ れはつまり、ベテルギウスとかアンタレスみたいな赤色巨星に光速の90%で近づこうとすると、これらの星はとても明るく見えることになるわけです(金星よりも明るくなる)。
 こうして、ドップラーシフトで近づく星は青く明るく、遠ざかる星は赤く暗くなるわけですが、緑とか紫とか、そういう変な色はありません。従って、しばしばスターボウ(星虹)と呼ばれるような、虹ができるほどの大きな色彩変化にもなりません。

 このように、色温度・明るさ・光行差を考慮して光速の60%でオリオン座方向へ飛行する宇宙船からの星の眺めをHippLinerでプロットしたのが最初の画像だったのでした。
他の速度で進む宇宙船から見た星空も、下に表示しておきます。

070624dopleraberration2

  1. McKinley and Doherty, Am.J.Phys., 47 (1979) 309.
    そうそう。「こういう話も論文になるのね。AIPのドメインにあるけどどんな論文誌?」…って思ってよく見てみたら、American Journal of Physicsっていうのはどうやら物理の先生のための論文誌で、現代物理学のトピックを授業で使うための内容を扱うらしいですね。
  2. もちろん、これは黒体輻射を仮定できる範囲内において…即ち星間吸収によるスペクトル形状の変化が大きくない範囲内ということですが、そんなに酷い仮定でもないでしょう。

| | コメント (1) | トラックバック (0)

2007年6月16日 (土)

UBV等級の基準:HippLiner 2.7.0への道, Vol.2

今回はHipparcos星表から星の温度を計算するお話です。

さて。星の明るさを表す「等級」という言葉。
たとえば実視等級だとベガは0等星、シリウスは-1等星、北極星は2等星ですが、その基準って考えたことがあるでしょうか?

 今回、Hipparcosカタログの星1個1個の色温度からHippLinerで表示する色を決めることにしたわけですが、Hipparcosカタログ自身には星の温度なんて書いていません。かといってHipparcosの11万個の星それぞれの温度が全部載っているカタログなんてないでしょうから、なんとかして温度を求める必要があります。

それならば色指数B-Vから星の温度を計算すればいいではないか…ということになります。のもとはB-Vから星の温度を求める変換式をすぐに見つけることができなかったので、今回はHipparcosカタログに載っているいくつかの等級:B、V等級、もしくはBT、VTという2個の等級データから、星の面積・温度という2個のパラメータを計算することにしました*1。つまり、B,Vの測光値に黒体輻射の式をFittingしてやれば面積・温度がほぼ一意に決まるだろう…というアイデアです。

…とそこで、はたと気がつきました。
B,Vの基準ってなんなんだろうと…。

 ところが市販の書籍や理科年表・辞典類を読んでみても、定性的な解説はあるものの基準については何も書かれていません。結局、Johnsonの元論文*2を読まないとわかりませんでした。この論文の中でJohnsonらは、A0V型の星であるαLyr、γUMa、109Vir、αCrB、γOphと、HR3314という6つの星について、U,B,Vそれぞれの感度係数を持つ検出器の測光値の平均値をU-B=B-V=0と規格化しています。その結果、A0V型の星ならU,B,V、3つの等級はほぼ同じ値をとることになり、結局αLyr(ベガ)の等級がV=0.03、B-V=0.00、U-B=-0.01、みたいな数値になったりするわけです*3

G_vega_johnsons
図:上段:ベガのエネルギー分光分布*4と9650Kの黒体輻射.下段:JohnsonのUBVシステムの感度曲線と明所視標準比視感度(photopic spectral luminous efficiency)

 そんなわけで、ベガの等級からベガの測光値を出して、それを基に他の星の測光値を求め、そこからさらに温度に辿り着かせることにしました。
 ベガのU,B,Vの測光値は、ベガのスペクトルにU、B,Vの感度係数を掛け算して積分してやると出てきます。そこで、ベガの実測スペクトルから測光値を求めようと最初は思いました。ベガのスペクトルも数値データとして存在します*4。しかしここで1つ問題があります。地球上で測定したスペクトルには大気の吸収が載っています。大気吸収が載ってしまうと黒体輻射でFittingすることができません。大気の吸収を補正して地球外のスペクトルを出すというのも、あんまり簡単そうには思えません。
 それならは別の方法…というわけで、ベガの表面温度の黒体輻射を使って大気吸収がない場合の仮想的な測光値を出して、それを基に他の星の温度を計算することにしました。調べてみると、ベガの表面温度というのは報告があって、ある文献*5には実効温度が9650Kであると書かれています。
 従って、9650Kの黒体輻射を仮想的なベガと考えて計算した測光値がV=B=0.03のときのものであるとおけば、あとはHipparcos星表に書かれているそれぞれの星についてB,Vの等級からB,Vの測光値を算出して、黒体輻射で同じ測光値が出てくるように温度・強度を調節(fitting)することで温度が出てきます。
こうして、表示するのに不便しない程度には正しい星の温度を1個1個の出すことができたのでした。

…というわけで、星の温度を計算するのも案外面倒なプロセスが必要だったのを今日は長々とまとめてみました。

 なお、後でさらに調べてみたら、色指数B-Vから星の温度を求める式と言うのも一応いくつか見つかりました。とはいえ、上記の方法も実験値から出してるわけだし、そんな極端に違うわけじゃないだろう…という ことで今回は上記のfittingで出した温度を使って表示することにします。文献にあるようなB-Vから温度を出す変換式使うときには、星間吸収と か、考慮に入れるものがいろいろどうせ増えるだろうから、また次の機会にでも取り入れることににします。

  1. ちなみに、のもとは計算をVT,BTで行いましたが、Hipparcos星表のTychoデータには結構抜けがあって、たとえばVegaはVT,BT共に記載されていません(ひょっとしたらTycho2にはあるのかもしれませんが未チェック)。そんな星については地上の観測結果によるJohnsonのB,Vからの変換式(Hipparcos星表の1巻に載っているもの)を使ってVT,BTを出しました。
  2. Johnson and Margon, ApJ, 117 (1953) 313.
  3. だから、すごく観測本位の決め方のように思います。たとえば9650K黒体輻射のエネルギーが○○ W/m2のとき、各々の色で観測した等級が0等になる…とかだとすごくわかりやすい定義だろうとのもとは思うんですが、全然そんな定義はされていません。
  4. とりあえず見つけた数値が載ってる文献としては, Kharitonov, Soviet Astronomy, 7 (1963) 258.Hayes, 1985, in Calibration of fundamental stellar quantities; Proc. IAU Symposium No.111, edited by D.S. Hayes, L.E. Pasinetti, and A.G. Davis Philip (Reidel, Dordrecht ), pp. 225.がありました。結局使ってませんが。
  5. Dreiling and Bell, ApJ 241 (1980) 736.

| | コメント (0) | トラックバック (0)

2007年6月 9日 (土)

星の色とsRGB:HippLiner 2.7.0への道, Vol.1

最近、ひさしぶりにHippLinerに手を加え始めました。
なんだか日曜プログラマな感じです。
公開はまだ先になるのですが、ディザー広告じゃないけどメイキングを連載してみようかと思います。

20070607visualhippliner

次回のアップデートでは、星の色を少し真面目に扱ってみます。
これまでのHippLinerの星の色は、V等級と色指数B-V、V-Iという3つのデータから、のもとがそれっぽく見える関数を適当にでっちあげてRGBを出していました。
5~6年前にHippLinerを作ったときは他の方法を思いつかなかったのでこんな適当な方法を採用していたのですが、最近はのもとも少しは賢くなって、明所視ならばスペクトルから色を計算できることを知っています*1
まぁそんなわけで、星のスペクトルが黒体輻射だったと仮定して、1個1個の星を黒体輻射の色で表示することにしました。

さてそこで、表示するにあたってテスト用に作成したのが次のグラフ。

Img_temperatureimages
この画像は、横軸に黒体輻射の温度を、縦軸に(人間にとって同じ明るさに見えるような)明るさをとってディスプレーの色空間(sRGB)で見たとき、実際にどう見えるかをあらわしています。たとえば、温度6500Kで明度Y=0.5という色は灰色に、温度3000Kで明度Y=0.5という色はオレンジっぽい色、温度30000K、明度Y=0.5という色は青っぽい色に見えるということになります。また、Y=0.5とかY=0.2にある灰色の横線は、4等星の明度がY=0.5の点だった場合、5~8等星がどの明度に相当するかを示したものです。星の明るさは1等違うと約2.5倍明るさが違いますから、4等星と5等星の間には2.5倍の開きがあります。

さらに、このグラフの上のほうの黒い曲線はsRGBで表すことのできる輝度の上限です。この線より上の明るさの領域(Non-reproducible area)は、RGB、どれかの大きさが1(8bitの場合255)より大きくなってしまうため、sRGBで表すことができません。グラフ内の表示色は本来1より大きなRGB値なのをかわりに1としてプロットしたものです。
これはたとえば、PCのディスプレーで明度Y=0.9で6500Kの色であればsRGBのディスプレーで表示できますが、同一明度(Y=0.9)で温度3000Kのときの色は再現不可能ということになります。温度3000Kの色は明度Y=0.5までしか表現できません。

本来、星は点光源ですから星空シミュレータにおいても6等星から-1等星に至るまで、どれも同じ大きさの点でプロットするのが理想なわけですが、ディスプレーの階調表現というのは星の明るさの幅に比べたらやっぱりずいぶんと小さく、同一サイズの点で星を表すことはできない…ということがこのグラフからわかりました。たとえば4等星を明度Y=0.5の点としてプロットすると、ディスプレーでは同じ大きさの点で3等星以上の星を表示することはできないのです。仕方ないので、点の大きさを大きくして一見明るくなったように見えるようにします。等級が1等違えば明るさが2.5倍違うなら面積を2.5倍にすればよいわけです。

こうして決めた色・大きさで、HippLiner上に星をプロットした画像が最初の画像です。
肉眼で星を見たときの色・明るさに、それなりに近く見えますね。*2

  1. 星は暗いところでないと見えませんから、肉眼で見える星の色とXYZ等色関数で計算できる色とは、プルキンエ効果のせいで本当は違うはずです。のもとも本当はプルキンエ効果を反映した色計算をしたいのですが、どうなりかを書いた文献をいまんとこ見つけることができないので、今回は一般的な明所視の方法:2度視野XYZ等色関数によるXYZ値からsRGB値に変換を採用しました。プルキンエ効果を含めることのできる方法を誰か教えてください。
  2. ただ問題もあって、この方法だと明るい星の面積がどんどん大きくなってしまいます。たとえば1等星と-1等星は2等違いますから直径にして2.5倍も違います。その結果、たとえばシリウスが巨大な円盤になってしまいます…。確かmitakaのシリウスも特大の円盤表示だったかと思いますが、明度を面積に反映させるという手段を採用するとこれは必然かもしれません。元々HippLinerでは明るい星で円盤が大きくなりすぎないように光彩をくっつけて見かけサイズが小さくなるようにしているのですが、それにもかかわらず星が特大になってしまいます…。ちょっとなんとかしたいものです。

| | コメント (3) | トラックバック (0)

2007年6月 1日 (金)

麻疹休校

神戸大学は今日6/1から6/12まで麻疹予防のため休校です。
昨日夕方、急に決まりました。
今日は講義も全部休講なのでキャンパス内は閑散としています。
だから、人が全然歩いていない。
生協もお昼だけしか営業していない。
さすがにセブンイレブンは普通に営業してますが。
おかげでネコがいたる所でふらふら遊んでます。

あ。のもとは学生じゃないので関係ありません。
図書館が閉館らしいのが不便なくらい。
まぁ、今はネットで論文は大体読めるから大して不便でもないけど。

20070601文学部入り口

そういえば、東大なんて1週間で麻疹患者数が2倍3倍に増えても休みにならないのねー。しかも今週は定期健康診断なんてやってるし先週末は五月祭だったらしいし…。ちなみに京大はいまんとこ2人…。
神大の医学部5・6年生が休みになったかどうかというのもちょっと気になるところです。

| | コメント (2)

« 2007年5月 | トップページ | 2007年7月 »