跳转到内容

Celestia/目录文件参考

来自维基教科书,开放世界中的开放书籍

目录文件类型

[编辑 | 编辑源代码]

Celestia 的宇宙包含三类主要天体

每个天体都由不同类型的目录文件定义。 太阳系目录(.ssc)文件 包含太阳系天体的定义; .dsc 文件 包含深空天体的定义;恒星可以在 .stc 文件stars.dat 中定义,后者为二进制格式。使用二进制恒星格式是因为 Celestia 的宇宙包含的恒星数量远超深空天体或太阳系天体,因此使用紧凑且快速加载的格式非常重要。

目录文件通用语法

[编辑 | 编辑源代码]

除了二进制 .DAT 恒星目录外,所有其他目录都是文本文件,包含以类似格式排列的天体定义列表。每个定义都包含一个名称,后跟一个属性列表。属性列表是由大括号分组的一组名称-值对。以下是比邻星的属性列表

{
   RA 217.429167
   Dec -62.679444
   Distance 4.225
   SpectralType "M5.5V"
   AppMag 11.09
}

属性名称与天体类型相关。属性值有相应的类型。在上面的例子中,除了 SpectralType 为字符串外,所有属性都是数字。Celestia 目录文件可以包含注释 - 从井号 (#) 到行尾的任何文本都将被忽略。

数字值

[编辑 | 编辑源代码]

Celestia 目录文件中的数字是一个标量实数值。非常大或非常小的值可以使用类似 C 语言的指数形式编写,例如 1.2e-3 代替 .0012。有效数字值的示例

1234
3.14159265
1.234e10
0.1025
-2.24

.1025  (Celestia v1.5.0 or later)
+2.24  (Celestia v1.5.0 or later)


注意:Celestia v1.4.1 及更早版本存在两个限制,在 v1.5.0 中已修复。在 Celestia v1.4.1 及更早版本中,所有数字必须以数字字符或减号开头。不应该使用前导小数点或前导加号。也就是说,小于 1 的值必须包含前导 0:0.5 可以,但 .5 不行。另外,会自动假设前导 +。提供前导 + 会导致错误。

字符串值

[编辑 | 编辑源代码]

字符串是由双引号括起来的任意长度的字符序列。它们可以跨越多行,但字符串内的任何换行符都将被逐字解释。一些特殊字符可以用反斜杠开头的转义序列表示。

\"
双引号字符
\n
换行符
\\
反斜杠
\uxxxx
Unicode 字符,其中 xxxx 是由四个十六进制数字组成的序列

向量值

[编辑 | 编辑源代码]

Celestia 目录文件中的向量是由方括号括起来的三个实数值列表。向量示例

[ 0 +1 0 ]
[ 1.2 -3.4 5 ]
[ 1.0e3 2.2 63 ]

属性列表值

[编辑 | 编辑源代码]

列表中的一些属性具有复杂的值,这些值本身就是属性列表。与顶层属性列表一样,这些属性列表也只是一个由大括号括起来的一组名称-值对。以下是如何在太阳系目录(.ssc)文件中设置名为 UniformRotation 的属性的值

UniformRotation
{
   Period 24.0
   Inclination 23.5
}

(这只是一个示例,用于显示格式。UniformRotation 指令在 Celestia v1.4.1 及更早版本中不受支持。它需要 Celestia v1.5.0。)

日期值

[编辑 | 编辑源代码]

日期值可以写成数字字符串数字将被解释为儒略日数。日期字符串包含公历的年份、月份和日期。它们可以选择包含 hh:mm:ss 格式的时间。时间使用 24 小时制。负年份值用作公元前或 BCE 的替代;如果您想要公元前 1 年的日期,您应该将年份设置为零。(这是天文学惯例,与大多数日历中使用的基督教惯例不同。基督教日历没有编号为 0 的年份。)

带有解释性注释的日期值示例

2451545.0              # J2000 - noon January 1, 2000
2453023.1232
"2006 11 8"            # midnight November 8, 2006
"1984 12 25 1:30:00"   # 1:30am December 25, 1985
"-4 8 23 10:00:00"     # 10:00am August 23, 5 B.C.
"2130 4 1 22:10:34.15" # 22:10:34.15 April 1, 2130

从 Celestia v1.5.0 开始,所有目录时间都使用 TDB(质心动力学时)时间尺度指定。但是,屏幕上的时间显示为 UTC。TDB 与 UTC(协调世界时)相差 32.184 秒,加上一些整数秒的闰秒。截至 2006 年,TDB 比 UTC 快 65.184 秒。有关更多信息,请参见关于时间尺度的页面。

华夏公益教科书