FC2ブログ
2018 09123456789101112131415161718192021222324252627282930312018 11
「H&Sの実験棟」は年中無休です入館は無料ですのでお気軽にどうぞ。
No. 483

プロデルでアナログ時計を作ってみた

No.480でキャンバス コントロールを初めて使ってみたので、
その練習がてらにアナログ時計を作ってみました。
アナログ時計は出来合いのソースを拝借して使った事は有りますが、
どの言語でも自分で作った事は無く一度作ってみたかった物の一つです。

一般的にアナログ時計をどのように作っているのかと言うと、
最も多く見られるのが三角関数を使った物で次に画像を回転させる物です。
三角関数を使う方式では直線や円を組み合わせて針や文字盤を描きます。
全てをコードで生成するのでデザイン的に凝った物を作るのは困難です。

もう一つ考えられるのは画像を回転させる方法です。
予め時針や分針、秒針の画像を用意しておいてそれぞれを回転させます。
文字盤の画像も用意すればかなりデザイン性に富んだ物が作成可能です。
当然ながらそれ等の画像を用意して起動時に読み込んだり、
リソースとしてプログラム本体に埋め込む事になります。

プロデルには画像を回転させる機能が無いので必然的に三角関数方式になります。
この方法の作例を見るとどの言語のソースも結構な長さが有ります。

三角関数方式の作例を見るとどの言語のソースも結構な長さが有ります。
更にプロデル製のアナログ時計は探しても在りませんでした。
仕方無くアルゴリズムから考える事になりました。
(※後日、回転ではなく角度という名前で存在していた事が分かったので訂正。)

できるだけソースを簡素化する為に文字盤は画像にします。
その方がデザイン的にも自由度が広がります。
アナログ時計はカチカチと秒針が時を刻んでいるのが普通ですが、
思い切って秒針を省く事でソースが短くなりそうです。
有った方が如何にも動いている感じがして良いのですが実用上は必要無いです。
また、その使用目的からしてもできるだけ使用するリソースは抑えたいです。

レポート用

写真は今回作成したアナログ時計です。
通常は秒針を動かす為にタイマーを1秒以下で作動させますが、
今回の物はおよそ1分間のインターバルで作動させています。
また、タイマーとループで針を動かす事もしておらず、
1分毎に PC のクロックから時刻データを取得しています。

PC 内蔵のクロック自体は安物なので正確では有りませんが、
インターネット上の時刻サーバと同期しているのが普通なので実用上正確です。
従ってこのアナログ時計も正確な時を刻みます。
これに限らずアナログ時計と言ってもソフトウェアの場合はデジタルです。
アナログ時計風の表示をさせているだけです。

尚、ウィンドウ内でダブルクリックすると終了します。
掲載したファイルは成果保管室からダウンロード可能です。
ソースは生産研究室にて公開しています。
[No. 483] 2018/02/28(水) その他のHandS track back(0) comment(0)

コメントの投稿















| ホーム |
Page Top↑