2020年8月29日土曜日

恒星時計

 恒星時計(こうせいじ-けい)を実装した. ここからダウンロードできる.

 ダウンロードした時から走行し, 下の上の図のような形である. 右上のディジタル表示は現在の太陽時の年月日と時刻(時, 分, 秒). 左上の表示は現在の(地方)恒星時の時, 分, 秒である.

中央の時計がその恒星時をアナログ的に表示する. 恒星時は0時から24時まであるが, 時計の文字盤には時の表示が12個しかなく, この時計の時針は恒星時の12時間で1回転する. その代わり, 恒星時の正時に文字盤の時針と反対の位置の文字が12増えたり12減ったりする.

この図では, 時針は9時と10時の間にあり, そこから左周りに6時間は過去の時刻を, 右周りに6時間は未来の6時間を示す.

時計の周囲の四角形の内部をクリックすると, 時計は太陽時の秒が繰り上がった時点で停止し, その時刻での恒星時がミリ秒まで表示される. 下の時計の図は停止中の様子を示す. もう一度クリックすると走行を再開する.



時計の盤面に, 北極星を中心とする北天の星図が表示してある. この星図は星座早見盤の自作キットから使わせて頂いた. この星図は恒星時の24時間で左周りに1回転する. 通常の時計の6時相当する真下を時角0h, 3時に相当する右を時角6h, 真上を12h, 左を18hとして北天が日周運動する.

星図に薄く天の川が表示されている. 天の川が天の北極に近いのが赤経0hの方向で, 中央からその方向に辿ると天の川の中にカシオペアのWがあり, さらに外周へ探すとペガススの四角がある. その少し外の緑の点が春分点(Υ)で, 春分点の時角と恒星時が一致しているのが分る.

この時計の星図の下2/3くらいの横長の楕円が, その時刻に見える星空になる.

次の大きな円は星図の元の図である. 右の方の3本の左向き矢印の先の星が, 上からうお(Pisces)のλとω, くじら座(Cetus)のιである. その下の図がうお座とくじら座で, これから見ると春分点はこれら3つの星の中央にあり, 恒星時計の文字盤の春分点をその位置にマークした.




この時計では, ある太陽時の日時, 時刻の恒星時を知ることが出来る. 時計の枠内でキーボードから数字を入力すると時計が停止し, その数字を空白で区切りながら, 年, 月, 日, 時, 分, 秒と入力すると, 対応する恒星時が示される.

最初の時計の図の時刻では, 2020⨆8⨆8⨆11⨆53⨆9と入力すると, 左上に恒星時が現れ, 文字盤にはその時刻に現れる星空が表示される. ミリ秒の値は少し違うが.

恒星時の計算は暗算としてはこのようにする. 3月21日頃の春分には太陽が春分点にいるから, 昼頃, 太陽の南中時が恒星時の0h. それに太陽時の正午からの差を加える. 太陽の赤経は, 1ヶ月に2h増えるから, 例えば8月8日, 立秋の頃なら, 正午に太陽が南中するとき, 春分点は4ヶ月半近く, 9hだけ時角が離れる. つまり正午が9hである. 従って8月8日, 21時だと9h+9h=18hとおよその見当がつく.

しかしこの方法は時計には使えない. 理科年表や天文年鑑には, その年の毎日の世界時0時のグリニジ視恒星時の表があり, インターネットで探すと多くの関連ページが見付かる.

国立天文台の グリニジ恒星時計算HPで2020年1月1日から世界時0時の恒星時を1ヶ月表示したのの一部が次の図である. (出力時刻もGMT)


理科年表では0.1秒, 天文年鑑では0.1分まで表示されているのが, このHPでは0.001秒の精度で表示される.

インターネットにあるいくつかの恒星時計算アルゴリズムで, 2020年1月1日世界時0時の恒星時を計算して見ると, どういうわけかこの表の値にならないので, この値が得られるような数値を自分で計算した.

あるユリウス日がjd 0の日時での恒星時st 0が既知の時, ユリウス日がjdでの日時での恒星時st
 

st=st 0+1.0027378×(jd-jd 0)


だから, jdstのペアがあれば, あるjd 0でのst 0が計算できる.
 

jd 0としては, 何かの恒星時計算アルゴリズムにあった切断(?truncated)ユリウス日の起算時点(jd=2440000.5)を使うことにした. つまり1月中の0時のjdと対応するstから31個の
 

st 0=st-1.0027378×(jd-2440000.5)

を求めて平均し, st 0を作る. 恒星時の表はミリ秒のリスト
(226 778 330 882 435 990 548 109 672 237 802 365 925 481 34
585 136 688 243 801 362 925 487 49 609 167 721 274 824 374 924))

を用意し, ミリ秒が減った時は前日の秒に237秒を, 増えた時は236秒を足し, ミリ秒その日の値としながら, 1月の恒星時を入力した. そして定数st0を得たが, それで12月の恒星時を計算すると, 天文台の表と多少ずれるので, 12月についても同様に計算し, 両者の定数の平均を使うことにした. つまり
 

st=0.6712386796084648+(1.00273791×(jd-2440000.5))

を使う.

この値を使う, Pythonで書いた恒星時計算プログラムは次の通り.

def jd(y,m,d):
    def leap(y):
      return y%400==0 if y%100==0 else y%4==0
    return y*365+y//4-y//100+y//400-(489*(13-m)+26)//16\
      +((1 if leap(y)else 2)if m<3 else 0)+d+1721426
def sidereal(y,mo,d,h,mi,s):
    def frac(a):
      return a-int(a)
    ut=jd(y,mo,d)+(h-9+(mi+s/60)/60)/24-0.5    #-9: to GMT   
    st=0.6712386796084648+1.00273791*(ut-2440000.5)+9/24

    #+9/24: to JST 
    h=frac(st)*24
    m=frac(h)*60
    s=frac(m)*60
    ms=frac(s)
    return [int(h),int(m),int(s),ms]
print(sidereal(2020,1,1,9,0,0))


出力は[15, 40, 28, 0.20889443391934037]で, 前掲の1月1日の値 6h40m28.226sに9時間足したのにかなり合っている.

このような恒星時計が, 宮沢賢治の「銀河鉄道の夜」に出て来る 白鳥, わし, さそり, ケンタウルスなどの駅のホームや操車場やアルビレオ観測所で動いていると想像すると楽しい.

「ケンタウルス, 露をふらせ.」

2020年8月26日水曜日

老子

 夏目漱石が護国寺で運慶を見たとか(「夢十夜」の「第六夜」), 芥川龍之介が市電から寒山, 拾得を見とか(「寒山拾得」)いう話があるが, 寺田寅彦が「電車で老子に会った話」は趣きが異なる.

つまり寺田先生は「インゼル・ビュフェライ叢書」にアレクサンダー・ウラールが訳した『老子』を見付けて購入し, 電車の中で読み始めたら面白くなり, 数回の車中で読了したという. 日本語の解説より分りやすかったらしい.

私は老子は近寄り難く避けていたが, 昨年末, 中国深圳で少し話をしたら, 謝礼として為書きのある書を貰った. それに「大道至簡」と書いてあり, 調べたところ老子の言葉らしいことが判明. それではというので老子を読むことにした.

早速読んだのは

池田知久 「老子 全訳注」 講談社学術文庫

だが,

保立道久 「現代語訳」 老子 ちくま新書

もインターネットに

保立道久の研究雑記
『老子』、現代語訳・原文・読み下し

があったので, それも参考にする.


老子は第1章から第37章までの道経と, 第38章から第81章までの徳経の, 計81章で構成される. 今回は夫々の最初の章の最初の文を例にする.

池田本では, 第1章の最初は

道可道也、非恆道也。名可名也、非恆名也。

道の道とす可きは、恒の道に非ざるなり。名の名とす可きは、恒の名に非ざるなり。

道というものがあれこれ唱えられている中で、道として定立することのできるわたしの道も、恒常不変の真の道であるとは言えない。道についての名(理論)があれこれ説かれている中で、道の名(理論)として表現することのできるわたしの名(理論)も、恒常不変の真の名(理論)であるとは言えない。

一方, 保立本は

道可道也、非恒道也。名可名也、非恒名也。

道の道(ゆ)くべきは、恒なる道に非(あら)ざるなり。名の名づくべきは、恒なる名に非ざるなり。

普通に行く道と、ここでいう「恒なる道」はまったく違うものだ。普通に名づけることができる名と、ここでいう「恒なる名」もまったく違う。

どちらも, 特に後者は短いだけあって, 禅問答のようだ.

次に第38章は, 池田本で

上徳不徳、是以有徳。下徳不失徳、是以徳无。

上徳は徳ならず、是を以て徳有り。下徳は徳を失わず、是を以て徳无し。

そもそも最上の徳は、世間的な徳とは正反対である。だからこそ、真の徳がある。下等な徳は、世間的な徳を捨てることが出来ない。だからこそ、真の徳がないのだ。

保立本は

上徳、不徳是以有徳。下徳、不失徳是以無徳。

上徳は、徳ならずして是(ここ)を以て徳あり。下徳は、徳を失わずして是を以て徳なし。

「道」から発した最上の「徳(いきおい)」(上徳)は徳(はたらき)がないようにみえて大きな徳(いきおい)があり、そうでない「下徳」は徳(はたらき)を失っていないようだが実は徳(いきおい)がなくなっている。

同じような感じだ. もともと道とか徳とかが抽象的だから, 説明が難しくて当然であろう.

寺田先生がドイツ語訳で分ったような気分になったというので, 英訳を探すと

The Tao Te Ching by Lao Tzu
馮家福 Jane English

があった. 表題のTao Te ChingはTao=道, Te=徳, Ching=経のことだ.

道の説明は次のようだ.

One

The Tao that can be told is not the eternal Tao.
The name that can be named is not the eternal name.

また徳の方は

Thirty-eight

A truly good man is not aware of his goodness,
And is therefore good.
A foolish man tries to be good,
And is therefore not good.

上徳と下徳がgood manとfoolish manになっているのが凄い. なるほど日本語の説明より具体的である.

インターネットでさらに探すと, 寺田先生が読んだAlexander Ularの訳の一部があった.

Die Bahn und der rechte Weg des Lao-Tse
Alexander Ular

DER ERSTE SPRUCH

Die Bahn der Bahnen ist nicht die Alltagsbahn;
Der Name der Namen ist nicht der Alltagsname.

38章は掲載されていなかった.

ドイツ語を和訳するのは簡単だ. 複数をたちと訳せば

道たちの道は毎日の道ではない
名たちの名は毎日の名ではない

でもこれが何を言おうとしているかは, やはり分らない.

結果的には池田本の訳が一番しっくりする. つまりドイツ語が分り易いというのも章によるのではないかということである. 沢山の訳を比較すれば, 段々と理解しやすくなるという当然の結論に達する.


ところで論語だが, 大学の先生方がよくいうのが

学而不思則罔 思而不学則殆

学びて思わざれば則ち罔(くら)し、思いて学ばざれば則ち殆(あやう)し。

これは罔や殆が理解を妨げている. 私の持っている論語の英訳を見ると

The Analects of Confucius

The Master said: `Learing without thinking is useless. Thinking without learning is dangerous.'

のように, uselessとdangerousになっている.

つまり, 数学の公式を学んでも, それを十分に理解しなければ, 使えない. また思い付いた名案も, その基礎が分っていないと, 迷案になるというようなことだ.

この場合は英訳が分り易い.