太阳系系统 code.google/p/msq-summer-project
DESCRIPTION
太阳系系统 http://code.google.com/p/msq-summer-project/. 软件学院 5090379171 马仕青. 基本功能. 基本要求(难度值 =3 ) 模拟日全食过程。 日全食观察模型(从地球角度观察太阳和月亮)。 日 / 月全食在整体中的观察。 模拟太阳系,仅有太阳、八大行星和月亮。 观察中心控制、轨道控制(消失和强调)、球体控制。 需要使用 3D 技术。 OpenGL 选择适合的角度(可能需要多视角)和观察视野。 鼠标操作和键盘操作。 球体模型和正方体模型。 结合球体隐藏实现从星球观察宇宙。. 进阶功能. - PowerPoint PPT PresentationTRANSCRIPT
太阳系系统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• 与陈雨鸥同学互相测试(部分)• 暑假自测和同学帮助测试
• 结果分析:• 无功能性等缺失• 非功能性基本达到了预定的目标
谢 谢!