Celestia

克里斯·劳瑞尔团队开发的软件

Celestia 是一套开放原始码的 3D 天文软件,在 Linux 操作系统下编写,利用 英伟达 ® 加速元件处理高解析度的材质与纹理贴图,流畅地显示高解析度影像。Celestia 能存取 美国航空航天局 影像资料库中的星球与 星系 目录,让您能看到“飞越” 宇宙 的虚拟实境。

NASA 的目标是让大众能轻易取得太空探测任务的资料。NASA 研究许多方法让大众分享科学研究成果的喜悦。NASA 主动协助教师,合作发展各种技巧与工具来激励学生。NASA 致力鼓励青年学子成为新一代科学家、技术人员、工程师、以及数学家。为达成这个目标,教师必须使用足够的工具。Celestia 这项宝贵工具能在住家以及其他场所,可发挥激发与教育青年学子的成效。

Celestia 是由克里斯 · 劳瑞尔(Chris · Laurel)主导开发。包括现今成为计划赞助的 美国航空航天局 在内,结合众多研发人员的努力,共撰写约 10 个版本的 Celestia 成为众人吸收太空与星球知识的窗口。这项工具运用 英伟达 绘图技术,让使用者透过影像来探索庞大资料库里的内容,其中包含星球与 星系 的目录,以及由星际太空船所收集的影像资料。通过桌上型或笔记本 PC 或 麦金塔 ,使用者可利用各种方式来观看资讯,其中包括:调整时序设定(观察未来将发生的事件)、调整视窗锁定的影像范围、仔细观察 地球 与其他星球,包括 太阳 、 银河系 、以及其他各种 天体 。

该 3D 视觉化工具可让使用者能透过特殊方式来观看我们的宇宙,结合 PC 平台与 英伟达 绘图方案,让广大群众能观看到壮观的天文景象。

最新版本

Celestia 1.6.1.0 是 Celestia 软件中的最新正式版本,更新 木星 ( Jupiter )的 62 颗卫星, 土星 (Saturn)的 60 颗卫星, 天王星 ( Uranus )的 28 颗卫星, 海王星 ( Neptune )的 18 颗卫星和 冥王星 ( 冥王星 )的 3 颗卫星全部资料。它将所有的 卫星 的图样改进,将旧有的卫星变成椭圆形或扁形的或已知的图样,而且名字从只有卫星名和编号变成卫星名、该 行星 的名字和数字编号,例如: 土卫十 ( Janus )的名字就是“Janus/Saturn X/1980 S 1”,你在 Target Name(输入名称)中打任何一个名字都可以搜索到该卫星。 小行星 的名字从编号或名字改成编号和名字或编号,加该小行星的有的英文名,再加上编号。它还可以剔除 小卫星 的名字和轨道,这在 Render(渲染)的 View Options(视图选项)中的剔或剔除 Minor Moons(小型卫星)的 Orbits(轨道)或 Labels(标签)。

但是 Celestia 1.6.1.0 有一个缺陷, 恒星 没有星芒效果,大气层只能看见 日冕 (Celestia EP 已经修复)。

使用教程

依据依巴谷星表,Celestia 内建将近 1.2 × 10^5 颗恒星。可调整最大可见的 视星等 来改变荧幕上恒星的数量,也可改变恒星呈现出的外观。Celestia 利用非常精确的 VSOP87 理论计算轨道,包括 双星 、 行星 、 太阳系外行星 、 矮行星 、 卫星 、 小行星 、 彗星 、 人造卫星 和 航天飞机 ,也提供了各行星、卫星的 日食 、 月食 预测。

可以用简单的键盘、鼠标指令以任何速度、在数秒内到达 Celestia 宇宙 的任何地方,包括了 球状星团 、不规则、椭圆、 透镜 或螺旋 星系 (内建超过 10^4 个星系),也可将旅途的视野设定成向前、向后或任何方向。可环绕 天体 ,与天体同步运转,或追踪运行中的天体。

可将时间设定在过去到未来的任何时刻,可用 UTC 或当地时间。可调整时间流逝的速度,从正常的 10^15 倍到 10^-15 倍,也可暂停或倒流。不过快转到公元或公元前 2.0 × 10^8 年 元旦 (1 月 1 日)就会停止。尽管如此, 太阳系 行星 轨道只在数千年范围内才算精确,超过了数千年就有不准确。另外也有光时校准(Light- 时间 Correction)。

可显示各 天体 的名称,和天体表面特徵的名称,包括撞击坑、火山、峡谷、海洋、城市等等。

Celestia 还展现了其他细节,如大气层、晨昏时的橘色光线、天体表面特徵、地形阴影、移动的云、云影、水面反光、夜半球的城市光点、 行星环 、环的影子、食、彗尾、 恒星 光芒、 星座 连线和界线。

控制方法

鼠标

左键拖动:改变视角

右键拖动:环绕选定对象

鼠标滚轮/ Ctrl + 鼠标左键:调整选定对象距离

Shift + 左键:改变视野

滚轮点击:切换视野

左键点击:选择对象

左键双击:置中对象

右键点击:打开菜单

键盘

导航

H:选择 太阳 (Home)

C:置中所选对象(Center)

G:前往并跟随(Goto)

F:跟随对象(Follow)

Y:同步轨道对象

::锁定对象

":追逐对

T:跟踪对象

Home:接近对象

*:后视镜

End:远离对象

ESC:取消当前执行的运动或脚本

←:左转

→:右转

↑:上抬

↓:下抬

0:选择此行 星系 的主 恒星

1 ~ 9:选择此行星系的对象(例:2 = 金星 ,4 = 火星 等)

Enter:查找物体。

Ctrl +C / INS:复制 行星 在线信息(URL)

时间

空格:暂停/恢复时间的流动和脚本

J:时间后退/前进

\:实时(速度)

L:改变时间速度:× 10

K:改变时间速度:÷ 10

Shift + L:改变时间速度:× 2

Shift + K:改变时间速度:÷ 2

!:实时(具体时间以系统时间为准)

?:开启光传播延迟

-:忽略光传播延迟

显示标签

E: 星系

Shift + E: 球状星团

B: 恒星

P:行星

Shift + P: 矮行星

M: 卫星

Shift + M: 小卫星

W: 小行星

N: 宇宙飞船

=: 星座

&:位置

显示物体

U:星系

Shift + U:球状星团

^: 星云

Ctrl + A:大气层

I:云

Shift + I:Lua 工具开关(Celestia 不内置 Lua 工具,需要从官网下载安装)

Ctrl + L:夜视图

Ctrl + T:彗尾

Ctrl + E:星月食阴影

Ctrl + B:星座边界

/:星座连线

;:赤道 坐标系

Ctrl + K:标记

O:轨道

观察

{:减少环境光

}:增加环境光

(:减少 星系 的光增益

):增加星系的光增益

[:减少限制级

]:增加限制级

——如果自动 星等 关闭:增加限制级(更少的 恒星 )

——如果自动星等开启:增加在 45° 视场限制级

Ctrl + Y:自动星等开关

,:缩小视野(Shift+ 鼠标左键拖动)

.:扩大视野(Shift+ 鼠标左键拖动)

Ctrl + X:反锯齿

Alt + Enter:切换显示模式(全屏/窗口)

Ctrl + P:标记所选对象

+:切换 行星 纹理(一般/知识界限)

%:切换恒星颜色(光谱型约定颜色/纹理颜色)

Ctrl + S:周期明星风格(模糊点/正常点/缩放点)

V:数据文本(无/简略/详细)

Ctrl + W:切换显示模式(真实/线框)

宇宙 航行

一级方程式锦标赛 :停止

F2:速度设置为 1 km/s

F3:设置速度为 10³ km/s

F4:设置速度为 1 C

F5:速度设置为 10 C

F6:设置速度为 1 AU/s

F7:设置速度为 1 ly/s

A:增加速度

Z:降低速度

Q:扭转方向

X:运动方向设置屏幕的中心

小键盘(须开启 NUM LOCK)

4 = ←

6 = →

8 = ↓

2 = ↑

7 = Home

9 = End

5:停止运动

使用举例

日食 月食

导航(Navigation)> 查找食(Eclipse Finder),设置日/ 月食 、地点(某 行星 )与时间范围,然后选择所列结果的其中一个,点最下面按钮计算日期并前往行星(Set Date and Go to Planet)前往该时间地点。

或直接将时间设置至已知日/月食时间。

如果搜索的是 地球 上的日食,则会看见画面为地球表面出现月球的影子;如果搜索的是地球的月食,则会看到月球被地球影子遮住。

按键盘 L(加速)、K(减速)、J(倒转)调整时间以观察影子动向。

此时如果要看地球上某地的 日食 图像,则:

选择月球或 太阳 :导航 > 选择物体(Select Object),或以鼠标左键点选该物体。

锁定:导航 > 追踪所选物体(Track Selection),或按 T。此时此物固定于画面中央。

选择 地球 ,按 Enter 键入地点名称后再按 Enter,即可选择该地点。

前往该地:导航 > 前往所选物体(Go to Selection),或按 G。可设置距离为 0,或以鼠标滚轮拉近。

此时即看到天空中央有太阳或月球,按 Shift + 左键向上移,即可放大,并调整目标至适当大小。

按键盘 L(加速)、K(减速)、J(倒转)调整时间,观察 日食 过程。

Shift + Ctrl + 鼠标左键可以编辑 行星 (需要提前按 Shift + 2 开启编辑模式)

只是此软件无法模拟日食发生时的天空颜色亮度变化。

插件制作教程

该软件可以进行自制星球的操作,但是需要简单的编程和代码,不能直接在软件界面里制作。做出来的天体或者 天体系统 叫做 插件 ,插件可以让 Celestia 的世界更加精彩。

注意事项:由于软件是由 Linux 编程,而 Linux 系统区分大小写,所以制作时要注意代码关键字大小写问题。

Celestia 支持中文名称的插件文件,但是由于 微软 自带的 notepad 默认将代码保存为 ANSI 模式,所以使用 Notepad 输入中文将会导致 Celestia 无法读取导致插件名显示异常(呈“?”)。如果想要为 插件 赋予中文名称,使用 Notepad++ 即可解决问题。

Celestia 插件安装目录为 Celestia\extras 或者 Celestia\extras-standard。将插件主文件以及贴图放入该目录,重启 Celestia 即可看到效果。

注:教程中“#”字符为可选项,实际上插件项前加上“#”字符可以时该项失效,若想让插件项生效,去掉“#”字符即可。

插件本质为文本文档,所有的代码可以写入文本文档,保存后更改扩展名,就是插件的主文件。

插件 主文件格式示例:

恒星 部分

恒星插件的扩展名为“.stc”(全称 Star Catalog,译名星表),是 Celestia 用来存储恒星与合星 质心 的文件。

单星:

"HD 97401:Plu"(如果在“"”前写数字,表示增加 HIP 编号,如果 HIP 编号已有,则更改该恒星的数据。其中添加“:”可以使得该恒星有多个名字可被搜索)

{

RA 64( 赤经 )

Dec 167( 赤纬 )

注:Celestia 的赤经和赤纬是 维基百科 的小数形式。其中 恒星 的赤经化为小数后,需要 × 15。

Distance 51547(距日距离,单位 ly)

SpectralType "G2V"(光谱型)

注:SpectralType   共有 3 个部分组成,分别为恒星光谱,次型和光度级组成。

“G”表示恒星光谱型,主要分为“O、B、A、F、G、K、M”,还有特殊光谱,为“C、N、R、S( 碳星 )L、T( 褐矮星 )”。

约定颜色:

沃尔夫·拉叶星

WC:蓝色

WN:蓝色

普通 恒星

O:蓝色

B:蓝白色

A:白色

F:黄白色

G:黄色

K: 橙色

M:红色

碳星

C:红色

N:红色

R:红色

S:红色

褐矮星

L: 栗色

T:暗红色

视觉颜色:

沃尔夫-拉叶星

WC:蓝白色

WN:蓝白色

普通恒星

O:蓝白色

B:蓝白色

A:蓝白色

F:青白色

G:白色

K:黄白色

M:橙红色

碳星

C:橘红色

N:橘红色

R:橘红色

S:橘红色

褐矮星

L:深红橙色

T:深红橙色

“2”代表该 恒星 的次型,从 1 ~ 9,数值小的恒星属于该光谱型中的早期恒星,数值大的恒星属于该光谱型中的晚期恒星。早期恒星温度比晚期恒星更高。

“2”后紧随的“V”是恒星光度级 。目前 Celestia 支持的光度级主要有:

特超巨星 :I-a0

亮 超巨星 :I-a

超巨星:I

暗超巨星:I-b

亮巨星:II

暗巨星:III

亚巨星 :IV

矮星 :V

亚矮星 :VI

白矮星 :DA、DB、DQ、DZ

中子星 :Q

黑洞:X

注:超巨星类(I-a0、I-a、I-b)在“I”与“a”和“b”之间是否加“-”随意,对 插件 效果不影响,Celestia 会自动显示。

白矮星、中子星和黑洞的光度级写在次型前,例如“DA2,X”。

“ 天体 ( 恒星 )类别”,又称光谱型。

Texture " gstar. *"(纹理,可有可无,没有可按光谱分别)

注:默认纹理分别为:

Default:astar.*(在恒星光谱型超出范围或未确定时使用该贴图)

O、B:bstar.*

A、F: astar *

G、K: GStar *

M、C、N、R、S: MSTAR *

L、T: brown dwarf.*

WD:astar.*(注:WD 是 白矮星 (White Dwarf)的缩写)

NeutronStar:astar.*

详情请见:Celestia\celestia.cfg(该文件为文本文档类型的配置文件,使用 notepad 即可打开编辑)。

注:其中JPEG 图片扩展名可以缩写为“.*”,但是其他格式不可以。

Abs Mag 4.9( 绝对星等 )

#AppMag 20.89 ( 视星等 )

注:“AbsMag”和“AppMag”只能择一使用。

Radius 635670(半径,单位 km)

#SemiAxes [1 1 1](长、高、宽之比,但完全是球体可省略)

RotationPeriod 3700(自转时间,单位 h)

}

图为 恒星 测试效果

多星:

注:多星的代码比较复杂。下方代码是多 星系 统中的一个子星举例。

Barycenter "Barycenter"(恒星 质心 )

{

RA 100(质心 赤经 )

Dec 24(质心 赤纬 )

Distance 6400(质心距日距离)

}

"Wolf-Rayet Star"

{

OrbitBarycenter "Barycenter"(质心名称)

SpectralType "WN2"(光谱型)

Texture "ostar.*"( 恒星 贴图)

Abs Mag -12.24( 绝对星等 )

#AppMag 16. 64( 视星等 )

注:“AbsMag”和“AppMag”只能择一使用。

Radius 10940640(半径)

EllipticalOrbit(轨道数据)

{

Period 36(环绕周期,单位 yr)

SemiMajorAxis 58(轨道半径,单位 AU)

Eccentricity 0.25(轨道偏心率,0 是正圆,1 是 抛物线 )

Inclination 72.6(轨道倾斜度)

AscendingNode 38.7(升交点经度)

ArgOfPericenter 180(近心点幅角)

}

Obliquity 72.6( 轨道倾角 )

EquatorAscendingNode 38.7(赤道升交点经度)

RotationPeriod 6493700(自转周期,单位 h)。

}

注:在同一质心中可以无限创建 恒星 。

恒星 质心 必须有,这是多星 插件 的基础,否则插件就会失效。

将以上代码保存,并将文本文档扩展名改为“.stc”放进指定目录中(见上文)。在格式完全正确的前提下,重启 Celestia ,搜索该 天体 ,前往后即可看到效果(括弧及括弧内的字符不要输入)   。

行星 部分

行星插件的扩展名为“.ssc”(全称 Solar System Catalog,译名 太阳系 目录),是 Celestia 用来存储 行星系 天体的文件。

(官网 Mod 网站下载的一个例子(对此稍加修改),来自 参宿四 B 星( 红矮星 )的 Zanoni):

"Zanoni(行星名字)" "Betelgeuze B( 恒星 名字)"

#"Moon" "The Test Star/Zanoni"(如果是 卫星 ,格式为:"名称" "母恒星名称/所环绕的 行星 ")

{

Class "planet"( 天体 定义)

注:Celestia 的天体定义主要分为:

行星:planet

卫星:moon

矮行星 :dwarfplanet

小卫星 :minormoon

小行星 :asteroid

彗星 :comet

航天飞机 :spacecraft

Texture "zan oni. *"(行星纹理)

#NightTexture "zanoni-night.*"(夜光贴图,比如城市的灯光、 熔岩 的光、极光或其它)

#BumpMap "zanoni-bump.*"(凹凸贴图,用于加深细节以使其逼真,制作起来相对容易,与法线贴图只能择一使用)

# Bump Height 18.7(凹凸深度)

#NormalMap "zanoni-normal.*"(法线贴图,相对于凹凸贴图效果更好,但是制作方法更难)

#SpecularTexture "terra1-spec.*"(反光贴图,越白反光越强,越黑反光越弱。注:有海洋或冰的 行星 需要使用)

#SpecularColor [ 0.35 0.5 0.55 ](反光的颜色)

注:所有涉及到颜色的项,方括号内部格式统一为:“[ R G B ]”。

#Specular Power 15.0(反光的强度。数值越大越集中,越小越发散)

#Mesh "himalia.3ds"(模型,一般不规则物体会用到)

#OrbitColor [ 0.0 0.0 1.0 ](行星轨道颜色)

注:Celestia 会自动判定轨道颜色,和 恒星 贴图类似,此项可有可无。

#Orientation [ -90 1.0 0.0 ](三轴,用于调整模型角度)

注:所有涉及到三轴的项,方括号内部格式统一为:“[ X Y Z ]”。

Radius 6400(半径)

#SemiAxes [ 6405 6398 6405 ](长、宽、高,单位 km。与恒星 插件 不同,该项与“Radius”只能择一使用)

Oblateness 0.004( 行星 扁率)

Color [ 0.7 0.2 0.64 ](行星远观颜色)

BlendTexture true(让“Color”着色行星贴图)

#HazeColor [ 0.2 0.35 0.54 ](行星表面的雾的颜色,只有在“OpenGL 顶点格式”或“ 英伟达 Combiner”渲染通道(或更高)里才会显示)

#HazeDensity 0.24(雾的浓度)

#Emissive true(让 天体 无阴影)

#Clickable false(让天体禁止被选中)

#Visible false(让天体不可见)

#InfoURL "http://zh.celestia.wikia.com"(链接,可以右键 行星 进入网页查找资料)

EllipticalOrbit(轨道数据)

{

#Epoch 2457000.5( 历元 ,单位儒略日,表示下列轨道参数的参考时刻)

Period 0.655(轨道周期,单位 yr,如果是 卫星 ,单位为 days)

SemiMajorAxis 0.8( 半长轴 ,单位 AU,如果是卫星,单位为 km)

Eccentricity 0.07(轨道偏心率)

Inclination 6.2(轨道倾斜度)

AscendingNode 180(升交点经度)

ArgOfPericenter 100(近心点幅角)

MeanAnomaly 265(平近点角)

#MeanLongitude 265(几何平 黄经 )

注:“MeanAnomaly”和“MeanLongitude”只能择一使用。

#LongOfPericenter 48(近心点经度)

注:“ArgOfPericenter”和“LongOfPericenter”只能择一使用。

}

Atmosphere(大气层数据)

{

Height 96(大气顶端距离表面的高度,单位 km)

#Lower [ 0.65 0.52 0.43 ](低层大气的颜色)

#Upper [ 0.84 0.48 0.26 ](高层大气的颜色)

#Sky [ 0.3 0.3 0.6 ](天空颜色)

#Sunset [ 1.0 0.6 0.2 ](日落的天空颜色)

注:以上四项在“OpenGL 2.0”渲染通道中不显示,可以舍去。

Mie 0.0025(米氏散射)

MieAsymmetry -0.27(背光散射,数值越低背光散射越强)

Rayleigh [ 0.0025 0.001 0.004 ](瑞利散射)

MieScaleHeight 15(米氏大气散射程度)

#Absorption [ 0.0055 0.008 0.002 ](米氏大气 消光 ,这里表示大量吸收红光和绿光,剩下蓝光)

CloudHeight 9.6(云层高度)

CloudSpeed 48(云层速度)

CloudMap "zanoni-clouds.*"(云层贴图)

CloudShadowDepth 1.0(云层阴影)

}

UniformRotation(自转数据,不加则认为 潮汐锁定 )

{

Period 277.22(周期,单位:h)

Inclination 2.9(转轴倾斜角度)

}

Rings (光环数据)

{

Inner 60000(光环内径,单位:km)

Outer 120000(光环外径,单位:km)

Texture "zanoni- rings. *"(光环贴图)

}

Albedo 0.33( 反照率 ,会影响 行星 的亮度和温度)

}

更新行(卫)星属性

Modify "Io" "Sol/Jupiter"(如果是行星则为"Jupiter" "sol")(更新 卫星 ,与编写行(卫)星名称的规则一样)

{

SemiAxes [ 1830 1818.7 1815.3 ](物体的长、高、宽,单位:km,或使用“Radius”)

#CustomRotation "iau-io"(自定义自转,可以删除)

}

将以上代码保存,并将文本文档扩展名改为“.ssc”文件放入软件指定目录中,在格式正确的前提下,重启 Celestia ,搜索该天体,前往后即可看到效果(括弧及括弧内的字符不要输入)。

备注:凡是有关颜色的项颜色数据必须是在 0 ~ 1 之间,因此系统数据需要 ÷ 255 才能得到正确的结果,因为 Celestia 支持的红、绿、蓝色调强度最高值是 1。

深空天体

深空天体 插件 的扩展名为“.dsc”(全称为 Deep Space Catalog,译名深空天体目录),是 Celestia 用来存储深空间天体的文件。

星云 制作如下

Nebula(类型,这里是星云) " M16 "(名称)

{

Mesh "1995-44-a.3ds"(模型)

注:星云插件需要模型文件才能显示。文件后缀为 3ds 或者 cmod(该文件属于 Celestia 特有文件)。

Axis [ 0.205007 -0.737927 -0.642989 ](三轴)

Angle 146.298(角度)

RA 18.31404( 赤经 )

Dec -13.8311( 赤纬 )

Distance 7002(距日距离)

Radius 3.45(半径,单位 ly)

}

球状星团 的制作方法如下

Globular(类型,这里是球状星团)"GBL S5824-12"(球状星团的名称)

{

RA 58.5(赤经)

Dec -70(赤纬)

Distance 50000(距日距离)

Radius 248(半径,单位 ly)

CoreRadius 0.68(核心半径,单位 角分)

KingConcentration 2.44(聚合度)

Abs Mag -10.47( 绝对星等 )

}

疏散 星团 制作如下

OpenCluster "OCS 12"(疏散星团编号)

{

RA 6.3( 赤经 )

Dec -2( 赤纬 )

Distance 37363(距日距离)

Radius 18.7(半径,单位 ly)

}

星系制作如下

Galaxy(类型,这里是 星系 )"SGC 584"(星系编号)

{

Type "E0"(星系类型,E0、E1、E2、E3、E4、E5、E6 是椭圆星系,S0 是 透镜 星系,Sa、Sb、Sc 为 旋涡星系 ,SBa、SBb、SBc 为 棒旋星系 ,Irr 是 不规则星系 )

CustomTemplate "E0.png"(星系模式,有了模式 Celestia 才会显示星系。星系模式以 PNG 图片形式存储在 Celestia\models 文件夹中)

RA 36.5( 赤经 )

Dec -37( 赤纬 )

Distance 3000000 (距日距离)

Radius 525000(半径,单位 ly)

Abs Mag -20.6( 绝对星等 )

Axis [ 0.4372 -0.7548 -0.4891 ](三轴)

Angle 25.65(星系倾角)

}

将以上代码保存,并将扩展名改为“.dsc”放入软件的指定目录中,在格式完全正确的前提下,重启 Celestia ,搜索该天体,前往即可看到效果(括弧及括弧内的字符不要输入)。

所有的 插件 代码都可以精简一部分(例如带有“#”字符的项。只能择一使用的项可以根据需要删除另一个)。

参考资料

  1. 恒星光谱和光度级 图书馆 2019-03-04