和時計(不定時法の時計)を作る前に、比較のために、通常のアナログ時計(定時法の時計)を作ってみました。アナログ時計を SGP929 として発行しました。
【図59 アナログ時計】
アナログ時計の針を Shapes オブジェクトで作り、Shapes.Rotate()操作で回転しています。Shapes オブジェクトは図形の中心で回転してしまうので、時計の針のように中心ではない所を軸に回すときは工夫が必要です。
そして、和時計のデザインをしたので HRT547-0 として発行しました。当初アナログ時計と同じく Shapes.AddRectangle() 操作で、針を作ったのですが、なぜか中心がうまく定まらなかったので、Shapes.AddImage() 操作に切り替えました。
【図60 和時計のデザイン】
実はまだ肝心の不定時法の作りこみができていません。江戸時代は不定時法が採用されており、日の出から日の入りまでの時間を等分する方法で時刻が表されていました。現時点のプログラムはまだ定時法のままなので、ざっくり言うと不定時法の春分の日、秋分の日の時刻しか表現できていません。
今後の方針を簡単に説明します。
画面上の表示方法は、からくり儀右衛門の万年時計のように、算用数字の文字盤を季節によって動かす方法を取る予定です。日の出から日の入りを等分するので、季節によって変わる日の出と日の入りの時刻を計算する必要があります。これは地球の傾きと東京の緯度・経度を元にざっくり計算しようと思います。
ちなみに、日の出が明け六つ、日の入りが暮れ六つと言って「六つ」のとき(刻)になります。
不定時法のプログラミングができたらまた公開します。
(つづく)