－28－■ 連載 ■Mitaka カスタマイズの手引き（2）～コマンドセット 1：日食（多地点）～
河村聡人（Mitaka ワーキンググループ）の Web サイト[6]にて自由な再配布が認めら

1. はじめに
当連載は観測された宇宙を再現するフリーれたものです。なお Mitaka のスクリーンシ

ソフト Mitaka（©2005-2023 加藤恒彦, 国立ョットの掲載には別途許可を取っています。

天文台 4 次元デジタル宇宙プロジェクト）のでは始めていきましょう。今回は前回保存

カスタマイズ機能[1]の活用とその普及を目した日食の状態をカスタマイズし、多地点で的としています。全 6 回のうち、今回はそのの見え方の違いを体験するスクリプトを作成

2 回目となります。

します。3 節にて主な命令の説明を行います。
またその最後に演習問題を用意しました。

連載の予定表1. 保存と読み込み：日食（一地点）
2. コマンドセット 1：日食（多地点）

2. 開発環境の準備 2
執筆現在の Mitaka の最新バージョンは

3. コマンドセット 2：星座

1.7.4a です。Mitaka の Web サイト[6]より最4. シーケンス１：月の満ち欠け（宇宙）新版[7]を用意してください。

5. シーケンス２：月の満ち欠けと日食

今回からより具体的なプログラミングを行

6. 字幕と地名：SPACE-CISTE 簡易版っていきます。そのために必要なソフトである エ デ ィ タ ソ フ ト を 準 備 し ま す 。 Windows

Mitaka ワーキンググループではプログラに最初から入っているメモ帳や、プログラミマー養成イベント（ワークショップ）を行っング向けの開発環境（VS code や Atom など）てきました[2]。その過程で培われた「Mitakaを用います。プログラミングでは等幅フォン

カスタマイズ攻略マニュアル」（旧名：改造マトを用いることを推奨します。メモ帳のデフニュアル。以下、教科書）をはじめとした教ォルトである MS ゴシック（Windows10 の材は次の QR コード先にあります。

メモ帳）や Consolas（Windows11 のメモ帳）
は等幅フォントの一例です。マイクロソフト
Word でも編集は可能ですが、邪魔な機能が多いので推奨しません。
Mitaka のカスタマイズファイルとソフトの関連付けを行います。Mitaka のディレク

図1

MitakaWG の Google ドライブ[3]トリ（mitaka.exe がある場所）を開いてください。そこに programs ディレクトリがありこれらの教材は Mitaka 同梱の公式マニュアル[4]を補完または要約したものです。

ますので開きます。図 2 のように、拡張子[8]が mcd のファイルがあります。それを右クリ

当連載ではこの教科書を基に、より詳しくックし、プロパティを左クリックします。出

解説していきます。当連載で扱う範囲はてきたプロパティのウインドウの上部、プロ

Mitaka の利用上の注意[5]に従い、Mitakaグラムの変更ボタンを左クリックします。開天文教育 2023 年 7 月号（Vol.35 No.4）

Mitaka カスタマイズの手引き（2）

く方法を選ぶよう指示が出ますので、先に用3.2－29－

保存した状態の中身意したエディタを選んでください。エディタ

それではカスタマイズに入ります。エクスが見当たらない場合は下部の「その他のソフプローラーを開き、日食の状態を保存したフト」をクリックすると見つかります。

ァイル 20350902_SolarEclipse_Mitaka.mcdを開けてください。前章で設定したエディタが立ち上がります。ファイルの内容の例は本稿末尾の A.1.1 に記載しています（A.1.1 では一部省略・変更しています）。
この保存した状態は一連の命令をまとめたコマンドセット として記述されています。コ
マンドセット としてまとめられた命令は上から順に止まらずに実行されます。途中で一時
図2

プロパティから開くプログラムの変更

停止や複数の状態の遷移を伴う場合には コマ

ンドセッ ト で は な く シ ー ケ ン ス を 使 用 し ま同様に拡張子が prg、dat、txt のファイルす。 シーケンス は第 4 回にて紹介しますが、についてもエディタの関連付けを行い、準備

基本的に使用する命令は コマンドセット も シは完了です。

ーケンス も変わりありません。
ここでは基本的な命令をいくつか簡単に紹介します。今回の日食では使わないものも含

3. 保存したファイルの改造
今回は、前回保存した日食の状態のファイみます。詳しくは Mitaka 同梱の公式マニュ

ル SolarEclipse_2035Sep02_Mitaka.mcd をアル mitaka_manual_J.pdf の各ページを参改造します。

照してください。

3.1

DefCommandSet[名前]「状態の保存」とその読み込みの復習

まずは Mitaka のディレクトリに移動し、コマンドセット の定義の開始宣言。ファイ

mitaka.exe を起動して、前回の復習として、ル末または新たな コマンドセット や シー保存した状態の読み込みの復習をします。

ケンス の定義の開始宣言があるまでが 1

Mitaka の現在の状態を保存するには、メニューバーの「ファイル」＞「状態をファイルに保存(T)…」を選択しました。これにより保存された状態を呼び出します。
Mitaka のウインドウ上部のメニューバー
より、「ファイル」＞「コマンド定義ファイル

つの コマンドセット と認識されます。この定義では引数は[ ]で括られます。
DefSequence[名前]シーケンス の定義の開始宣言。基本的にDefCommandSet と同じ。
SetMainMode(モード)を開く(O)…」をクリックして、前回保存したプラネタリウムモードか宇宙モードかの日食の状態のファイルを選択します。日食の設定。

シーンが再現されます。

SetDateTime(YYYY/MM/DD hh:mm:ss TZ)

ここからキーボード操作により時間の操作

日 時 の 設 定 。 YYYY/MM/DD は 年 / 月 / 日 、を行うことで日食の様子が追えます。詳しい

hh:mm:ss は時:分:秒、TZ はタイムゾーン

操作方法は前回の記事を参照してください。

（JST は 9.0）。日付だけを設定するには

天文教育 2023 年 7 月号（Vol.35 No.4）

－30－■ 連載 ■

SetDate 、 時 間 だ け を 設 定 す る に は 、今回のように、ファイルを読み込んだ段階

SetTime 、 実 行 時 の 日 に 設 定 す る に はですぐに実行・反映されるようにする場合は、SetDateToday() を利用する。

コマンドセットの名前は「STATE」でなければなりません。

SetTimeStep(値単位)キーボード操作で進める時間の刻み。数値と単位のセット。単位は、秒 SEC、分 MIN、
時 HOUR、日 DAY、恒星日 SIDERIAL_DAY、
週 WEEK、月 MONTH、年 YEAR。

3.4

ターゲットや視線ターゲットの指定

ソ ー ス コ ー ド A.1.1 で は 、 19 行 目 の
SetTarget に て タ ー ゲ ッ ト を 、 20 行 目 のSetViewTarget にて視線ターゲットを設定

SetScale(値)
基準天体からの距離。単位はパーセク。
SetTarget(オブジェクトキー)
現在地の基準天体（ターゲット）の指定。
SetViewTarget(オブジェクトキー)
常にカメラを向ける天体（視線ターゲッしています。ターゲットとは宇宙モードで訪れている天体や探査機のことです。視線ターゲットとはカメラを向ける天体や探査機のことで、プラネタリウムモードで天体を追いかける場合などに指定します。
ターゲットや視線ターゲットの指定には対ト）の設定。

象固有の名前であるオブジェクトキーを指定

SwitchSet(スイッチのキー)列挙された設定のみを全てに ON に、列挙します。例えば、太陽 SUN、地球 PLNT_EARTH、されていない設定は OFF にする。列挙し

月 PLNT_E_MOON、リュウグウ MP_162173、たものを ON にするだけなら SwitchOn を、 アルファケンタウリ HIP_71683、アンドロメ
OFF に す る だ け な ら SwitchOff を 、ダ 銀 河

NBC_NGC_224 、 は や ぶ さ

ON/OFF を切り替えるなら SwitchToggle

SCF_HAYABUSA_2 などがあります。

2を利用する。
3.5

SetFontSize(キー)表示のフォントサイズ。最大のフォントサ
イズのキーは FONT_SIZE_LARGEST。

観測地点の変更バージョン 1.7.3 より、観測地点（厳密にはプラネタリウムモードでの着陸地点）をメニューバーの「離陸・着陸」から「着陸地点3.3を選択」より選べるようになりました。ここ

コマンドセットの名前

コマンドセットの名前は、その開始宣言時で選べる地点は programs ディレクトリ内のに定義します。ソースコード A.1.1 の 1 行目

locations.json に登録されているものです。

では DefCommandSet[STATE] となっていま登録されている地点を選択する場合はす。この STATE がコマンドセットの名前です。

SetLandingsite(地名) で行います。任意のコマンドセットの名前は、基本的には英数字

地点については SetLonLat(経度,緯度) でとアンダーバー _ で構成されたユニークな行います。正の値が東経・北緯で負の値が西ものを自由に付けることができます。

経・南緯です。

いくつかの名前はデフォルトで定義されています。その名前を使用すると、動作を上書3.6

表示の設定きすることができます。例えばコントローラメニューバーの「表示」で選択可能な情報

ーやファンクションキーを押した時の動作なは SwitchOn や SwitchOff、SwitchToggle、どです。今回の STATE もその一例です。

SwitchSet のいずれかを用いて、スイッチの天文教育 2023 年 7 月号（Vol.35 No.4）

Mitaka カスタマイズの手引き（2）－31－キーを記述することで指定できます。指定できるキーには、天体の種別ごとの天体そのも文のや、その天体名、軌道などの表示や、4D2U[1] 加藤恒彦（2019）「天文ソフト「Mitaka」のロゴの表示 4D2U_LOGO_DISP、クレジッの最新機能 ～ユーザーによるカスタマイ

トの表示 ON_SCREEN_CREDITS_DISP なズ機能と教材開発への応用～」第３３回天どがあります。また、宇宙モードで天体に影文教育研究会収録, pp157-160を落とす、つまり食を再現するには
ECLIPSE_DISP を ON にしなければなりません。

献[2] 波田野聡美（2020）「Mitaka による天文教育／普及ワーキンググループ活動報告」，
第 34 回天文教育研究会収録, pp92-93．

3.7[3] Mitaka WG の Google ドライブ

コメントアウト

Mitaka では//の後の文字はコメントとしhttps://drive.google.com/drive/folders/1vPjyWて扱われ、実行されません。メモ書きなどに-j1rEZ0AtGC8I5IrreJSL0eVlX-?usp=sharing

利用してください。

[4] mitaka 同梱マニュアル :・mitaka_manual_J.pdf

3.8【演習】2035 年の台北での部分日食

2035 年 9 月 2 日に日本で見える皆既日食
を Mitaka で再現するファイルの中身を見てきました。今度はそのファイルを改造し、同じ日食が台北ではどのように見えるのか再現・features_v174.pdf（バージョンに従い名前の一部は変更される）[5] Mitaka の利用上の注意
https://4d2u.nao.ac.jp/t/var/download/notice.html[6] Mitaka ダウンロードページ

してみましょう。台北は北緯 25.03 度、東経https://4d2u.nao.ac.jp/html/program/mit

121.63 度です。また日食のスタートは 8 時

aka/#Download

25 分あたりです。

[7] バージョン 1.6 以降の 1.x 系の最新版。

正解のソースコード及びその作り方はA.1.2 に記載しています。

将来リリースされる 2.x 系ではカスタマイズの言語が異なる予定です[1]。
[8] 拡張子とはファイル名の末尾、「.」以降の部分のこと。見えていなければタブのフ

4. Mitaka WG より宣伝
Mitaka WG では Mitaka 活用コンテスト

ァイル名拡張にチェックを入れてください。

[9]と銘打って、カスタマイズ機能の活用（ス[9] Mitaka 活用コンテスト告知ページ URL

クリプト部門）や上映のアイデア（上映部門）

https://tenkyo.net/2023/05/19/mitaka 活を募集しております。夏休みの自由研究とし用コンテスト開催！/ての挑戦やプロの参加も歓迎です。
締め切りは 2023 年 9 月 30 日です。

河村 聡人
図3

Mitaka 活用コンテスト告知ページ[9]akitodk@kwasan.kyoto-u.ac.jp

天文教育 2023 年 7 月号（Vol.35 No.4）

－32－A.1■ 連載 ■

ソースコードA.1.1）20350902_SolarEclipse_Mitaka.mcd
1//---

Mitaka Command Definition File(Ver. 1.7.4a)

---

2
3

DefCommandSet[STATE]

4

SetMainMode(MODE_MAIN_PLANETARIUM)

5SetPlanetariumAngle(2.588e+00)

6

SetDateTime(2035/9/2 8:42:30.5 9.0)

7

SetPlanetariumAzimuth(112.971)

8

SetPlanetariumLatitude(40.710)

9

SetHeadOrientation(1.000e+00, 0.000e+00, 0.000e+00, 0.000e+00)

10

SetModesToDefault()

11

SetTimeStep(1MIN)

12

SetViewTargetMode(VIEW_TARGET_MODE_SELECTED_OBJECT)

13

SetViewUpDirection(VIEW_UP_DIRECTION_ZENITH)

14

SwitchSet(

15

SUN_DISP, SUN_NAME, SUN_GLARE, PLANET_DISP,16

PLANET_NAME,

17PLANET_DISP_BILLBOARD,PLANET_CLOUD, ECLIPSE_DISP,18

SATELLITE_DISP, DATE_DISP, INFO_WINDOW_DISP,

19

4D2U_LOGO_DISP, ON_SCREEN_CREDITS_DISP, ENABLE_SHADER

PLANET_ORBIT, PLANET_SELECT,20)

21

SetTarget(PLNT_EARTH)

22

SetViewTarget(SUN)23

SetLandingSite(Mitaka)※ 15～20 行目の SwitchSet 引数には、より多くの変数が設定されているかもしれません。ここでは必要最低限のもののみを選択しています。

天文教育 2023 年 7 月号（Vol.35 No.4）

Mitaka カスタマイズの手引き（2）－33－

A.1.2）20350902_SolarEclipse_Taipei.mcd
1//---

Mitaka Command Definition File(Ver. 1.7.4a)---2
3DefCommandSet[STATE]

4

SetMainMode(MODE_MAIN_PLANETARIUM)

5

SetPlanetariumAngle(2.588e+00)

6

SetDateTime(2035/9/2 8:26:00.0 9.0)

7

SetPlanetariumAzimuth(112.971)

8

SetPlanetariumLatitude(40.710)

9

SetHeadOrientation(1.000e+00, 0.000e+00, 0.000e+00, 0.000e+00)

10

SetModesToDefault()

11

SetTimeStep(1MIN)

12

SetViewTargetMode(VIEW_TARGET_MODE_SELECTED_OBJECT)

13

SetViewUpDirection(VIEW_UP_DIRECTION_ZENITH)

14

SwitchSet(

15

SUN_DISP, SUN_NAME, SUN_GLARE, PLANET_DISP,16

PLANET_NAME,

17PLANET_DISP_BILLBOARD,PLANET_CLOUD, ECLIPSE_DISP,18

SATELLITE_DISP, DATE_DISP, INFO_WINDOW_DISP,

19

4D2U_LOGO_DISP, ON_SCREEN_CREDITS_DISP, ENABLE_SHADER

PLANET_ORBIT, PLANET_SELECT,20)

21

SetTarget(PLNT_EARTH)

22

SetViewTarget(SUN)23

SetLonLat(121.63,25.03)※ 15～20 行目の SwitchSet 引数には、より多くの変数が設定されているかもしれません。ここでは必要最低限のもののみを選択しています。

このコードの作り方
1）ソースコード A.1.1 のコピーを作成し、適切なファイル名に変更します。
2）6 行目 SetDateTime の時間を 8:26:00 に変更します。タイムゾーンの変更は不要です。
3）23 行目の SetLonLat を台北のものにします。経度が先です。

天文教育 2023 年 7 月号（Vol.35 No.4）