はじめに
本記事では、 4次元デジタル宇宙ビューワー「Mitaka」 (開発:国立天文台4次元デジタル宇宙プロジェクト)において、星座名・星座絵・星座線・境界線の表示のオン/オフを、星座ひとつひとつに対して切り替えるためのカスタマイズ方法を記載します。
本記事は「Mitaka」開発元(国立天文台4次元デジタル宇宙プロジェクト)とは独立に作成したものです。本記事の内容に関する開発元へのお問い合わせはお控えください。
4次元デジタル宇宙ビューワー「Mitaka」は、天文学研究の最新結果が可視化されたソフトウェアです。 フリーソフト のため、誰でも無料でダウンロードすることができます(2024/12/31現在、Windows版のみ)。
地球から見た星座を表示する機能もあるため、近年では 星空観察会などのイベントでの解説や擬似プラネタリウム のように利用されることもあります。
利用においては、必ず利用規定をお読みください。特に、個人・教育機関以外での利用には利用申請が必要です。
なお、「Mitaka」を使ってみたいと思われた方に向けた「初心者ガイド」なるものを独自に作成していますので、そちらもぜひご覧ください。
やりたいこと
「星座名・星座絵・星座線・境界線の表示のオン/オフを、星座ひとつひとつに対して切り替える」 ことが目標です。特に星座の解説や擬似プラネタリウムを行う際に、このような操作ができると嬉しい場面が多いです。これができると、例えばこのようなことが可能になります↓
(2:14〜 オリオン座のみの星座線を表示しています1)
カスタマイズについて(バージョン1.7.0以降をダウンロードしてください!)
デフォルトでは星座ひとつひとつに対する表示設定の切り替えを行うことができないため、Mitakaの カスタマイズ を行う必要があります。 カスタマイズ はMitakaのバージョン1.6.0から搭載された機能で、これを使えばさらに自由度の高い操作を行うことができるようになります。
バージョン1.7.0以降とそれ以前のバージョンとでは、Mitaka内での「星座」の扱いが変わっています2。本記事の操作をする場合は、 バージョン1.7.0以降 のMitakaを使用してください。基本的には最新バージョン(2024/12/31現在、バージョン1.7.4a)をダウンロードすることを推奨します。
なお、Mitakaの カスタマイズ に関する詳細は、Mitakaの公式マニュアル(ソフトフェアと同梱)・@aDAVISkさんの記事・日本天文教育普及研究会 Mitakaによる天文教育/普及WGが作成したマニュアルなどをご参照ください。
カスタマイズしよう
以下、「Mitaka」のアプリケーションである mitaka.exe
が含まれているフォルダ(ディレクトリ)のことを mitaka/
と表現します。
例えば、バージョン1.7.4aの「Mitaka」の場合、 .../mitaka174a/mitaka/mitaka.exe
のことを mitaka/mitaka.exe
と表現します。
[1] 星座の「選択状態」を反転するコマンドセット
Mitakaで使えるコマンドは、 mitaka/programs/
内に格納されています。まず、コマンドを入力するためのファイルとして、 mitaka/programs/
内に新たな .mcdファイル を作成します。ここでは、 mitaka/programs/ricot_commands.mcd
とします34。ファイル名は他の名前でも構いません( my_commands.mcd
など)が、後で使用するので記録しておきましょう。
.mcdファイルは「メモ帳」などのテキストエディタで開き、編集することができます。ファイルの拡張子が 「.txt」ではなく 「.mcd」となるように注意してください。
以下の設定ファイルでは、文字列以外は全て 半角文字 で記述してください。また、ファイルのエンコードは UTF-8 (ユニコード形式)を使用してください。
では、試しに「オリオン座のみの表示設定を変える」ためのコマンドを作成してみましょう。先ほど作成した mitaka/programs/ricot_commands.mcd
に、以下を入力します。
DefCommandSet[tglOri]
KeyString(tglOri)
KeyString[ja, ja_ruby](オリオン)
ToggleKeyGroup(CNST_SELECT, CNST_Ori)
-
DefCommandSet[***]
:コマンドセット(一連のコマンド)を定義するための文。[***]
の部分には好きな名前を付けられます。ここではtglOri
としました5。 -
KeyString(***)
:メニュー上での表示を指定するコマンド。ここではtglOri
としたため、メニュー上で「tglOri」と表示されます。(コマンドセット名と同じである必要はありません) -
KeyString[~~~](***)
: 言語ごとの メニュー上での表記を指定するコマンド。言語は[~~~]
の部分で指定でき、日本語はja
、日本語(ルビあり)はja_ruby
となります。 -
ToggleKeyGroup(~~~, ***)
: キーグループ~~~
内の、キー***
の登録状態を反転する(オン/オフを切り替える) というコマンド。-
CNST_SELECT
:「『選択状態』にある星座」を表すキーグループ。 -
CNST_Ori
:「オリオン座」を表すオブジェクトキー6。
-
オリオン座の「選択状態」を反転するコマンドセット tglOri
を作成しました。
星座の「選択状態」とはいったい何でしょうか?
Mitakaのメニュー内 表示設定 > 星座
には 選択された星座のみ(プラネタリウムモード)
という項目があります。これは、「選択状態」にある星座のみの表示設定(星座名・星座線・星座絵・境界線)を切り替える という意味の項目となっています。
例えば、もし「選択状態」にある星座がオリオン座のみの場合、「選択された星座のみ(プラネタリウムモード)」をオンにすれば、 オリオン座のみの表示設定(星座名・星座線・星座絵・境界線)を切り替える ことが可能になります。
つまり、「選択された星座のみ(プラネタリウムモード)」をオンにしておき、 星座ひとつひとつの「選択状態」を反転する(オン/オフを切り替える) ことで、擬似的に 星座ひとつひとつの表示設定を変更しているように見せる ことができるのです7。
オリオン座の場合は、先ほど作成した tglOri
によって、オリオン座の「選択状態」を反転することが可能になる、つまり オリオン座の表示設定を変更する(ように見せる) ことが可能になります。
[2] 全ての星座の「選択状態」を制御
次に、 全ての星座の「選択状態」をオフにするコマンドセット を作成しましょう。
キーグループをクリアする(登録されている全てのキーを削除する)コマンドは ClearKeyGroup(***)
です。これを踏まえ、先ほどと同じファイル内に以下を入力します。
DefCommandSet[REMOVE_ALL_CONSTELLATION]
KeyString(REMOVE_ALL_CONSTELLATION)
KeyString[ja, ja_ruby](全ての星座を選択解除)
ClearKeyGroup(CNST_SELECT)
このコマンドセット REMOVE_ALL_CONSTELLATION
を使えば、全ての星座の「選択状態」をオフにする、つまり 全ての星座の表示設定をオフにする (ように見せる)ことが可能になります。
全ての星座の「選択状態」をオフにするコマンドセット REMOVE_ALL_CONSTELLATION
を作成しました。
このコマンドセットは、便利のために作成したという理由もあります。一方、どうやらデフォルトでは オリオン座・おおいぬ座・ケンタウルス座の「選択状態」がオンになっているようです 。よって、指定した星座のみの表示設定を変更したい場合は、この「全ての星座の『選択状態』をオフにする」操作が必要になります8。そのためにこのコマンドセットを作成したという意図もあります。
[3] 作成したファイルをMitakaに読み込ませる
ここまで、新しく作成したコマンドセットを mitaka/programs/ricot_commands.mcd
内に記述しました。次に、このファイルをMitakaに読み込ませる設定が必要です。ここでは、 mitaka/programs/default_program.prg
に 以下を追加する ことでそれを可能にします9。
...
COMMAND_DEF_FILE: default_commands.mcd
COMMAND_DEF_FILE: default_presets.mcd
COMMAND_DEF_FILE: ricot_commands.mcd // <-- この文を追加します
...
「この文を追加します」と記載している文のみを追加します。//
・<--
は分かりやすくするための記号です。つまり、追加する文は「 COMMAND_DEF_FILE: ricot_commands.mcd
」のみです。
COMMAND_DEF_FILE: default_commands.mcd
・COMMAND_DEF_FILE: default_presets.mcd
はデフォルトで記述されています。
以下、同様に記載します。
コマンドセットを記述したファイル mitaka/programs/ricot_commands.mcd
を 読み込ませるための設定 を、mitaka/programs/default_program.prg
内に追加しました。
[4] メニューにコマンドを実行する項目を追加
新たに作成したコマンドセットを実行するために、Mitakaのメニュー上に項目を作成します。Mitakaのメニューの内容は mitaka/programs/menu_def.txt
に記述されているので、 このファイル内に 記述を追加します。
まず、 [MENU_ROOT]
の項目の中に 以下を追加します。
[MENU_ROOT]
...
CHILD_MENU: MENU_PRESET
CHILD_MENU: MENU_SYSTEM
CHILD_MENU: MENU_CNST_ricot // <-- この文を追加します
...
次に、 新しい項目として(ファイルの一番下などに) 以下を全て追加します。
[MENU_CNST_ricot]
ITEM_COMMAND: tglOri
ITEM_COMMAND: REMOVE_ALL_CONSTELLATION
-
CHILD_MENU: ***
:子メニューを呼び出すためのキー。***
には子メニュー名を記載します。子メニューはファイル内の別箇所に[***]
として記述します。 -
ITEM_COMMAND: ***
:指定したコマンドを実行するキー。
これにより、まず親メニュー(メニューを開いたとき最初に現れるメニュー)内に子メニュー MENU_CNST_ricot
を追加し、その子メニュー内で先ほど作成したコマンドセット tglOri
・REMOVE_ALL_CONSTELLATION
をそれぞれ実行するための項目を追加しました。
mitaka/programs/menu_def.txt
を編集することで、 新たに作成したコマンドセットを実行するための項目 を追加しました。
[5] メニューの表記設定(任意)
上記のメニューの設定により、コマンドを実行できるようになりました。追加の設定として、 子メニュー MENU_CNST_ricot
の日本語表記 を設定しましょう( tglOri
・REMOVE_ALL_CONSTELLATION
の日本語表記はそれぞれ設定済み )。
Mitakaの言語情報は、 mitaka/locale/
内に格納されています。日本語表記を設定するためのファイルとして、 mitaka/locale/ja/
内に 新たな .txtファイルを作成します。ここでは、 mitaka/locale/ja/ja_ricot_strings.txt
とします。ファイル名は他の名前でも構いません。
mitaka/locale/ja/
内の既存のファイルを改変することは、利用条件では認められていません。
まず、このファイル内に、子メニュー MENU_CNST_ricot
の日本語表記を設定するための文を追加しましょう。
MENU_CNST_ricot: 星座設定
これにより、子メニュー MENU_CNST_ricot
の日本語表記を 星座設定
にする設定ができます。
次に、この設定をMitakaに読み込ませましょう。ここでは、mitaka/locale/Japanese.lng
に 以下を追加する ことでそれを可能にします10。
...
STRINGS: ./ja/ja_splash_strings.txt
STRINGS: ./ja/ja_place_names.txt
STRINGS: ./ja/ja_ricot_strings.txt // <-- この文を追加します
...
子メニュー MENU_CNST_ricot
の 日本語表記を設定したファイル mitaka/locale/ja/ja_ricot_strings.txt
を作成 し、それを 読み込ませるための設定を mitaka/locale/Japanese.lng
内に追加 しました。
なお、日本語(ルビあり)の設定は mitaka/locale/Japanese_ruby.lng
に対して同様の操作を行えばOKです。 ルビありの日本語表記は、例えば {国立天文台|こくりつてんもんだい}
のように設定します。デフォルトで保存されている .txtファイルもご参照ください。
Mitakaで見てみよう
では、ここまでのカスタマイズをMitaka上で見てみましょう!通常通り、 mitaka/mitaka.exe
を起動して、設定通りのメニューが表示され、コマンドを実行できれば成功です。 メニュー内 表示設定 > 星座 > 選択された星座のみ(プラネタリウムモード)
をオンにする ことを忘れずに!なお、「選択された星座のみ(プラネタリウムモード)」をオンにするコマンドもあるため11、それをコマンドセットに組み込むことも可能です。
上記の画像では、星座名・星座線・星座絵を表示させ、「すべての星座を選択解除」を行った後にオリオン座のみを表示させています。
星座名・星座絵・星座線・境界線の表示のオン/オフを、星座ひとつひとつに対して切り替える ことが可能になりました。
想定通りの操作ができない場合は、設定のどこかで不具合がある可能性が高いです。その場合は(やや大変ですが)それぞれの操作を丁寧に見返しましょう。
まとめ
本記事では、 星座名・星座絵・星座線・境界線の表示のオン/オフを、星座ひとつひとつに対して切り替える ために以下のカスタマイズを行いました。
- オリオン座の「選択状態」を反転する コマンドセットを作成
- 全ての星座の「選択状態」をオフにする コマンドセットを作成
- コマンドセットを記述したファイルを Mitakaに読み込ませる ための記述を追加
- メニューからコマンドセットを実行する ための記述を追加
- メニューの日本語表記を設定(任意)
これらを応用すれば、さらに使いやすく自由にMitakaをカスタマイズすることが可能になります。例えば、特に使う星座のみをピックアップしておくこともできますし、「夏の星座」「冬の星座」などに分類しておくこともできます。
Mitakaを活用した様々な天文教育普及活動が展開されることを期待しています!
-
動画内ではバージョン1.7.0より前のバージョンを使用しています。本記事ではバージョン1.7.0以降のバージョンで同様の操作を再現することを目指します。 ↩
-
バージョン1.7.0以降は「キーグループ」というまとまりで星座やアステリズムなどが制御されています(おそらく、アステリズムの表示が可能になった影響)。そのため、キーグループ
CNST_SELECT
に対する操作ToggleKeyGroup(CNST_SELECT, CNST_Ori)
によって星座の「選択状態」を操作します。なお、それ以前のバージョンでは星座の「選択状態」を直接操作するコマンドSelectionToggle(CNST_Ori)
などにより本記事の内容を実現できます。 ↩ -
Mitakaにデフォルトで搭載されているコマンドは、
mitaka/programs/default_commands.mcd
内に記載されています。このファイル内に新たなコマンドを追加することもできますが、デフォルトのコマンドとオリジナルのコマンドを区別するため、別のファイルを作ることを推奨します。 ↩ -
default_commands.mcd
を複製し、名前を変更すると確実に.mcdファイルを作成できます。 ↩ -
「tgl」は「toggle」を、「Ori」はオリオン座の略符を意図しています。 ↩
-
星座のオブジェクトキーは
CNST_(アルファベット3文字の星座の略符)
で与えられます(公式マニュアルより)。星座の略符は国際天文学連合のウェブサイトをご参照ください。 ↩ -
実際には「『選択状態』にあるかどうか」は、「星座の『選択状態』を表すキーグループ
CNST_SELECT
に星座のオブジェクトキーが含まれているかどうか」で判断されます。なお、バージョン1.7.0より前のバージョンではキーグループを扱うことなく、星座の「選択状態」を直接変更していました。 ↩ -
天体の「選択状態」を表すファイル
mitaka/programs/selection.dat
を見ると、CNST_Ori
・CNST_UMa
(これはおおぐま座)・CNST_Cen
の3つが記述されています。試しにこれらの記述を変更してみたところ、初期状態の星座の「選択状態」は特に変化がありませんでした。どうやら別の要因により、初期状態の星座の「選択状態」(オリオン座・おおいぬ座・ケンタウルス座)が決められているようです。 ↩ -
本来は、番組リストファイル
mitaka/programs/programs.dat
に登録されている番組情報ファイルmitaka/programs/default_program.prg
が読み込まれているため、情報を整理するという視点では「ricot_program.prg
のようなファイルを別に作成して読み込ませる」という流れが適切であるとも思えます。その一方、ここではricot_commands.mcd
ファイルを別途作成しているため、default_program.prg
を直接編集してもほとんど混乱することはないであろう、と判断した上での操作を行っています。 ↩ -
./
とは、「現在のファイル(ディレクトリ)」を指します。この場合は、mitaka/locale
を指すことになります。 ↩ -
「選択された星座のみ(プラネタリウムモード)」はMitaka内では「スイッチ」として組み込まれており、
CONSTELLATION_SELECT_PLNT
で表現されています。スイッチをオンにするコマンドSwitchOn
を使い、SwitchOn(CONSTELLATION_SELECT_PLNT)
と記述すれば「選択された星座のみ(プラネタリウムモード)」をオンにする操作が可能です。なお、デフォルトのメニューで既に組み込まれているITEM_SWITCH: MENU_SW_CONSTELLATION_SELECT_PLANETARIUM
をメニュー上に記述すれば、自作のメニュー内に同項目を設置することも可能です。 ↩