https://github.com/chop1k/pendulum
Mathematical pendulum modeling
https://github.com/chop1k/pendulum
cpp math modeling qt university
Last synced: 3 months ago
JSON representation
Mathematical pendulum modeling
- Host: GitHub
- URL: https://github.com/chop1k/pendulum
- Owner: chop1k
- License: mit
- Created: 2025-06-07T14:50:53.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2025-06-07T14:57:13.000Z (about 1 year ago)
- Last Synced: 2025-06-15T03:13:53.208Z (about 1 year ago)
- Topics: cpp, math, modeling, qt, university
- Language: QML
- Homepage:
- Size: 1.17 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Pendulum Simulation Project
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.
## Project Overview
### Goal
The course objective was to develop a GUI application capable of mathematically modeling physical processes. We had two options:
1. Create a single program modeling a complex physical process
2. 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).
### Technology Choices
I selected QT framework for several compelling reasons:
1. **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.
2. **Personal Preference**: I genuinely enjoy working with QT.
3. **Existing Expertise**: At the time, I already had C++ and QT experience, which gave me clear direction on implementation strategies and component selection.
## Project Details
### First Project: Mathematical Pendulum
**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**:
- Scene configuration options

- Robust parameter validation

- Real-time simulation

### Second Project: Optical Lens Simulation
**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

## License
This project is available under the MIT License.