A Free Digital Planetarium System

INDEX: ニュース | ライセンス | ダウンロード&セットアップ | 設定 | 使い方 | 技術情報 | 謝辞 | 著者への連絡

みさと天文台プラネタリウム投影室(スクリーン直径8m)での投影
本システムによる みさと天文台プラネタリウム投影室(スクリーン直径8m)での投影

Interstellar Consoleは、みさと天文台での定期上映のために職員が自ら制作した、オープンソースのデジタルプラネタリウム投影ソフトウェアシステムです。

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

みさと天文台では2025年2月22日以降、ライブ解説によるプラネタリウム定期上映で本システムを使用しています。Stellariumの各種パラメータや天の川のテクスチャーを丁寧に調整し、星空のリアルさは商用システムと変わないレベルを実現しました。解説員は5名いますが、全員が本システムに大きな不満は無く、みさと天文台としては、今後商用システムでプラネタリウム上映を行う事は考えられなくなりました。

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

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

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

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

みさと天文台プラネタリウム投影室での投影

ニュース

ライセンス

Copyright (C) 2025 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/.


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

セットアップ動画
ショートカット
デスクトップに生成されるショートカット
  1. OSを確認
    Windows 10/11 x64
    ※Windows Sandboxでも動作確認済み
  2. コマンドプロンプトの動作確認
    タスクバーの検索ボックスに「cmd」と入力し、コマンドプロンプトを起動し、右上の×印で閉じる。
  3. バックアップ
    本ソフトウェアをアップデートする場合、C:\Program Files\Stellarium\scripts\interstellar-console\ にあるすべてのファイルについて、バックアップをとってください。
  4. Stellarium v24.4 Qt5 をダウンロードし、インストール
    ※「For all users(全てのユーザーが使用)」を選択し、 インストール場所はデフォルト設定のまま変更しないでください。
    ※上記バージョン以外では正常に動作しません。
    また、既にインストールしている場合は一旦アンインストールしてください。
  5. tcl/tk 9.0.1 をダウンロードし、インストール
    ※すでにTcl/Tkがインストールされている場合はスキップ。◆(下記)を参照
  6. interstellar-console_1.0beta1.zip をダウンロードし、解凍
  7. interstellar-consoleフォルダの「setup.exe」を実行
    ※必ずローカルにダウンロードし実行してください。ネットワークドライブ上では動作しません。
  8. ポップアップウィンドウの説明を読み、問題ない場合は「はい」を選択
    セットアップ画面
  9. 下記ポップアップが表示されたらセットアップ完了
    セットアップ完了
  10. デスクトップに3つのショートカットが作成されているのを確認

すでにTcl/Tkがインストールされている場合◆

上記 5. をスキップしてください。Tcl/Tk-9系の場合はそのまま動作しますが、Tck/Tk-8系の場合は、上記 9. まで完了した後、C:\Program Files\Stellarium\scripts\interstellar-console\tcl_sjis\ にあるtclファイル(Shift-JIS版のGUIソースファイル)を C:\Program Files\Stellarium\scripts\interstellar-console\ にコピー(上書き)してください。

動作モードと動作確認

用途に応じて、いずれかの動作モードを選択してください。


設定・カスタマイズ

以下で説明される設定ファイルは、 C:\Program Files\Stellarium\scripts\interstellar-console にあります。

設定ファイルはすべてテキストファイルです。Windows標準のメモ帳など、お好みのエディタで編集してください。

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

Stellarium環境設定ウィンドウ

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

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

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

場所の設定 --- localInitLocation.ssc

localInitLocation.sscの編集ボタン

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

  1. 緯度経度(時分秒・度分秒)を調べる (参考:位置座標読取り・確認・移動ウェブサイト[2021]
  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);
    
  3. メインGUIの Generalフレーム内「初期設定」の「場所」ボタンを押し、設定内容を確認

基本設定 --- localConfig.ssc

localConfig.sscの編集ボタン

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

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

if ( getFlagDomeMode() != true ) {
  // Navigation Mode
  const font_size_medium = 15;
  const font_size_large = 18;
  const line_thickness = 1;
  const absolute_star_scale = 2.0;
  const relative_star_scale = 0.8;
  const milkyway_intensity = 1.0;
  const milkyway_saturation = 1.0;
  const landscape_transparency = 0.0;
  // Select from "AllInfo", "DefaultInfo", or "ShortInfo"
  const selected_object_info = "AllInfo";
  // Saving power when lower time-rate (default is 18)
  const min_fps = 4.0;
}
else {
  // Dome Mode
  const font_size_medium = 30;
  const font_size_large = 35;
  const line_thickness = 2;
  const absolute_star_scale = 3.0;
  const relative_star_scale = 0.7;
  const milkyway_intensity = 1.0;
  const milkyway_saturation = 1.0;
  const landscape_transparency = 0.3;
  const selected_object_info = "None";
  const min_fps = 12.0;
}

フォントサイズ、線幅、天体情報の表示形式 以外は、メイン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」ボタンを押し、設定内容を確認します。

太陽・月の表示サイズの設定

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

全天周スクリーン上の0.5度は実際の空のそれよりも小さいため、プラネタリウムでは一般に太陽や月を数倍のサイズで表示しています。 これらに関する設定ファイルについても、 メインGUIの「設定」タブより、Configurationフレーム内「設定ファイル編集」以下のボタンで編集可能です。

設定ファイルを保存したら、メインGUIの Solar Systemフレーム内「天体 表示サイズ」以下のボタンを押し、設定内容を確認します。

詳細な設定 --- localInitSettings.ssc

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

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

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

天の川の調整

調整済天の川テクスチャー

全天周スクリーンに投影する場合、Stellarium付属のテクスチャーではリアルさが不足するため、C:\Program Files\Stellarium\scripts\interstellar-console\milkywayにある milkyway.pngC:\Program Files\Stellarium\textures にコピー(上書き)してお使いください。夏の天の川では淡い部分が表現され、冬の天の川では落ち着いた光量になって実際の見え方に近づきます。

上記のようにしてもリアルさが不足する場合は、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;

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

オンスクリーン時計の調整 --- exec_date-monitor.bat

オンスクリーン時計
スクリーンショット(実際には背景透過)
オンスクリーン時計の使用例
みさと天文台全天周スクリーンでの使用例

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

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

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

set POS_X_FOR_SCREEN=+200
set POS_Y_FOR_SCREEN=+100

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

set ORIENTATION=0
set FONT_SIZE=24
set RADIUS_FOR_PLACING_CHARS=1630
set ANGLE_BETWEEN_TWO_CHARS=1.2

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

RADIUS_FOR_PLACING_CHARS は文字を配置するために使用される半径です。魚眼プロジェクターの解像度の約半分を指定します。コンソール用デスクトップが150%表示の場合は、1.5倍した値を指定します。

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

現場での調整では、地平グリッドを表示し、「時計 on Screen」の「調整用」ボタンで中央位置を表示させておくと便利です。

使い方

技術情報

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

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

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

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

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

1.の方法は高価すぎるためここでは議論しません。 2. の方法が簡単に思いますが、周辺収差が激しくあまり画質は良くありません。3. の方法では画質は狙えますし、リレーレンズと魚眼レンズとの両方にフランジバックが大きい一眼レフカメラ用レンズを使えば2インチ天頂ミラーで光路を曲げることもでき、縦向きにできないプロジェクターでも全天周投影が可能になるなど、応用が効きます。

プロジェクターの解像度は縦2160または縦2400ピクセルのものが良く使われているようですが、みさと天文台の経験では縦2400ピクセルのプロジェクターはNVIDIA Mosaicが可能なグラフィックスアダプタ+2系統のHDMIを必要とする上に、何らかの原因でMosaic設定が壊れるなどトラブルの原因となるため、あまりお勧めできません。また、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にはそれを制御するための強力な「Stellarium Script」が使えるため、外部にソフトウェアを追加するたけで様々なシステムを構築することができます。本システムにおいても、Stellarium実行ファイルには一切変更を加えていません。

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

このように実装はやや複雑化しているものの、StellariumとGUIとは 8090番・8091番ポートで通信しているため、GUIのコードを少し改修することでタブレットから制御することも可能です。

謝辞

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

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

著者への連絡

Misato Astronomical Observatory
info (at) obs.jp


Last Modified: May. 1, 2025