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 + 左键:改变视野
滚轮点击:切换视野
左键点击:选择对象
左键双击:置中对象
右键点击:打开菜单
键盘
导航
C:置中所选对象(Center)
G:前往并跟随(Goto)
F:跟随对象(Follow)
Y:同步轨道对象
::锁定对象
":追逐对
T:跟踪对象
Home:接近对象
*:后视镜
End:远离对象
ESC:取消当前执行的运动或脚本
←:左转
→:右转
↑:上抬
↓:下抬
1 ~ 9:选择此行星系的对象(例:2 =
金星,4 =
火星等)
Enter:查找物体。
Ctrl +C / INS:复制
行星在线信息(URL)
时间
空格:暂停/恢复时间的流动和脚本
J:时间后退/前进
\:实时(速度)
L:改变时间速度:× 10
K:改变时间速度:÷ 10
Shift + L:改变时间速度:× 2
Shift + K:改变时间速度:÷ 2
!:实时(具体时间以系统时间为准)
?:开启光传播延迟
-:忽略光传播延迟
显示标签
P:行星
\u0026:位置
显示物体
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)\u003e 查找食(Eclipse Finder),设置日/月食、地点(某
行星)与时间范围,然后选择所列结果的其中一个,点最下面按钮计算日期并前往行星(Set Date and Go to Planet)前往该时间地点。
或直接将时间设置至已知日/月食时间。
如果搜索的是
地球上的日食,则会看见画面为地球表面出现月球的影子;如果搜索的是地球的月食,则会看到月球被地球影子遮住。
按键盘 L(加速)、K(减速)、J(倒转)调整时间以观察影子动向。
选择月球或
太阳:导航 \u003e 选择物体(Select Object),或以鼠标左键点选该物体。
锁定:导航 \u003e 追踪所选物体(Track Selection),或按 T。此时此物固定于画面中央。
选择
地球,按 Enter 键入地点名称后再按 Enter,即可选择该地点。
前往该地:导航 \u003e 前往所选物体(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 编号已有,则更改该恒星的数据。其中添加“:”可以使得该恒星有多个名字可被搜索)
{
注: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:黄色
M:红色
碳星
C:红色
N:红色
R:红色
S:红色
褐矮星
T:暗红色
视觉颜色:
沃尔夫-拉叶星
WC:蓝白色
WN:蓝白色
普通恒星
O:蓝白色
B:蓝白色
A:蓝白色
F:青白色
G:白色
K:黄白色
M:橙红色
碳星
C:橘红色
N:橘红色
R:橘红色
S:橘红色
L:深红橙色
T:深红橙色
“2”代表该
恒星的次型,从 1 ~ 9,数值小的恒星属于该光谱型中的早期恒星,数值大的恒星属于该光谱型中的晚期恒星。早期恒星温度比晚期恒星更高。
“2”后紧随的“V”是恒星光度级。目前 Celestia 支持的光度级主要有:
超巨星:I
暗超巨星:I-b
亮巨星:II
暗巨星:III
黑洞:X
注:超巨星类(I-a0、I-a、I-b)在“I”与“a”和“b”之间是否加“-”随意,对
插件效果不影响,Celestia 会自动显示。
白矮星、中子星和黑洞的光度级写在次型前,例如“DA2,X”。
Texture "gstar.*"(纹理,可有可无,没有可按光谱分别)
注:默认纹理分别为:
Default:astar.*(在恒星光谱型超出范围或未确定时使用该贴图)
O、B:bstar.*
L、T:browndwarf.*
WD:astar.*(注:WD 是
白矮星(White Dwarf)的缩写)
NeutronStar:astar.*
详情请见:Celestia\celestia.cfg(该文件为文本文档类型的配置文件,使用
notepad 即可打开编辑)。
注:其中JPEG 图片扩展名可以缩写为“.*”,但是其他格式不可以。
注:“AbsMag”和“AppMag”只能择一使用。
Radius 635670(半径,单位 km)
#SemiAxes [1 1 1](长、高、宽之比,但完全是球体可省略)
RotationPeriod 3700(自转时间,单位 h)
}
多星:
注:多星的代码比较复杂。下方代码是多
星系统中的一个子星举例。
Barycenter "Barycenter"(恒星
质心)
{
Distance 6400(质心距日距离)
}
"Wolf-Rayet Star"
{
OrbitBarycenter "Barycenter"(质心名称)
SpectralType "WN2"(光谱型)
注:“AbsMag”和“AppMag”只能择一使用。
Radius 10940640(半径)
EllipticalOrbit(轨道数据)
{
Period 36(环绕周期,单位 yr)
SemiMajorAxis 58(轨道半径,单位 AU)
Eccentricity 0.25(轨道偏心率,0 是正圆,1 是
抛物线)
Inclination 72.6(轨道倾斜度)
AscendingNode 38.7(升交点经度)
ArgOfPericenter 180(近心点幅角)
}
EquatorAscendingNode 38.7(赤道升交点经度)
RotationPeriod 6493700(自转周期,单位 h)。
}
恒星
质心必须有,这是多星
插件的基础,否则插件就会失效。
将以上代码保存,并将文本文档扩展名改为“.stc”放进指定目录中(见上文)。在格式完全正确的前提下,重启 Celestia ,搜索该
天体,前往后即可看到效果(括弧及括弧内的字符不要输入) 。
行星插件的扩展名为“.ssc”(全称 Solar System Catalog,译名
太阳系目录),是 Celestia 用来存储
行星系天体的文件。
(官网 Mod 网站下载的一个例子(对此稍加修改),来自
参宿四 B 星(
红矮星)的 Zanoni):
"Zanoni(行星名字)" "Betelgeuze B(
恒星名字)"
#"Moon" "The Test Star/Zanoni"(如果是
卫星,格式为:"名称" "母恒星名称/所环绕的
行星")
{
注:Celestia 的天体定义主要分为:
行星:planet
卫星:moon
Texture "zanoni.*"(行星纹理)
#NightTexture "zanoni-night.*"(夜光贴图,比如城市的灯光、
熔岩的光、极光或其它)
#BumpMap "zanoni-bump.*"(凹凸贴图,用于加深细节以使其逼真,制作起来相对容易,与法线贴图只能择一使用)
#BumpHeight 18.7(凹凸深度)
#NormalMap "zanoni-normal.*"(法线贴图,相对于凹凸贴图效果更好,但是制作方法更难)
#SpecularTexture "terra1-spec.*"(反光贴图,越白反光越强,越黑反光越弱。注:有海洋或冰的
行星需要使用)
#SpecularColor [ 0.35 0.5 0.55 ](反光的颜色)
注:所有涉及到颜色的项,方括号内部格式统一为:“[ R G B ]”。
#SpecularPower 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”只能择一使用)
Color [ 0.7 0.2 0.64 ](行星远观颜色)
BlendTexture true(让“Color”着色行星贴图)
#HazeColor [ 0.2 0.35 0.54 ](行星表面的雾的颜色,只有在“OpenGL 顶点格式”或“
英伟达 Combiner”渲染通道(或更高)里才会显示)
#HazeDensity 0.24(雾的浓度)
#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(角度)
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(聚合度)
}
疏散星团制作如下
OpenCluster "OCS 12"(疏散星团编号)
{
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 文件夹中)
Distance 3000000 (距日距离)
Radius 525000(半径,单位 ly)
Axis [ 0.4372 -0.7548 -0.4891 ](三轴)
Angle 25.65(星系倾角)
}
将以上代码保存,并将扩展名改为“.dsc”放入软件的指定目录中,在格式完全正确的前提下,重启 Celestia ,搜索该天体,前往即可看到效果(括弧及括弧内的字符不要输入)。
所有的
插件代码都可以精简一部分(例如带有“#”字符的项。只能择一使用的项可以根据需要删除另一个)。