Celestia/参考系
参考系是用于定义天体轨迹和方向的坐标系的原点和坐标轴集。原点是目录文件中定义的其他天体。有很多方法可以设置坐标系轴。
用于定义天体轨迹和方向的参考系不需要相同。这在某些情况下很有用。例如,卫星的轨道可以用地心赤道坐标系给出,而姿态可以用当地垂直-当地水平坐标系给出。
所有参考系关键字都需要 Celestia 1.5。 它们会被早期版本忽略。
设置轨迹的参考系
默认值:对于以恒星为父天体的星体,轨道的默认参考系以恒星为中心。基本面是 J2000 地球黄道,首选方向(x 轴)是 J2000 春分点。对于所有其他天体,默认参考系是父天体的赤道系。
用法
OrbitFrame <reference frame>
设置方向的参考系
默认值:对于以恒星为父天体的星体,方向的默认参考系是 J2000 黄道和春分点。对于所有其他天体,默认参考系是父天体的赤道系(这反过来可能默认为 J2000 黄道,依此类推)。
用法
BodyFrame <reference frame>
参考系是一个列表,包含一个属性,该属性是特定参考系类型之一。
用法
{
<J2000 ecliptic frame> |
<J2000 equator frame> |
<body mean equator frame> |
<body-fixed frame> |
<two-vector frame>
}
EclipticJ2000 是一个参考系,其基本面是 J2000 历元的地球黄道。x 轴指向 J2000 春分点,z 轴垂直于黄道指向北,y 轴完成右手系。
用法
EclipticJ2000
{
Center <object name>
}
EquatorJ2000 是一个参考系,其基本面是 J2000 历元的地球赤道。x 轴指向 J2000 春分点,z 轴是平均北极,y 轴完成右手系。
用法
EquatorJ2000
{
Center <object name>
}
MeanEquator 定义了一个参考系,其中天体的当天赤道是 xy 平面。z 轴垂直于 xy 平面,指向天体逆时针旋转的方向。x 轴是赤道平面在 J2000 黄道平面上的升交点。
用法
MeanEquator
{
Center <object name>
Object <object name>
Freeze <date>
}
属性
- Object: 基本面是该天体的赤道平面
- Freeze: 如果设置,则使用冻结历元的赤道,而不是当天赤道
BodyFixed 参考系与指定天体一起旋转。
用法
BodyFixed
{
Center <object name>
}
用法
TwoVector
{
Center <object name>
Primary <axis>
Secondary <axis>
}
轴对象是一个列表,包含一个方向属性和一个轴标签。
用法
{
Axis "x" | "y" | "z" | "-x" | "-y" | "-z"
<RelativePosition> | <RelativeVelocity> | <ConstantVector>
}
用法
RelativePosition
{
Observer <object name>
Target <object name>
}
默认观察者对象是坐标系中心。目标对象没有默认值,必须始终指定。
用法
RelativeVelocity
{
Observer <object name>
Target <object name>
}
默认观察者对象是坐标系中心。目标对象没有默认值,必须始终指定。
用法
ConstantVector
{
Vector <vector>
Frame <reference frame>
}
示例
地球的北极旋转轴
ConstantVector
{
Vector [ 0 0 1 ]
Frame {
EquatorJ2000 { Center "Sol/Earth" }
}
}
OrbitFrame {
EquatorJ2000 { Center "Sol" }
}
该参考系基于 SPICE Frames Required Reading 文档中的一个示例。原点是地球,xy 平面是地球的轨道平面,x 轴指向从地球到太阳的方向。
OrbitFrame {
TwoVector {
Center "Sol/Earth"
Primary {
Axis "x"
RelativePosition { Target "Sol" }
}
Secondary {
Axis "y"
RelativeVelocity { Target "Sol" }
}
}
}
该参考系用于一个名为“Test”的绕太阳运行的天体,其 z 轴指向太阳,x 轴指向运动方向。在该参考系中具有固定方向的天体始终保持相同的一面朝向太阳。
BodyFrame {
TwoVector {
Center "Sol/Test"
Primary {
Axis "z"
RelativePosition { Target "Sol" }
}
Secondary {
Axis "x"
RelativeVelocity { Target "Sol" }
}
}
}
JPL 太阳系动力学页面https://ssd.jpl.nasa.gov/?sat_elem 提供了使用各种参考系计算的行星卫星平均轨道参数。将这些参数输入到solarsys.ssc可能会很困难。
- 当给出平均黄道元素(对于“物体”的卫星)时
EllipticalOrbit {
...
}
OrbitFrame { EclipticJ2000 {
Center "object"
} }
- 当元素以主星赤道为参考时
EllipticalOrbit {
...
}
OrbitFrame { BodyMeanEquator {
Center "object"
Object "object"
[Freeze <date>]
} }
- 当元素以 ICRF 为参考时(非常接近地球赤道系)
EllipticalOrbit {
...
}
OrbitFrame { EquatorJ2000 {
Center "object"
} }
- 当元素以局部拉普拉斯平面为参考时
这是最坏的情况。每个卫星的拉普拉斯平面由其极地赤经和赤纬(在赤道 J2000 系中)定义;这定义了局部拉普拉斯平面的升交点经度(90° 加上极地赤经)和倾角(余赤纬,即 90° 减去赤纬)。
EllipticalOrbit {
...
}
OrbitFrame { TwoVector {
Center "object"
Primary { Axis "x"
ConstantVector { Vector [<Laplace plane ascending node>] Frame { EquatorJ2000 { Center "object" } } }
}
Secondary { Axis "z"
ConstantVector { Vector [<Laplace plane pole>] Frame { EquatorJ2000 { Center "object" } } }
}
} }
| 本节是一个存根。 您可以通过 扩展它 来帮助华夏公益教科书。 |
以下是如何定义相对于地球的位置和方向的示例。然后,可以在放置多个模型时参考此定义,而不是为每个模型复制相同的定义:只需在一个位置修改位置修正,而不是多个位置。
请注意,此示例中包含的一些声明可以省略,因为它们的默认值将适当地放置物体。
"Hale_position" "Sol/Earth"
{
Class "invisible"
Radius 0.0001
# Place the Hale Telescope on the peak of Mount Palomar
OrbitFrame { BodyFixed { Center "Sol/Earth" }}
FixedPosition [ -2407.99 -4753.86 3507.91 ]
# Orient it appropriately with respect to the surface
BodyFrame { BodyFixed { Center "Sol/Earth" }}
FixedRotation { MeridianAngle -116.86 AscendingNode 90 }
}
"Hale_model" "Sol/Earth/Hale_position"
{
Mesh "telescope.3ds"
Radius 0.3
OrbitFrame { BodyFixed { Center "Sol/Earth/Hale_position" }}
FixedPosition [ 0 0 0 ]
BodyFrame { BodyFixed { Center "Sol/Earth/Hale_position" }}
FixedRotation { }
Albedo 0.1
}
"Dome_model" "Sol/Earth/Hale_position"
{
Mesh "dome.3ds"
Radius 0.3
OrbitFrame { BodyFixed { Center "Sol/Earth/Hale_position" }}
FixedPosition [ 0 0 0 ]
BodyFrame { BodyFixed { Center "Sol/Earth/Hale_position" }}
FixedRotation { }
Albedo 0.1
}
- http://www.gps.caltech.edu/~marsdata/req/frames.html - SPICE 必备阅读文档:参考系