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