Lihua design orchestration simulation system is mainly based on MFC and OpenGL, and uses linked lists to implement a hierarchical particle system. The first time we designed and implemented a complete software system, we gained a lot. Of course, now I look back at this system and find that this system architecture is so poorly designed.
I. Requirement Analysis
1. Identify the fireworks discharge process.
2. Analyze the particle motion rule. Understanding the parameters in the discharge process helps to simulate more realistically, such as the initial explosion speed.
3. Analyze the physical model. For example, the establishment of wind field simulation.
4. Structural Analysis of Lihua.
5. Save the file.
6. Design and orchestration.
7. Rendering output.
Ii. Design implementation
1. Particle System.
2. Window framework.
3. core API interfaces.
Iii. Summary
1. OpenGL implementation class operations should be decoupled from specific windows.
2. Hierarchical particle system, detailed analysis of specific problems.
3. The interface encapsulation should be well designed for Dynamic Linked List operations.
4. Use flat maps to simulate a penalty.
5. Using mathematical differential equation analysis, we have achieved a simple simulation of the wind field effect without collision detection, and we feel that we need to implement a physical engine.
6. The source and practice of the design pattern can only recognize the value of good experience in the design pattern.
7. Based on the timeline or event stream, the timeline is easy to implement and the event stream is more accurate to this type of playback requirement.
8. the dazzling flash effect, the impact on the surrounding environment during the explosion, and other effects were not implemented. No good solutions were found.
9. Breaking down different gift flowers into core flowers. I think it is good.
Iv. insights
I would like to thank Mr. Wang and Mr. Yang for their guidance, breadth and depth of knowledge, and years of experience.
-By a farmer-