可视化
画布是右侧的 Three.js 3D 视图(会合系,质心归一化坐标),展示计算结果与 轨道库轨迹。
双层模型
画布内容分两层(CONTEXT.md 领域语义):
结果层:最近一次计算或查看的产物,新内容到达时整体替换;
固定层:从项目树钉住(图钉)的库记录,持续与结果层同屏显示,直到 手动取消;软上限 5 条,超出提示但不拦截。
固定层轨迹经 catalog_get 懒加载取成员数据;两层共用时间轴与取景。
交互
左键拖拽:旋转视角;滚轮:缩放;右键拖拽:平移。
适配(画布工具栏):按当前轨迹的包围盒重设相机,按包围盒对角线长度留 5% 余量。
视图保持:首次数据到达时自动适配一次;此后增删轨迹不重置相机, 手动旋转缩放的视角不被打扰(CONTEXT.md 领域语义)。
投影与中心(画布工具栏):投影在 3D 与 XY / XZ / YZ 三视图间切换; 中心在地月质心、地心、月心与 L1 / L2 平动点间切换。
时间轴
画布下方的时间轴在有时刻数据时可用:拖动滑杆或点播放,画布上的时刻 标记沿轨迹插值移动,读数以自起点的偏移天数(T + N 天)表示。时刻来源: 周期轨道按周期均匀合成;星历类结果用响应自带的 epochs;无时刻信息的 点集时间轴保持禁用。轨迹位置按「et 秒 / 历元 UTC」两级时刻基准解析, 物理单位(km)数据如实入画不换算。
转移设计结果在时间轴上标注机动事件:出发/到达脉冲以 chip 显示 (带 Δv 数值),点击 chip 跳到对应时刻。
天体、标注与配色
天体:地球与月球使用 NASA 公有领域贴图(Blue Marble / LROC), 半径取真实比例,Phong 光照产生晨昏线,夜面留环境光可辨; 天体大小可在图表设置调整。
平动点:L1 / L2 以球体与文字标注固定绘制。
Jacobi 着色:携带 Jacobi 常数的轨迹按当前画布内取值范围归一后以 coolwarm 色带着色,画布角显示颜色条与数值范围;无值轨迹回退颜色循环 (seaborn muted 低饱和配色)。
图例:固定层记录与命名轨迹进图例,色样如实反映线的实际颜色;每条 图例项附数据系标注(会合系无量纲 / 会合系物理 km / 地心惯性 km), 标明数据固有的坐标系——与用户显示选择的视图系(投影/中心切换)是两回事。
参照图层
两组可开关的参照几何(图表设置控制,均不参与取景适配):
坐标轴与网格(matplotlib 式参照系):XYZ 三轴箭头与轴名标注,轨道面 网格带 0.5 DU 刻度数字;量程(网格半宽)0.5–3.0 DU 可调。
地月空间分区图层:e2m2e
spatiography_boundaries工具(Rosengren et al. 2026 Primer §5 五省分区)返回的边界几何——地心 Laplace 半径、 地球/月球 SOI 与 Hill 圆族、Battin 非对称闭合曲线、Chebotarev 圆与 L3–L5 平动点标记,经 km→DU 归一后作为固定参照层显示。边界几何全部由 e2m2e 离散化给出,界面只做单位归一。
图表设置
画布工具栏的图表设置打开设置面板,即时生效并持久化(localStorage),可一键 恢复默认:
轨道线宽与颜色循环;
地球 / 月球 / 平动点标注大小、平动点颜色、标注字号;
Z 轴比例(近平面轨道防压扁);
坐标轴与分区图层开关、网格量程;
画布背景色(跟随主题 / 白 / 深灰 / 黑),网格与标注颜色随背景亮度自适应。
导出动画
画布工具栏的导出动画录制 8 秒画布自转(30 fps),经浏览器 MediaRecorder 编码
为 orbit-animation.webm 下载;不依赖外部编码器。录制期间按钮显示进度态,
结束后自动停止自转。
视觉语言
界面遵循严肃语义色板(ADR 0020):全局 2px 直角;用色限定黑/白/灰/红/蓝/绿/橙七种色相——红=错误、绿=成功、橙=警告、蓝=主色/信息,中性色沿用 antd 灰阶,主色为收敛深蓝。画布内轨迹配色仍按上文规则自动分配(Jacobi 着色优先,颜色循环兜底)。