Illustratorで星図と星座を描くスクリプト

star_map_sample

星座の豆本を作りたいということで、星座のイラレのデータが落ちてないかなーっと探していたのですが、自由に使っていいよーって感じのが見つからなかったので自分で作ってみました。
ちなみにWin版CS5でしか動作確認していないので、他のバージョンで動くかは不明です。

星と星座に関する知識はてきとうにググったり星の図鑑みたいなの読んで調べときましょう。

星と星座にかかわるデータを探してくる

Astro Commonsというサイトから、星の位置・星の名前・星座の位置・星座線・星座境界線のデータをダウンロードしてきました。

星図関連のデータ探してると度々出てくる「星座横丁」というサイトをリニューアルされたものです。

星図・星座境界線のデータは探すといろいろ出てきます。

星座線のデータについては探し方がイマイチだったのか、Astro Commons以外では見つかりませんでした。

座標を変換する

星の位置は、赤緯・赤経で定義されているのですが、表す単位がそれぞれ違います。

赤緯:度数表記
値の範囲:-90度(天の南極点)~0度(天の赤道)~90度(天の北極点)
度数未満の単位は、分・秒
赤経:時・分表記
値の範囲:0時~24時
時未満の単位は、分・秒

単位を統一しないとやりにくいので統一します。赤経を360度の単位に変換します。

赤経の1時間は15度。1分は0.25度。1秒ははぶいても大差なさそうなのではぶきました。

変換処理に使ったツールはAccessのVBA。お手軽なので。Excelでも地道にやればいけるかと。テキストが処理できればPerlでもPHPでもなんでもいけるのでお好みのものを使えばいいかと。

座標変換について参考にしたサイトは下記

座標のデータを読み込んで描画する

座標を変換して、必要なものだけ出力したのが下記データ(タブ区切りテキスト)。※星は視等級が6以下のものを対象

星の位置と星の名前(5044件):star_map.txt
HIP / 赤経 / 赤緯 / 視等級 / 星の名前
星座の名前(88件):constellation.txt
星座ID / 赤経 / 赤緯 / 学名 / 日本語名
星座線(673件):constellation_line.txt
星座ID / 赤経始点 / 赤緯始点 / 赤経終点 / 赤緯終点
星座境界線(1582件):constellation_boundary.txt
星座ID / 赤経始点 / 赤緯始点 / 赤経終点 / 赤緯終点

スクリプトは下記3種類。
それぞれアクティブなドキュメントに描画されます。動作条件がいろいろあるので、そこはソースを読んでください。

星の位置と星の名前を描画するスクリプト

星座名と星座線と星座境界線を描画するスクリプト

グリッド線を描画するスクリプト

出来上がったAIデータはこちら。※背景の黒い図形は描画されません。

思いっきりアートボード外に描画されますが、そのまま使うわけではないので、適当に移動しましょう。

スクリプトの設定してある定数を変えると、北天と南天の描画もできます。
データファイルの位置とかシンボル名とか変えたいときはスクリプト書き換えてください。
(データファイルが存在しない場合のみエラーが出ますが、シンボル・スウォッチがない場合は実行時エラーで止まります)

星は全てシンボルにしてあります。星図・星座線・星座名などは全てレイヤー分けされます。色は全部スウォッチに入ってます。
シンボルや色を適当に変更するとそれっぽいものができるかと。

ちなみに星座線は特にきまりがないらしいので、本に載ってるの星座表とかと違うかもしれません。
本に載ってるのに合わせたいなーっと思いましたら、手動で線を引くなり座標データを入力して作り直すなりして変更しましょう。

出来上がったAIファイルとスクリプトは自由に使用・改変OKです。
使用した際の責任は負えませんので承知の上でご使用下さい。(星座が間違っててクレームが!とかなっても知りませんので…。)

その他参考にしたサイト

  • SVGで星図を描こう|社員ブログ|株式会社Qript
  • 星座早見表:Gnuplot’s Tips
  • 星降る ~コタエヲイキルノ~
  • Illustratorのスクリプトリファレンス