To English Site
A Free Digital Planetarium System
みさと天文台プラネタリウム投影室(スクリーン直径8m)での投影
本システムによる みさと天文台プラネタリウム投影室(スクリーン直径8m)での投影
天の川は淡い部分の調整を徹底、昇るかなり前から地平線付近が明るく見える様子が再現されます
ゆるくてかわいい星座絵 / 搭載されているDSOの写真の例
かわいらしいオリジナル星座絵 / 搭載されているDSOの写真の例 / ひらがな表記の例

Interstellar Console(ISC)は、 みさと天文台での定期ライブ投影のために職員が自ら制作した、 オープンソース&無料の業務用デジタルプラネタリウム投影システムです。 かわいらしいオリジナル星座絵を Stellarium に追加し、 きめ細かく星や天の川の描画を制御する事により、子ども向け投影から映画制作まで対応できるよう仕上げました。 操作盤(GUI)は、コニカミノルタや後藤光学研究所の製品を参考に、ライブ投影時の操作性を重視したデザインとしました。

新規導入、全天周投影用PCの「バックアップ機の配備」や「故障からの復活」、 平面投影でもご活用頂けます。 もちろん、学校の文化祭でもハードウェアを用意すれば、プロフェッショナル仕様のデジタルプラネタリウムを上映できます。 PCが得意でない方は、出張サポートもご検討ください。

特徴は以下のとおりです:

みさと天文台では2025年2月22日以降、ライブ解説によるプラネタリウム定期上映で本システムを使用しています。 解説員は5名いますが、全員が本システムに大きな不満は無く、みさと天文台としては、今後プロプライエタリなシステムでプラネタリウム上映を行う事は考えられなくなりました。

メインGUI
メインGUI (個別表示:1 | 2 | 3 | 4 | 5 | 6 | 7 | 8

ライブ解説においては、操作エラーを招かないGUIが求められるため、ボタン類には大きめの面積が必要です。しかし、プラネタリウム上映のためのコンソールではON/OFFスイッチがあまりにも多く、これを平面的なGUIとするのは不可能ですので、タブで切り替えて使えるデザインとしています。

特徴は以下のとおりです:

メインGUIの全パターンについて、右図下部のリンク(1から8)で確認できます。どのような機能があるかをご確認ください。

導入先実績

2026/5/22 札幌市 本田様の出張投影
札幌市 本田一彦様「スターパーティー in 月寒公園」での投影(2026/5/22)
みさと天文台での投影
みさと天文台 8mドームスクリーンでの投影

この他にも主にボランティアで投影されている方々より報告をいただいております。

ニュース

ライセンス

Interstellar Console は、料金徴収等を伴う営利目的であっても無料でご利用いただけます。 業務上の事情で、有料での配給やセットアップ代行などをご希望の方は、有料販売等をご覧ください。 ライセンスの詳細は、下記のとおりです:

Interstellar Console

Copyright (C) 2025-2026 Misato Observatory

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/.

Constellation Art

Copyright (C) 2025-2026 Misato Observatory and Marin Tsunemi

Using constellation art files in art/ directory is licenced only for Interstellar Console.

Distribution without Interstellar Console is not permitted. If you want to use them with a software other than Interstellar Console, please contact us.


ダウンロード&セットアップ

INDEX:

ホストマシンのセットアップ

解説動画「アップデート内容の紹介とインストールのしかた」
ショートカット
デスクトップに生成されるショートカット

PC1台で運用する場合は、以下のとおりホストマシンのみセットアップしてください。

  1. OSを確認
    Windows 10/11 x64
    ※Windows Sandboxでも動作確認済み
  2. コマンドプロンプトの動作確認
    タスクバーの検索ボックスに「cmd.exe」と入力し、コマンドプロンプトを起動し、右上の×印で閉じる。
  3. バックアップ
    本ソフトウェアをアップデートする場合、C:\Program Files\Stellarium\scripts\interstellar-console\ にあるすべてのファイルについて、バックアップをとってください。
  4. Bawt Tcl 8.6.17 をダウンロードし、インストール
    ※interstellar-console以外の目的(Pythonなど)でTcl/Tkがインストールされている場合はスキップ。
    ※アップデートする場合、コントロールパネルのスクリーンショットをご覧いただき、一旦アンインストールしてください。
    ※Tcl/Tk 8.6 または 9 で動作します。Pythonに付属のTcl/TkでもOK。
  5. Stellarium、Interstellar Console をダウンロード
    下記 1. または 2. よりお選びください
      Stellarium   対応するInterstellar Console
    1. stellarium-24.4-qt5-win64.exe interstellar-console_1.4a.zip
    2. stellarium-25.4-qt5-win64.exe
    Stellarium-24.4は、みさと天文台で1年以上にわたり有料投影プログラムをトラブル・ゼロで実施できた実績があります。 Stellarium-25.4では、完全な国際化と高精度化された固有運動をサポートし、惑星の軌道の個別表示、黄道帯の表示が可能になっています (完全な国際化サポートにより、上映中に星座名表示の日本語・英語切り替えが可能です)。 みさと天文台では2026年5月よりStellarium-25.4+ISC-1.4での有料投影を開始しています。
  6. Stellarium Qt5 をインストール
    ※「For all users(全てのユーザーが使用)」を選択し、 インストール場所はデフォルト設定のまま変更しないでください。
    既にインストールしている場合は一旦アンインストールしてください。
    ※Qt6版は問題が多いため、お勧めできません。
  7. interstellar-console_xxx.zip を解凍
    ※注意:interstellar-console_xxx.zip をダブルクリックしないでください。右クリックで「すべて展開」を選びます。
  8. interstellar-consoleフォルダの「setup-xx.x.exe」を実行
    ※Stellariumのバージョンに合う setup-xx.x.exe を実行してください。組み合わせを誤ると、正常に動作しません。
    ※必ずローカルにダウンロードし実行してください。ネットワークドライブ上では動作しません。
  9. 日本語GUIを使う場合、最初のポップアップでは "Yes" を選択
    Setup screen 1
  10. ポップアップウィンドウの説明を読み、問題ない場合は「はい」を選択
    セットアップ画面1
  11. 全天周スクリーン用の天の川のテクスチャーについての説明を読み、「はい」または「いいえ」を選択
    セットアップ画面2
  12. 下記ポップアップが表示されたらセットアップ完了
    セットアップ完了
  13. デスクトップに3つのショートカットが作成されているのを確認

リモートマシンのセットアップ

Windows Defender FW
Windows Defender ファイアウォールの設定
リモート接続 on MacOS
リモートコンソール 接続選択先ダイアログ (MacOS)

リモートマシンとは、ホストマシンの Stellarium + Interstellar Console をネットワーク経由で制御するためのPCです。 ホストマシンと全く同じ GUI でリモートマシンから操作できます。 タッチパネル搭載のPC(Windows、MacOS)でも利用可能です。

動作モードと動作確認

用途に応じて、いずれかの動作モードを選択してください。動作モードの決定は、ホストマシンの GUI でのみ可能です。

プラネタリウム上映や星空解説を担当される皆様へ

Interstellar Consoleで運用されている場合は、調査・研究のため、みさと天文台(メール:info(at)obs.jp)まで ご連絡くださると助かります。 現地の写真をお送りくださった場合、このWebページに掲載いたします。

インストールや動作で問題があれば、遠慮せずに質問をお願いします。質問は、ソフトウェアの改良に大いに役立ちます。


出張サポート(無料)

出張サポート

Interstellar Console のソフトウェアに関するセットアップを、 みさと天文台職員がお手伝い! 無料映画作品のインストールサービス付き!
※業務上の事情で、有料での配給やセットアップ代行などをご希望の方は、有料販売等をご覧ください。

全天周スクリーンへの投影の場合、PCに不慣れな方にとってセットアップは難しいものです。 PCハードウェアに関する細かな設定や特定の環境下でのトラブルシューティングには 経験が必要な場合もあります。

現場でのソフトウェアに関するセットアップが困難な場合、みさと天文台の職員が出張し Interstellar Console を無料でセットアップいたします。 実施条件は、以下のとおりです:

現地では、レーザー墨出し器でスクリーンの状態を確認してソフトウェア側での正確な投影位置を調整し、軽微な機器調整とソフトウェア使用方法について簡単な説明も行います。さらに、Altair LLC 様の協力により、全天周動画(無料作品)数点を、プレイヤー(フリーソフトウェア)とともにインストールさせていただけることになりました。セットアップ直後より、デジタルプラネタリウムと全天周動画をお楽しみいただけます。

繁忙期は対応が難しい場合がありますので、 お早めに 連絡先 までご相談ください。


Interstellar Console は、料金徴収等を伴う営利目的であっても無料でご利用いただけます。

公営の科学館や天文台などにおいて 業務上の事情(業務委託等)で、有料での配給、 セットアップ代行、カスタマイズ などをご希望の場合は、プラネタリウム番組の企画・制作会社 Altair LLC 様 へお問い合わせください。

みさと天文台では有料でのサービスは行っておりません。


ホストマシンの設定・カスタマイズ

以下の解説において、各サブセクションで扱われる設定ファイルのファイル名は、タイトルの〈○○○.○〉で示します。

すべての設定ファイルは、 C:\Program Files\Stellarium\scripts\interstellar-console にあり、プレーンテキストです。Windows標準のメモ帳など、お好みのエディタで編集してください。

INDEX:

トラブルシューティング

DomeモードでStellariumがクラッシュする場合の対策 --- 〈exec-args.txt

Windows「画面の設定」

特定の環境下で、DomeモードでStellariumがクラッシュする事があります。 その場合は、最新版の Interstellar Console をインストールし、exec-args.txt を 以下のように書き換えてください(「#」がついている場合、この機能は無効です)。

# -no-fullscreen

-no-fullscreen

上記を設定すると、Domeモード時に「フルスクリーン」ではなく「ウィンドウ最大化」で Stellarium が起動します。 Stellarium にはタイトルバーがついてしまい Windowsデフォルトの「横長」デスクトップでは魚眼投影時に影響が出るため、 Windowsの「ディスプレイ設定」でプロジェクター側デスクトップを「縦長」に切り替えます(右図)。このように設定すれば、タイトルバーが邪魔になりません。

ビューポートの中心がわずかにシフトしますので、必要に応じて localInitView.ssc 内の StelMovementMgr.moveViewport() で x, y を設定してください。 これについての位置決めは、メインGUIの「設定」タブより、Configurationフレーム内「Viewport X」「Viewport Y」 を使うと簡単です。

ウィンドウタイトルの白色が投影に影響を与える場合、Interstellar Console の機能である黒色マスクをかぶせて ウィンドウタイトルを投影しないようにすることができます。黒色マスクの設定は同じ exec-args.txt の以下の部分を有効にし、調整してください:

# -black-mask 2160,64,-2160,0 

-black-mask 2160,64,-2160,0 

マスクのパラメータは順に、幅,高さ,位置x,位置y です。

全初期化が不安定な場合の対策 --- 〈localConfig.ssc

PCの処理能力が不足する場合、初期化が安定しない事があります。その場合は、以下のように localConfig.ssc にある safe_init_factor の値を 1.5, 2.0, 2.5 のように変えてみてください。

  // If initialization is unstable, increase the following value.
  // Increasing the value will result in slower initialization. 
  // The default value is 1.0.
  var safe_init_factor = 1.5;

Stellariumが出現するデスクトップを設定

Stellarium環境設定ウィンドウ

domeモードでは全天周スクリーンに投影される事を前提としているため、 Stellariumはフルスクリーンで起動されますが、 意図したデスクトップに現れない場合は、以下の手順で設定します。

設定ファイルで変更する方法

C:\Users\ユーザ名\AppData\Roaming\Stellarium にある config.ini を以下のように書き換えます:

[video]
screen_number                          = 1

1」は拡張デスクトップを示します。初期状態では「0」が設定されています。

GUIで変更する方法

  1. 全終了し、Navigationモードで起動
  2. Stellariumのウィンドウを、次回起動時に開きたいデスクトップへ移動
  3. Stellariumのウィンドウで F2 キーを押し「環境設定」ウィンドウを表示
  4. 「表示オプションを保存」「設定を保存」の順にクリック(右図参照)
  5. Interstellar Console メインGUI より「全終了」

以上で設定完了です。domeモードで起動し、確認してください。

言語、観測地、タイムゾーンの設定 --- 〈localInitLocation.ssc

localInitLocation.sscの編集ボタン

メインGUIの「設定」タブより、Configurationフレーム内「設定ファイル編集」以下のボタンで編集可能です。

  1. ISCの起動時にStellariumで特定の言語を強制的に使用させたい場合は、次のように設定:
    // Set the Application Language when using ISC.
    // If you do not configure the following, the language settings in config.ini
    // will be applied upon first startup.
    core.setAppLanguage("ja_JP");
    
  2. 緯度を lon に、緯度を lat に、標高を altitude に設定
    デフォルトでは以下のように、時分秒・度分秒の形式で設定されている。
    // longitude. E is +ve. values out of the range -180..180
    const lon_h = +135;
    const lon_m = 24;
    const lon_s = 22.1;
    
    // latitude. N is +ve. values out of the range -90..90
    const lat_d = +34;
    const lat_m = 8;
    const lat_s = 40.3;
    
    // altitude in meters.
    const altitude = 400.0;
    
    const lon = lon_h + (lon_m/60.0) + (lon_s/3600.0);
    const lat = lat_d + (lat_m/60.0) + (lat_s/3600.0);
    
    (緯度経度(時分秒・度分秒)を調べる場合の 参考:位置座標読取り・確認・移動ウェブサイト[2021])
  3. タイムゾーンも localInitLocation.ssc で設定:
    日本では
    // Set 1 to 2nd arg to keep timezone of 1st arg when using core.setObserverLocation()
    core.setTimezone("Asia/Tokyo", 1);
    
    のように "Asia/Tokyo" 一択ですが、アメリカなどでは夏時間などでタイムゾーンが変わる事があります。その場合は、
    core.setTimezone("UTC-05:00", 1);
    //core.setTimezone("UTC-04:00", 1);
    
    のようにどちらかを設定します。 コードはJavaScriptなので、少し工夫すれば自動化も可能です。
  4. メインGUIの Generalフレーム内「初期設定」の「場所」ボタンをクリックし、設定内容を確認

もし、GUIの言語を変更したい場合は、isc-lang.txt を以下のように書き換えてください:

en

設定可能な文字列は en または ja です。順に、英語、日本語を示します。

基本設定 --- 〈localConfig.ssc

localConfig.sscの編集ボタン

メインGUIの「設定」タブより、Configurationフレーム内「設定ファイル編集」以下のボタンで編集可能です。 Version 1.4 より、localConfig.ssc の設定だけで、たいていのカスタマイズのニーズに応えられるようになりました。

以下のように、動作モードごとに設定できるようになっています。 設定項目は順に、フォントサイズ、平仮名ラベルの形式(「どせい」「土星(どせい)」)、線の幅(ピクセル)と色、ラベルの色、星表現[絶対・相対]、天の川[明るさ・色の濃さ]、地上風景の透過率、天体情報の表示形式、最小描画数、太陽・月の表示サイズ、地上風景の選択 です。

  if ( getFlagDomeMode() != true ) {

    //
    // Navigation Mode
    //

    // Font size
    var constellation_font_size = 18;
    var asterism_font_size = 15;
    var star_font_size = 15;
    var others_font_size = 15;
    // Ruby of labels: "Hiragana" or "Kanji+Hiragana"
    var individual_star_labels_ruby_style = "Hiragana";
    // Lines
    var line_thickness = 1;
    var constellation_lines_color = new Color(0.10, 0.30, 0.50);
    var asterism_lines_color = new Color(0.7, 0.3, 0.1);
    // Labels color
    var constellation_labels_color = new Color(0.8, 0.8, 0.8);
    var asterism_labels_color = new Color(0.8, 0.8, 0.8);
    var star_labels_color = new Color(0.8, 0.8, 0.8);
    var individual_star_labels_color = new Color(0.85, 0.85, 0.85);
    // Stars, Milky Way, etc.
    var absolute_star_scale = 2.0;
    var relative_star_scale = 0.8;
    var milkyway_intensity = 1.0;
    var milkyway_saturation = 1.0;
    var landscape_transparency = 0.0;
    // Select from "AllInfo", "DefaultInfo", or "ShortInfo"
    var selected_object_info = "AllInfo";
    // Saving power when lower time-rate (default is 18)
    var min_fps = 4.0;

    // Sun and Moon scale
    var sun_scale = 4.0;
    var moon_scale = 4.0;

    // Landscape selection
    // Set the landscape to Guerlain (France)
    var landscape_id_default = "guereins";
    // Set the landscape to Hurricane (Washington)
    //var landscape_id_default = "hurricane";
    // Set the scenery at Misato Observatory
    //var landscape_id_default = "misato_observatory";
    // Set the scenery around Wakayama University
    //var landscape_id_default = "wakayama_university";

  }
  else {

    //
    // Dome Mode
    //

    // Font size
    var constellation_font_size = 35;
    var asterism_font_size = 30;
    var star_font_size = 30;
    var others_font_size = 30;
    // Ruby of labels: "Hiragana" or "Kanji+Hiragana"
    var individual_star_labels_ruby_style = "Hiragana";
    // Lines
    var line_thickness = 2;
    var constellation_lines_color = new Color(0.10, 0.30, 0.50);
    var asterism_lines_color = new Color(0.7, 0.3, 0.1);
    // Labels color
    var constellation_labels_color = new Color(0.8, 0.8, 0.8);
    var asterism_labels_color = new Color(0.8, 0.8, 0.8);
    var star_labels_color = new Color(0.8, 0.8, 0.8);
    var individual_star_labels_color = new Color(0.85, 0.85, 0.85);
    // Stars, Milky Way, etc.
    // 8m planetarium dome screen at Misato Observatory
    var absolute_star_scale = 3.0;
    // 9m telescope dome screen at Misato Observatory
    //var absolute_star_scale = 1.4;
    // common
    var relative_star_scale = 0.7;
    var milkyway_intensity = 1.0;
    var milkyway_saturation = 1.0;
    var landscape_transparency = 0.3;
    var selected_object_info = "None";
    var min_fps = 10.0;

    // Sun and Moon scale
    var sun_scale = 4.0;
    var moon_scale = 4.0;

    // Landscape for Common
    //var landscape_id_default = "misato_observatory";

    // Landscape for Urban
    // Set the scenery around Wakayama University
    var landscape_id_urban = "wakayama_university";

    // Landscape for Rural (Countryside)
    // Set the landscape to Guerlain (France)
    var landscape_id_rural = "guereins";
    // Set the landscape to Hurricane (Washington)
    //var landscape_id_rural = "hurricane";
    // Set the scenery at Misato Observatory
    //var landscape_id_rural = "misato_observatory";

  }

全天周スクリーンへの投影で最も重要は星表現は、 absolute_star_scale はプロジェクターの解像度÷800(1080pの場合は1.35)、 relative_star_scale は 0.7、 から調整してみてください。

星表現、天の川の明るさ、風景の透過率、最小描画数(min_fps)は、メインGUIより操作可能です。

最小描画数(min_fps)はスクリーン上での時刻を進めない場合に1秒あたり描画される枚数です。これを下げるとラベル表示などがスムーズではなくなりますが、PCの消費電力を小さくすることができます。

設定ファイルを保存したら、メインGUIの Generalフレーム内「初期設定」の「全」ボタンをクリックし、設定内容を確認します。

ビューの設定 --- 〈localInitView.ssc

localInitView.sscの編集ボタン

「ビュー」とは、投影法や投影座標に関する事を指します。全天周投影の場合、プロジェクターの仕様に深く関わってきます。 メインGUIの「設定」タブより、Configurationフレーム内「設定ファイル編集」以下のボタンで編集可能です。

動作モードごとに設定可能です。設定すべきところは、以下のコメントで示してありますので、必要に応じて変更してください。

  // Navigation Mode
  // Dome Mode

メインGUIの「設定」タブより、Configurationフレーム内で、上記の投影モードなどを含めビューに関する操作が可能です。GUIで各設定についての最適値を見つけておき、設定ファイルに書き込んでください。

投影モードは設定ファイルにあるとおり core.setProjectionMode(); で設定します。設定可能な投影モードは以下のとおりです:

設定ファイルを保存したら、メインGUIの Generalフレーム内「初期設定」の「VIEW」ボタンをクリックし、設定内容を確認します。

星座絵の変更 --- 〈localConfig.ssc

設定ファイルの編集ボタン

localConfig.ssc の以下の部分を編集すると、星座絵を変更することができます。

  // Sky Culture selection
  // Use art by Misato observatory & Marin Tsunemi with japanese constellation lines.
  var sky_culture_id = "japanese_misato-art";
  // Use default art with japanese constellation lines.
  //var sky_culture_id = "japanese_default-art";

"japanese_misato-art" を指定すると みさと天文台オリジナルの星座絵を、 "japanese_default-art" を指定すると Stellarium オリジナルの星座絵を使用します。 「// 」はそれより右側のコードが無効という意味ですので、上記の場合は "japanese_misato-art" が有効になっています。

localConfig.ssc を変更し、メインGUI の初期設定「全」ボタンをクリックすると設定が反映されます。

詳細な設定 --- 〈localInitSettings.ssc

文字や線の色、星のまたたき、散在流星などの設定ができます。

メインGUIの「設定」タブより、Configurationフレーム内「設定ファイル編集」以下のボタンで編集可能です。

詳しくは、Stellarium Scriptに関する公式ドキュメント(英語) をご覧ください。

天の川の調整

調整済天の川テクスチャー
天の川は7段階のγ値によるテクスチャーがISCのパッケージに含まれます

全天周スクリーンに投影する場合、Stellarium付属のテクスチャーではリアルさが不足します。 そこで、投影用に最適化され、さらに上映の様子を撮影する場合でも十分な品質が得られるテクスチャーを用意しています。 そのテクスチャーは、みさと天文台の“本物の天の川”と比較しながら調整を繰り返して仕上げたもので、 ファイル(γ値を変えた7個のテクスチャー)はセットアップ時に C:\Program Files\Stellarium\scripts\interstellar-console\milkyway\milkyway.x.xx.png に置かれます。 夏の天の川では銀河中心から淡く広がった部分までしっかり表現され、冬の天の川では落ち着いた光量になって実際の見え方にかなり近づきます。

セットアップ時に天の川のテクスチャーについての質問に「はい」と答えると、 上記のファイルのうちの milkyway.0.90.png がStellariumで使用されるようにインストールされます。 後でテクスチャーを変更する場合は、新しいテクスチャーを C:\Program Files\Stellarium\textures\milkyway.png に上書きします。

インストールされるテクスチャー(milkyway.0.90.png、γ値=0.90)では濃すぎるまたは薄すぎる場合、 C:\Program Files\Stellarium\scripts\interstellar-console\milkyway に7種類(0.80, 0.85, 0.90, 0.95, 1.00, 1.05, 1.10)のγ値で生成されたテクスチャーがありますので、ハードウェアに応じて最適なものをお選びください。

さらなるテクスチャーの調整は、付属のツール(C:\Program Files\Stellarium\scripts\interstellar-console\milkyway にある README.sjis.txt を熟読)あるいは GIMP などのレタッチツールをご利用ください。

光害・月明かりの影響の調整 --- 〈updateLightMoonPollution.ssc

コード先頭付近に以下の定数があります:

// Base parameters for pollutions
const light_pollution_base = 0.0010;
const moon_pollution_base  = 0.0010;

それぞれが、光害・月の影響を決めるパラメータです。必要に応じて変更してください。

これらの値は、日食や月食にも影響を与えます。

オンスクリーン時計の調整 --- 〈date-monitor_conf.txt

オンスクリーン時計
スクリーンショット(実際には背景透過)
編集ボタン
このボタンはDomeモードの場合のみ現れます
オンスクリーン時計の使用例
みさと天文台全天周スクリーンでの使用例
オンスクリーン時計の調整例
調整例

Stellariumには、魚眼投影時に時刻を適切に表示する機能が見当たりません。 全天周スクリーン上に時刻を表示するには、Interstellar Console付属のアプリ「オンスクリーン時計」を使用し、Stellariumのフルスクリーンウィンドウの上にそのアプリによる時刻表示(右図上スクリーンショット)を被せます。

オンスクリーン時計についての設定は、メインGUIの「設定」タブより、Configurationフレーム内「設定ファイル編集」以下のボタンで編集可能です。

オンスクリーン時計は、メインGUIの Generalフレーム内「時計」の ONボタンで起動できます。起動時の表示場所は、GUIと同じデスクトップですので、以下のパラメータを調整して、全天周スクリーンの方位表示(東・西・南・北のいずれか)の左右に水平に表示されるようにします。

位置を調整する場合には、必ず「時計」にある「調整」ボタンでオンスクリーン時計を起動してください。 「調整」ボタンであれば、date-monitor_conf.txt が変更された直後にパラメータが表示に反映されます。

以下でパラメータについての詳細を説明します。

FONT_SIZE=24
RADIUS_FOR_PLACING_CHARS=1630
ANGLE_BETWEEN_TWO_CHARS=1.45

最初に RADIUS_FOR_PLACING_CHARS を魚眼プロジェクターの解像度の約半分に設定することをお勧めします。 これは文字を配置するために使用される半径で、 1080pプロジェクターでは約490、2160pプロジェクターでは約980です(高度5度の位置に表示させる場合)。 ただし、コンソール用デスクトップが150%表示の場合は、1.5倍した値を指定します。

ANGLE_BETWEEN_TWO_CHARS パラメータでは、文字の間隔を角度で指定します。やや広めにとってください。

ORIENTATION_A=0
POS_X_FOR_SCREEN_A=+50
POS_Y_FOR_SCREEN_A=+100

ORIENTATION_A パラメータで全体を回転させることができます。0:回転なし、1:左90度回転、2:180度回転、3:右90度回転 です。デスクトップで南が下側の場合、それぞれ次のように適合します: 0=南、1=西、2=北、3=東。

POS_X_FOR_SCREEN_APOS_Y_FOR_SCREEN_Aは、初期表示位置(コンソール用デスクトップの左上)からの移動量です。 全天周スクリーン用デスクトップの位置によって、符号や数値が変わります。

もう1箇所に時計を設置したい場合は、 ORIENTATION_BPOS_X_FOR_SCREEN_BPOS_Y_FOR_SCREEN_B を設定します。不要な場合はコメントアウトします。

現場での調整では、地上風景をOFF、地平グリッドを表示しておくと、値を追い込みやすくなります。


操作のポイント

まずはじめに、解説動画「操作のしかた Part1」 をご覧ください。

INDEX:

開始・終了・省電力待機モード

解説動画「操作のしかた Part1」
スタンバイモード
「終」ボタンでスタンバイモードへ

ホストマシン

セットアップのセクションで説明したとおり、 開始するにはデスクトップのショートカット 「isc_navigator」(デスクトップアプリとして使用) または、 「isc_dome」(ドームスクリーン投影用) をダブルクリックします。

プラネタリウム解説を始める前に、必ず初期設定の「全」ボタンをクリックし、初期化を行ってください。 直前の解説担当者が設定を残している可能性があるためです。初期化後に時刻などを設定します。

終了時は、Interstellar ConsoleメインGUIの「終」ボタンをクリックします。 ソフトウェア・ハードウェアの問題などでトラブルが発生した場合、メインGUIの「×」ボタンもしくは デスクトップの「isc_gui」をダブルクリックし、「全終了」を選んで、正しく終了処理を行ってください。 終了処理が行わわれなかった場合、サーバプロセスが消されずに残ります。

投影プログラムが終了したら、初期設定の「全」ボタンをクリックし、次の投影プログラムがスムーズに開始できるようにします。 その後、「終」ボタンをクリックし、ダイアログ(右スクリーンショット)を出した状態にしておくと 省電力待機モードになり、 CPU・GPU使用率を約0%に下げることができます。投影開始時に「操作へ戻る」ボタンをクリックしてください。

リモートマシン

Windows では isc_remote.ja.exe をダブルクリックで実行, MacOS では isc_remote.ja.sh をターミナルにドラッグ&ドロップで実行します。 1台のホストマシンに対し最大9台のリモートマシンを接続できます。

リモートマシンでは、メインGUIにある「最小FPS値」の数値で、省電力待機モードかどうかがわかります。 1.0未満の場合、省電力待機モードになっていますので、解除する必要があります。 解除するには、最小FPS値の「初期値」ボタンをクリックしてください。

【注意】ホストマシン上のメインGUIを閉じないでください (GUIプログラム内で光害・月明かりなどを制御しています)。 邪魔であれば、最小化してください。

GUI再起動

GUI内の「編集」ボタンをクリックすると設定ファイル編集のために エディタが起動します。内容を変更して保存した後、GUIに反映させるためには GUIの再起動が必要です。

ホストマシン

メインGUIの「終」ボタンをクリックし、「GUI再起動」を選択します。

リモートマシン

ウィンドウの「×」ボタンでGUIを閉じ、GUIを起動しなおします。

「ON・Off」と「SET・Unset」

スタンバイモード
メインGUI「春」グループ

星座、アステリズム、太陽系、グリッドラインなどの表示スイッチには、 「ON・Off」表記、「SET・Unset」表記があります。 それぞれ意味は以下のとおりです:

原則的には、上位スイッチが入らない場合、下位スイッチを入れても表示されません。

例えば「オリオン座」の星座線を表示させたい場合、「オリオン座」の SET ボタン、 「星座線」の ON ボタンの順にクリックします。 しかしながら、クリックの順を逆にすると、 Stellarium における「星座表示時の例外動作」が働きますのでご注意ください。 全星座が Unset の状態で 「星座線」の ON ボタンをクリックすると すべての星座線が表示されてしまいます。

星座に関する表示をすべて消すには、Constellatonフレーム内の Offボタン、Unsetボタンをすべてクリックしてください。 これは、次の星座表示の準備のためです。

アステリズムについては、線を表示するための「ON」ボタンがありませんが、 下位スイッチの「SET」ボタンが押されたら、 内部で上位スイッチが入るようになっています。

太陽系、グリッドラインについては上位スイッチ・下位スイッチが厳密なルールで働きます。

スタンバイモード
メインGUI 左上
スタンバイモード
メインGUI 右下

光害・月明かり

初期設定では、光害・月明かりは両方ともONに設定されます。必要に応じて、 Generalフレーム内の「太陽系・光害」のボタンで切り替えてください。

Stellariumには「月だけを消す」機能が無いため、 月明かりを消すために太陽系を消す必要があります。 そのため、GUIもそのように作られています。

光害・月明かりの影響は設定ファイルで変更できます。 設定セクション をご覧ください。

漢字/平仮名/英語 切り替え

メインGUI 右下の Options セクションの「Lang」で、星座・星の名称・方角(東西南北) の表示言語を切り替えできます。 値と言語との関係は以下のとおりです:

Langの値 ja_JP KANA en_US
言語 漢字 平仮名 英語

黄道のラベル、地球の軌道に関するラベル、星の個別名称(土星、北極星など)については、Lang 切り替えの後、再び「ON」ボタンで言語が切り替わります。 そのため、天体ごとに言語を変えて名称を表示する事が可能です。

なお、Lang で en_US が選択された状態で 初期設定の「全」ボタンを押すと、 英語圏仕様の星座線・星座絵に切り替わります。常に日本仕様にするには、 localInitLocation.ssc でStellarium側の言語を強制する設定を有効にします (参照:言語、観測地、タイムゾーンの設定

流星

散存流星の投影ができます。投影する場合は、 時刻レートを「1.0」に設定してください(「実」ボタンをクリックします)。

Stellariumの流星に関する機能は発展途上のようで、ZHRを相当に大きく しないと流星がよく見えません。

時刻設定GUI
日付時刻GUI

日付時刻の設定

プラネタリウム上の時刻を一定の速度で進める(または逆転させる)には、 メインGUIのGeneralフレームにある「時刻レート」を使います。 1.0に設定すると「リアルタイム」に、 1.0を超える値を設定すると「早回し」、負の数を設定すると「逆転」します。

特定の日付時刻に設定したい場合は、日付時刻GUI(右図)にある 紫色・緑色のボタンを使います。 「即送信」にチェックを入れておくと、紫色・緑色ボタンがクリックされた 直後にプラネタリウム上の日付時刻がアップデートされます。

キーボードから日付時刻を入力する事もできます。 「スクリーン日時」右の日付または時刻をクリックしてください。

投影開始時刻を「List of User's Time」フレームに登録しておくと便利です。 「編集」ボタンをクリックすると、設定ファイル編集のためにエディタが起動し、 内容を変更することができます。 書き換えて保存したら、時刻設定GUIを「×」で閉じて、メインGUIの左上の 「日時」ボタンをクリックしてください。 日付時刻GUIが再起動され、時刻ボタンがアップデートされます。

空に画像を貼り付ける

Media GUI
Media GUI
list_sky-image.txt
設定ファイル list_sky-image.txt

メインGUI左上の「Media」ボタンをクリックすると、Media GUI が開きます。 チェックボックスのクリックにより、あらかじめ設定された画像を空に貼ることができます。 画像の設置と設定は、ホストマシンでのみ可能です。

貼りたい画像ファイルは png、gif などの一般的な画像フォーマットで正方形で用意し、 ホストマシンの C:\Program Files\Stellarium\scripts\interstellar-console\media に置きます。なお、ファイル名には半角の英数字と記号「_」「-」「.」だけをお使いください(日本語不可)。 画像は、空に加算合成される形で表示されます。 すなわち、(R,G,B)=(0,0,0) は表示されませんので、元々の画像が長方形の場合、正方形に変換するときに余白は黒にします。

ImageMagick で黒色の余白を作る場合の例を示します:

magick.exe foo_in.png -resize 1280 -background black -gravity center -extent 1280x1280 -dither FloydSteinberg -colors 256 foo_out.gif

-dither FloydSteinberg -colors 256」は 256色しか使えない gif 形式で、 なんとかがんばって画質を改善するためのオプションです。 色を多く使わない画像、例えば図の場合には gif 形式にするとファイルサイズがかなり小さくなります。

画像ファイルを置いたら、Media GUI の「編集」ボタンをクリックすると設定ファイル list_sky-image.txt がエディタで開かれますので、画像を登録します。 設定ファイルは csv形式で、 サンプル(attension.pngwww.obs.jp.png)が登録されていますので、 それらの行のパラメータを変更して挙動を確認してみてください。各行のパラメータは以下のとおりです:

例えば、注意事項やスライドショーを空に表示したい場合には、 座標系に「AzAlt」を指定し、lon,lat に 方位,高度 を指定します。

画像を設定ファイルに登録したら、Media GUI を右上の「×」で閉じ、 メインGUI左上の「Media」ボタンを押して Media GUI を開きなおすと、設定ファイルの内容が反映されます。

リモートマシンをご利用の場合は、上記のホストマシンでの設定の後、リモート側の Media GUI を開きなおしてください。

既知の問題


技術情報

INDEX:

ホストマシンの選定(劇貧な状況下を想定)

NVIDIA Quadro P620 and NVS 510
中古で入手した NVIDIA NVS 510 と Quadro P620
NVIDIA NVS 510
テストの様子。右が2160pディスプレイ

プラネタリウムは、基本的に動作が非常にゆっくりのため、ドームスクリーンへの投影であっても 日周運動時に秒間10コマあればそれほど不自然さを与えません。 欲張らなければ、お金をかけなくても有料ライブ投影に耐えられるPCを入手できると考え、 激安パーツを購入、解像度2160×2160でのドームスクリーンへの投影を前提とした実験を実施しました。

パーツの選定で、最重要なのがディスプレイアダプタです。 Stellarium は OpenGL を叩きますので、OpenGL に最適化されている事で知られている NVIDIA Quadro または RTX で考えていきます。 激安という条件では、Quadro(現在はブランド名としては消滅)の後期モデルが中古で入手しやすいため、 エントリーモデルの Quadro を中心に組んでみました。テスト対象は、以下の5つの組み合わせによるPCです:

  1. 第12世代 Intel Core i5-12400 + Dual Channel DDR4 3200MHz 8GB×2 +
    NVIDIA NVS 510(2GB)
  2. 第12世代 Intel Core i5-12400 + Dual Channel DDR4 3200MHz 8GB×2 +
    NVIDIA Quadro P620(2GB)
  3. 第12世代 Intel Core i5-12400 + Dual Channel DDR4 3200MHz 8GB×2 +
    NVIDIA T600(4GB)
  4. 第12世代 Intel Core i5-12400 + Dual Channel DDR4 3200MHz 8GB×2 +
    統合GPU(UHD Graphics 730)
  5. 第4世代 Intel Core i5-4570 + Dual Channel DDR3 1600MHz 8GB×2 +
    NVIDIA Quadro P620(2GB)

テスト結果のまとめへ

最近のプロジェクターは 2160p(疑似4k)を入力する事が多いため、 Stellarium において2160×2160を十分な速度で描画できるかどうかを実験してみました。 第12世代Intelの場合、一般的なベンチマークでは NVS 510 よりも統合GPU(UHD Graphics 730)の方が優秀ですので、 NVS 510 を追加するくらいならディスプレイアダプタは不要と考えてしまいがちですが、 Stellarium は特殊なケースらしい事が以下のテストで見えてきます。

ソフトウェアの条件は、Windows 11 64-bit、 NVIDIAドライバは474.82(475.xx はNVS 510ではセットアップに失敗するので注意)、 Stellarium-25.4 + ISC-1.4、解像度2160×2160、 ISCのDomeモードのデフォルト(星表現絶対3.0、星表現相対0.7、FOV190度)、光害無し、月明かり無し、88星座名/線/絵あり、黄道日付あり で、460倍速日周運動によるテスト結果は以下のとおりでした:

  1. 約 10 フレーム/秒、GPU使用率 100%
  2. 約 21 フレーム/秒、GPU使用率 約52%
  3. 約 21 フレーム/秒、GPU使用率 約37%
  4. 約 5〜6 フレーム/秒
  5. 約 10 フレーム/秒、GPU使用率 約25%

第12世代Intel + NVS 510 の結果が興味深く、 これは「グラフィックスメモリが分離されている(NVS 510)」「グラフィックスメモリが共有されている(UHD Graphics 730)」 の違いが効いている可能性があります。 第12世代Intel + Quadro P620 では 20フレーム/秒 を超え、プラネタリウム投影用PCとして十分すぎる性能に到達しています。 NVS 510 と Quadro P620 はメモリ容量は同じ 2GB ですから、スコア差の主な要因は世代間の差(プロセッサの性能差、メモリ速度の差)と考えられます。 T600 は P620 に比べメモリ速度が倍になってるなどアダプタ自体の性能は高いはずですが、 スコアは Quadro P620 のそれと変わらないため、さらに上を目指すならPC本体側を変える必要がありそうです。 ただし、プラネタリウムの「暗め」かつ「スロー」の映像では秒間20フレームを超えると違いがわからないので、 上を目指す場合というのはもっと高い解像度の場合です。

以上の結果を踏まえると、方針はこうなります: (1) グラフィックス処理をメインメモリから分離して余裕を持たせる事(統合GPUは避ける)、 (2) ハイエンドなディスプレイアダプタは不要だが、安くても良いので比較的新しい世代(NVIDIA Pascal世代またはそれ以降)のディスプレイアダプタを使う。

劇貧な状況下では、Stellarium + ISC 以外の目的でもPCを利用したい、となると思いますので、他の場合もテストしてみました。 結果は以下のとおりです:

テスト結果まとめ

2400×2400までの解像度でのドームスクリーンへの投影であれば、 デスクトップ機なら安価な新しめのディスプレイアダプタの追加により、 ローコストで汎用性の高いプラネタリウム&全天周映像投影用PCを用意できることがわかりました。 ノートPCの場合は、ディスプレイアダプタが搭載されたゲーミングPCを選択する事になりますので、 価格で有利なのはディスプレイアダプタを自由に選定できるデスクトップPCです。

以下に、テスト結果を表で示します。

マシン構成 最大負荷時FPS GPU使用率 Mosaic対応 Mitaka 動画再生 GPU価格 オススメ度
第12世代Intel + NVS 510 約10 100% 激安 買うならP620を
第12世代Intel + Quadro P620 約21 約52% 激安 ★★★★★
第12世代Intel + T600 約21 約37% 安い ★★★★☆
第12世代Intel + 統合GPU 5から6 - - - ★☆☆☆☆
第4世代Intel + Quadro P620 約10 約25% 激安 バックアップ用に

Quadro P620 は Stellarium の動作速度を大きく引き上げてくれるにもかかわらず非常に安価で低消費電力であるため、 最も推奨できるディスプレイアダプタの1つです。 比較的新しいPCならドームスクリーンへのプラネタリウム投影用PCとして十分すぎる性能を得ることができますし、 古いPCでも投影用バックアップ機として活用することができます。 さらに、Quadroは NVIDIA Mosaic が可能なため、 業務用の 3200×2400 のプロジェクターに対応し、さらに 4k×4k全天周動画などの制作環境の構築にも使えます(NVSもMosaicが可能ですが、2400×2400だと処理能力的にやや厳しいです)。

全天周投影用プロジェクターの選定

NVIDIA Mosaic LNVIDIA Mosaic R
トラブルの原因になりやすいNVIDIA Mosaic設定

2台以上のプロジェクターによるエリア分割式の投影を必要とする大型の全天周スクリーンでは、射影変換システムが必要で、さらにプロジェクターもケースバイケースであるため、ここでは一発式の場合を扱います。

一発式のプロジェクターでは、大きく分けて3通りが考えられます。

  1. 特注魚眼レンズを装着したプロジェクター
  2. 短焦点タイプのプロジェクターにコンバージョンレンズをつけて魚眼化
  3. 長焦点タイプのプロジェクターにリレーレンズをつけて実像に戻し、一眼カメラ用魚眼レンズで魚眼化
    実装例:相田 成隆 様LhoumeauSkySystem Open ProjectWill System Design 様

1.の方法は高価すぎるためここでは議論しません。 2. の方法が簡単に思いますが、周辺収差が激しく地平線付近に配置する時計の可読性に問題があり、プロジェクターが縦置きにできるものに限定されるなど、欠点が多いです。3. の方法では画質は狙えますし、リレーレンズと魚眼レンズとの両方にフランジバックが大きい一眼レフカメラ用レンズを使えば2インチ天頂ミラーで光路を曲げることもでき、縦向きにできないプロジェクターでも全天周投影が可能になるなど、応用が効きます。 これについては、 上記で紹介した 相田様の記事 が、 国内では最もまとまっていますので、自作派の方は必読です(エアドームについての記事もオススメ)。 海外では、LhoumeauSkySystem Open Project の記事が最も詳細に書かれていますので、相田様の記事とあわせて必読です。 みさと天文台でも、いずれまとめ記事を用意するつもりです。

プロジェクターの解像度は縦2160または縦2400ピクセルのものが良く使われているようですが、みさと天文台の経験では縦2400ピクセルのプロジェクターはNVIDIA Mosaicが可能なディスプレイアダプタ+2系統のHDMIを必要とする上に、何らかの原因でMosaic設定が壊れるなどトラブルの原因となるため、あまりお勧めできません(参考:NVIDIA Mosaic設定時のTips)。また、NVIDIA Mosaicを設定するとQt6版のStellariumでは表示が崩れてしまうため、将来Qt5版が廃止された場合にStellariumをアップデートできなくなる事も考えられます。どのPCでもHDMIケーブル1本で出力できる縦2160ピクセルのネイティブ4kプロジェクターをお勧めします。

EDIDエミュレータの利用

Dr. HDMI
あらゆる用途で使えるEDIDエミュレータ「Dr.HDMI」

EDIDエミュレータは、PCからはディスプレイとして認識され、OS(Windowsなど)側のディスプレイ設定を自動変更させない事を目的としたデバイスです。PC─EDIDエミュレータ─ディスプレイ(またはプロジェクター)という接続で使い、ディスプレイの電源がOFFになっても、PCはディスプレイがあるものとして動作し続けます。

プラネタリウムなどの業務用投影システムや、多数のディプレイやプロジェクターを使用するトレード、プロジェクションマッピングでは、ディスプレイやプロジェクターの状態によってOS側の画面配置が自動変更されてしまうのでは困ります。この問題を解決するのがEDIDエミュレータで、それによって「PCでのディスプレイ設定を“固定化”する」事ができるというわけです。1920×1080や3840×2160のようによく使われる解像度のものは、安価なものが多数販売されています。 ディスプレイアダプタによっては、EDIDエミュレータに相当する機能を持つものもあります。

特殊な解像度もしくは多数のディスプレイを「業務で」使う場合は、プログラマブルなものを選ぶ必要があります。みさと天文台ではプロジェクションマッピングや Mitaka による3Dシアターも行っており、それらでは HD FURY社の「Dr.HDMI」(販売:MTG) を使っています。やや高価ですが、あらゆる解像度に対応できるだけでなく、ディスプレイ名称を1台ごとに設定できるので、特にプロジェクションマッピングにとっては必須アイテムと言えます。

Dr.HDMIに関するソフトウェアは、HD FURY社の Dr.HDMIDr.HDMI 4k ページよりダウンロードできます。EDIDデータの編集には、Deltacast社のEEDID_Editor が便利です。

Interstellar Console ソフトウェアシステム概要

ブロックダイアグラム
ブロックダイアグラム

本システムは、基本的にはバックエンド=Stellarium、フロントエンド=GUI(Tcl/Tk) という構成をとります。 フロントエンドは新規製作ですが、バックエンドは完成品です。

このような場合、たいていシステム全体としての要求仕様を満たせず、バックエンド側も改変せざるを得なくなる事がほとんどです。 しかし、Stellariumにはそれを制御するための「Stellarium Script」が非常に強力であるため、Stellarium実行ファイルには一切変更を加えずに済んでいます。

このスクリプトはJavascriptベースなので習得も簡単です(API)。さらに、8090番ポート経由でStellariumへこのスクリプトを送信したり、あらかじめ用意されたステータス(日付や天体データ)が取得できます(参照:ドキュメント)。しかし、LabelMgrで返されるラベルIDなどスクリプトを実行した時の出力データや返り値は、ファイルへの出力は可能でも8090番ポートから取得できないため、Stellariumとは別にファイル読み取り用プロセス「ISC Info Server」(中間プロセス)を起動し、スクリプトの結果を8091番ポート経由で取得しています。

Ver.1.3 からサポートされたリモートマシン用GUIは、ホスト用GUIからホスト固有の動作に関するウィジェットを 削除したものです。 一部のステータスが Stellarium → ファイル →「ISC Info Server」→ GUI という経路で 流れるため排他処理が必要ですが、「ISC Info Server」でリモートマシン9台をIPアドレスで管理しています。

Ver.1.4 からは図中に無いプロセスがもう1つ増えています。 それは、薄明・月明かり時の星表現を調整するための Stellarium へのコマンド送信専用プロセス isc-scheduler.tcl です。 Ver.1.3 までは GUI のコードに入っていたものを分離したわけですが、これによって GUI のレスポンスが改善されました。

このような複数のプロセスによるスクリプトベースのシステムは、 現代のPCアーキテクチャ(高速なマルチコアCPU+GPU)のおかげで開発が容易になっていると言えるでしょう。

Interstellar Console ソフトウェアシステム設計のポイント

26バイトで作ったエディタ
26バイトのコードによるテキストエディタ

プログラミング言語に Tcl/Tk を選択

GUI 構築に Tcl/Tk を使う事は、ほとんど反則と言って良いでしょう。 どれくらい反則なのかをテキストエディタのコードで見てみましょう:

text .tx -undo 1
pack .tx

以上、たった2行でテキストエディタの基本形は完成です(これって何バイト?)。 ファイルの読み書きはできないものの、コピー・カット・ペースト・UNDO が使える普通のテキストエディタとして機能します。 こんな調子で GUI が作れてしまうので、手早く作れてしまうのは当然です。

Interstellar Console の開発は、2025年2月5日にスタートし、Ver.1系の形にまとまったのは、11日後の2月16日です。 2月22日には、定期上映で利用が開始されています。 Tcl/Tk でなければ、工期をこれだけ短かくできなかったと確信していますが、 これを読まれている皆様にもある程度伝わると思います。

コーディングは、3名で担当しました。1名は Tcl/Tk の経験がありますが、残る2名は経験ゼロです。 経験ゼロの2名は、星座やアステリズムのボタン類の作成を担当しましたが、 コードの前後関係からの類推だけで書けてしまうのです。 例えば、はくちょう座のボタンを設置する(位置揃え、呼び出し関数の指定も含む)には、以下のコードを書くだけです。

frame .fr_cyg
label .l_cyg -text "はくちょう"
button .b_cyg1 -text "ON" -command "update_constellation Cygnus true"
button .b_cyg0 -text "OFF" -command "update_constellation Cygnus false"
pack .l_cyg -in .fr_cyg
pack .b_cyg0 .b_cyg1 -side left -expand 1 -fill x -in .fr_cyg

Tcl/Tk を選んだもう1つの理由は、 保守性という観点からプログラミング言語の種類を増やしたくないという事も挙げられます。 Tcl/Tk は処理速度は劣りますが設計思想やセキュリティ上の制限が少なく、 かなり自由にPCアプリケーションを作成できる、すなわち「速さを求めなければ何でも作れてしまう」という利点があります。 どうしても速さが必要であれば、複数のプロセスで実行するアプローチをとれば良く、 そのような場合に必要なプロセス間通信については Tcl が得意とするところです。

一般的に、このようなコンソールはWebアプリケーションとして作るのが最も移植性が良いように思います。 もちろん、Stellarium の機能が 我々のプラネタリウム上映にとってパーフェクトであれば、 Stellarium付属コンソールのようなブラウザベースのアプリケーションだけで完結しますが、 残念ながらそのようにはいきません。 Stellariumから特定のステータスを読み取るためのサーバープロセスを起動したり、 オンスクリーン時計をStellariumのウィンドゥに被せたりする必要が生じてきます。 すなわち、PCアプリケーションを作る必要があるということです。 Tcl/Tk であれば、それらも GUI と同じ言語で作ることができます。 ソケット通信、排他処理、文字コード変換など、何でも簡単・確実に実装できます。

捨てるべき事を早い段階で決断

捨てた事は2点あります。

「GUI に ステータス表示を完全に持たせる」事を、早い段階で「捨てた」というのが1点目で、これはシステムの簡素化に大きく寄与します。

Stellarium を少し使ってみると、星座線や星座絵などの表示のための内部スイッチは挙動が複雑である事に気付きます。 これは、GUIに星座線や星座絵などのステータス表示を完璧に持たせるのは、難しい事を示しています。 とあるメーカー製のプラネタリウムシステムにおいても、GUIにステータスはあっても たびたびそれらが正しく表示されないという状況を我々はずっと見てきました。これも、実装の難しさを示しています。

さて、GUIにすべてのステータスは本当に必要か? と考えてみます。 星座線や星座絵のON/OFFは投影スクリーンを見ればわかる事に気付きます。 さらに、解説員の目線はほとんどの時間、GUIよりも投影スクリーンに向けられています。 という事は、そのようなステータス表示は無くても解説に支障はないわけです。 ステータス表示があればわかりやすくはなるでしょうが、 それは解説員の操作への「慣れ」によって無視できるほどのご利益に留まるでしょう(必要なのは最初だけでしょう)。

以上の理由から、我々の開発方針として「GUIにおけるステータス表示は必要最低限とする」事に決めました。 逆に言えば、「GUIアプリケーションは基本的にコマンド送信に徹する」です。

この方針によって、GUIにおけるスイッチは必ず 「ON/Off」または「SET/Unset」 となっていてボタンが多くなってしまいますが、 コードは間違いなくシンプルになります。シンプルという事は、保守性に優れるという事です。

2点目は、GUI の見た目のカッコよさを捨てる事です。

Tcl/Tk にはカッコ良い GUI 部品が多数提供されていますが、目的はそれらの活用ではなく 現場での確実な操作です。 マウスでもタブレットでも、どちらでも操作しやすい事を重視し、ウィジェットを選定・配置しました。 タブレット専用 GUI が存在しない事は、保守性に寄与します。

何事も目的とバランスが重要と言われますが、これはソフトウェア開発でも同じあると我々は考えます。 しっかり保守できるものを作るためには、どこかで妥協が必要な事もあります。

Stellarium の制御に関するTips

StellariumスクリプトのコーディングTips

NVIDIA Mosaic設定時のTips

NVIDIA Mosaic設定は、複数のプロジェクターを1台のディスプレイとして認識させる設定です。通常は、NVIDIAコントロールパネルからGUIで設定しますが、Mosaic Utilityを使うと、CUIから設定でき、Mosic設定が壊れたときの復旧も簡単になります。 Mosaic Utilityをダウンロードし、下記のようなコマンドでMosaic設定が行えます。詳細は、公式ドキュメントをご参照ください。

# 例えば、2台のプロジェクターで、解像度が1600x2400、リフレッシュレートが59.948Hzの場合
configureMosaic.exe set rows=1 cols=2 res=1600,2400,59.948 display=[display-ID1] display=[display-ID2]

display-ID1、display-ID2 は、下記のコマンドで確認ができます。

configureMosaic.exe query gpu    

謝辞

本プロジェクトのために以下のフリーソフトウェアを使用しました:

また、GUIの設計にあたっては、以下のデジタルプラネタリウムを参考にしました:

開発者ならびにそれらに関わったすべての皆様に感謝いたします。

Interstellar Console に関する不具合報告とリクエストをくださった 本田一彦様 と あいプラネット様、 およびレポートをいただいたすべての皆様に感謝いたします。

プロジェクトメンバー&連絡先

Misato Astronomical Observatory
E-mail: info (at) obs.jp
Tel.: 073-498-0305


Last Modified: Jun. 24, 2026