何の気なく開いてしまって無の時間を過ごしてしまうので、ブラウザ拡張でpixiv、ニコニコ動画/静画、twitterへのアクセスを切った。完全に禁止すると結局必要な時に手動で解禁するようになり、そして不要な時も手動で解禁してしまうのが目に見えているので、特定の時間だけ解禁する設定にした。
Syncronous world clockを小型円形ディスプレイ(Waveshare RP2040-LCD-1.28)で再現した。小さいので文字盤を入れる余裕はなかった。
地図データはこちらを拝借している。 https://www.gsi.go.jp/kankyochiri/gm_global.html
メルカトル図法の地図データをハードコーディングしておいて、それをマイコン上の処理で北極点を中心とする正距方位図法に変換している。目測だがおそらくFPSは0.いくつとかそのくらい。
ディスプレイの解像度が240×240なのでそう大した表示は出来ないが、用途的に滑らかに動いてナンボだろとは思ったので真面目にバイリニア補間などまで実装している。ニアレストネイバでやるとギザつくことの他に小さい島々が現れたり消えたりするという問題もあるが、バイリニアだと薄い色ながら安定的に表示されるというメリットもある。
時計としてはこれでもう表示としては完成なのだが、せっかくなので地軸の傾きを考慮してちゃんと本当の日照が分かる表示にしてみたいというのがある。しかしどうすれば中心位置を北極点以外に変換できるんだ…
と思ってたらどんぴしゃりな記事が見つかった。明日はこれを実装してみる。
https://blog.goo.ne.jp/m4g/e/296e9dd7aa4d521fd9825d69bc7bd9e1
三角関数だらけで重そうだが…
Categories: 未分類