プログラミング講座(57) 文字盤と地球の影の処理

地球時計に文字盤と地球の影の処理を追加しました。プログラムを PPH681-0 で発行しました。
地球時計は24時間で反時計回りに回転するので、文字盤も反時計回りで24等分します。1時間おきだと狭いので、2時間おきにしました。
影は地球の公転軌道面と地軸の角度66.5°を元に12か月の影の形を別プログラムで計算しビットマップにしました。この影のイメージを Shapesオブジェクトで北半球のイメージに重ねて表示しています。影の部分が多少透けて見えるように、Shapes.SetOpacity() の第2引数に 60 を与え、60%を影、40%は地球が透けるようにしました。
Earthclock02
【図58 地球時計 v0.2】
このプログラムは日本では正しく動きますが、日本と違うタイムゾーンの国や地域ではうまく動きません。日本以外ではローカルタイムを入れている rLocal と都市を指定している iCity を変更する必要があります。
他の国や地域の時間を表示するためには、Time.Hour などで得られるローカルタイムに時差を足したり引いたりする処理が必要になります。繰り上がりや繰り下がりにより、年月日も影響を受けるので、日付と時間の足し算、引き算を作ることになります。この処理のプログラミングは今回は省略したいと思います。
地球時計の作成はここまでとし、次回は江戸時代の不定時法による時計を作ってみたいと思います。
(つづく)

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト /  変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト /  変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。