情報技術科 No.30 疋田大樹
①研究の背景
星を眺めていてふと、「国ごとの星の見え方はどのように変わるのか」ということに疑問を持った。星を見るアプリやサイトは数多だが、その場で国ごとの比較ができるものはなかったため、それならば自分で作ろうと思い、今回の「星座シミュレーション」を研究していく。
②仮説とねらい
星座のモチーフとなった神話などを通して、外国文化に対する興味促進になると考えたため。
イメージしづらい国ごと、緯度経度ごとの星の見え方の違いを視覚的にすることで、イメージの補助となると考えたため。
③研究内容
↑北半球および南半球でみられる星座をそれぞれ円状にしたもの
研究していく内容は以下の通り。
- 国を選択し、その国の現在時刻を取得する機能
- 国と時間から、その星座を表示する機能
- 時間を少しずつ遷移させる機能
- 遷移する速度を変化させる機能
- 星の軌跡を残す機能
④技術的知識
天体関連の知識
上述を見て、「経度は必要ないのか?」と疑問を持った方もいるだろう。数百~数万光年という天文学的な距離において、地球の経度は誤差に含まれるため、極めて精確な天体望遠鏡以外でこれらを考慮する意味は薄い。同様に、現在地の標高なども基本的には度外視される。当研究は地球の人間が使用することを前提として行うため、これらは考慮しないものとする。
表示する星座に関しては、国際天文学連合(以下IAU)によって認められている全88種(2020年現在)を表示していくこととする。
コンピュータ関連の知識
Android StudioはAndroidのアプリ開発に最適化された開発環境であり、それに際して自動補填機能、検索、置き換えや実機に近い形で検証もできるなど、アプリ開発をサポートする機能が数多く用意されている。
プログラム言語にはKotlinとJavaの二種類に対応している。当研究ではJavaを使用していくこととする。
⑤取り組んだ内容
国を選択するには、プルダウンメニューから選択し、自分の現在時刻から時差を加算することで、選択した国の時間を疑似的に取得している。
選択した国の時刻に対応した星を表示するには、選択した国に対応したファイルに星の座標と星座の構築線を入れ、それを読み込むことで見られる星のみを表示し、そこから1月1日0時0分から取得した時間ぶんだけ回転させることで対応した。
時間を遷移させる機能については、チェックボックスにチェックすることで、1秒につき1時間ずつ取得した時間に加算させていくことで実装した。また、遷移時間の変更は、加速ボタンと減速ボタンを用意し、speedという変数に加速ボタンが押されるたびに+1、減速ボタンが押されるたびにー1されていく。speedの値の範囲は3≧speed≧-2までとし、加速されるごとに2時間、4時間、1日という遷移となり、減速されるたびに10分、1分となる。
⑥結果
天体といういまだ人類が解明しきれていないテーマ故に、単なる実装だけでなく専門の知識が必要となってくる場面が多々存在する。実装にしても、悩むことも現在進行形で多くある。現在の自分では困難な点も星の数ほどあるだろう。しかしそれに挑むことで自己研鑽へとつながると考える。
⑦感想・考察
表示関連のメソッドにエラーを発生させてしまい、またそのエラーを解消できなかったことで、実物を見せることができなかったのが今回の研究最大の課題だった。
また、星のデータを用意するのに国ごとのファイルを用意し、それと対応した国のものを読み込むことで必要最低限の表示をすれば効率が良いと考えたが、ファイルを用意するまでにあまりに時間がかかってしまった。振り返ると、より効率が良い方法があったのではないかと思う。構想段階でより良い方法を考案していくべきだと痛感した。