90 likes | 362 Views
太阳系系统 http://code.google.com/p/msq-summer-project/. 软件学院 5090379171 马仕青. 基本功能. 基本要求(难度值 =3 ) 模拟日全食过程。 日全食观察模型(从地球角度观察太阳和月亮)。 日 / 月全食在整体中的观察。 模拟太阳系,仅有太阳、八大行星和月亮。 观察中心控制、轨道控制(消失和强调)、球体控制。 需要使用 3D 技术。 OpenGL 选择适合的角度(可能需要多视角)和观察视野。 鼠标操作和键盘操作。 球体模型和正方体模型。 结合球体隐藏实现从星球观察宇宙。. 进阶功能.
E N D
太阳系系统http://code.google.com/p/msq-summer-project/ 软件学院 5090379171 马仕青
基本功能 • 基本要求(难度值=3) • 模拟日全食过程。 • 日全食观察模型(从地球角度观察太阳和月亮)。 • 日/月全食在整体中的观察。 • 模拟太阳系,仅有太阳、八大行星和月亮。 • 观察中心控制、轨道控制(消失和强调)、球体控制。 • 需要使用3D 技术。 • OpenGL • 选择适合的角度(可能需要多视角)和观察视野。 • 鼠标操作和键盘操作。 • 球体模型和正方体模型。 • 结合球体隐藏实现从星球观察宇宙。
进阶功能 • 进阶要求(难度值=2) • 模拟行星连珠过程。 • 自定义的“行星连珠”概念。 • 主模型中的提示。
其他 • 真实重现 • 太阳、小行星带等除外。 • 轨道数据:格里历、梅西叶星表、NASA对照。 • 时间-显示同步 • 时间的观察、设置、选择。
工作量 • MFC + OpenGL (原型,抛弃) • Qt + OpenGL (Windows最终版) • 共计:4877Lines • 模块和规模: • 绘图控制逻辑 • 界面元素交互 • 测试
架构设计和算法 • 设计和分析: • 一个Window,两个Widget-Class • 通过Bool变量控制计算量和转化 • 控制(Widget)和内容(Class)的分离 • 读取数据 • 数据和显示的分离 • 时间-轨道的精确性(混沌数学) • 实现和时间的真实同步(多个历史数据对照,人工调整) • 计算效率 • 跨平台 • 一般的OpenGL框架
架构设计和算法 • 算法 • 基础: • 物理规律 • 数学公式 • 椭圆轨道的误差矫正 • 原因:混沌数学,不可预测 • CIT的NASA的喷气推进实验室(JPL)
测试工作 • 简介: • 工具:白盒测试使用QTest • 与陈雨鸥同学互相测试(部分) • 暑假自测和同学帮助测试 • 结果分析: • 无功能性等缺失 • 非功能性基本达到了预定的目标