礼花设计编排仿真模拟系统主要基于MFC和OpenGL,利用链表实现了一个分层次的粒子系统。第一次设计实现一个完整的软件系统,收获很多。当然,现在回头看这个系统,发现这个系统架构设计的如此糟糕。
一、需求分析
1、要明确礼花燃放过程。
2、分析粒子运动规律。弄清燃放过程中的参数有助于更真实的模拟,比如爆炸初速度等。
3、分析物理模型。比如风场模拟的建立等。
4、礼花构造剖析。
5、文件保存。
6、设计、编排。
7、渲染输出。
二、设计实现
1、粒子系统。
2、窗口框架。
3、核心api接口。
三、总结
1、OpenGL的实现类操作,应与具体窗口解耦。
2、分层次的粒子系统,具体问题具体分析。
3、动态链表操作,接口封装要设计好。
4、用平面贴图来模拟点球。
5、用数学微分方程分析,实现了风场效果的简单模拟,未实现碰撞检测,感觉需要实现一个物理引擎才好。
6、设计模式来源与实践,实践中才认识到好的设计模式经验的价值。
7、基于时间轴或者事件流,对于这种播放类需求,感觉时间轴实现简单,事件流更精确。
8、耀眼的闪光效果,爆炸时对周围环境的影响等效果,没有实现,没找到好的解决方案。
9、将不同礼花花形分解成一个个核心花形,个人认为很不错。
四、感悟
感谢王老师、杨老师的指导,知识广度和深度、多年经验积累,令人敬佩。
- by 一个农夫 -