This repository contains my university semester project for the "Mathematical and Computer Modeling" course during my second year. I'm proud to share that I completed this discipline with the highest possible score.
The course objective was to develop a GUI application capable of mathematically modeling physical processes. We had two options:
- Create a single program modeling a complex physical process
- Develop two separate programs for simpler physical phenomena
Given my limited background in physics and mathematics at the time, I opted for the second approach. This repository contains the first project - a mathematical pendulum simulation. The second project involved modeling light ray passage through a thin lens (unfortunately, I've lost the source files, though the project report remains).
I selected QT framework for several compelling reasons:
-
Standing Out: Among approximately 120 students, only a handful ventured beyond Python (which most used with obscure libraries, likely GPT-generated). Just two used JavaScript, one used Unity with .NET, and another used .NET with a graphics framework. Nobody used C or C++. Given that many local companies extensively use QT, this choice helped me stand out to our professor.
-
Personal Preference: I genuinely enjoy working with QT.
-
Existing Expertise: At the time, I already had C++ and QT experience, which gave me clear direction on implementation strategies and component selection.
Implementation:
- Used QT3D for visualization
- Employed Qt Quick with QML for the interface
- Created 3D models in Blender and exported them as mesh files
UI Showcase:
Features:
Implementation:
- Used widgets with Graphics View Framework
UI Showcase:
Interactive Features:
- Intuitive object manipulation via mouse

- Dynamic focus adjustment

- Lens type switching through object clicks

- Precise parameter control via side panel

- Camera navigation using touchpad

This project is available under the MIT License.




