Lorenz Attractor simulation in C++ with OpenGL.
Report Bug
·
Request Feature
Table of Contents
The software is an implementation of the lorenz system simulation using C++ and OpenGL 4.5 using volume rendering technique to visualize the output data for the solution of the set of differential equations.
In general the system is a simplified model of atmospheric convection developed by Edward Lorenz with the help of Ellen Fetter and Margaret Hamilton, this model is a set of 3 ODEs (Ordinary Differential Equations) known as the Lorenz Equations
The model:
The model is concerned with the properties of a two-dimensional layer of fluid being heated uniformly from below while being cooled uniformly from above.
- The project uses CMake for its build, so make sure you have it installed and working properly on your machine.
- This project uses OpenGL API 4.5, so make sure your video card supports this version.
- If you are using a windows machine, I recommend to have installed VisualStudio to facilitate the build.
- Clone the repository recursively.
git clone https://github.com/JoaoMario109/lorenz-attractor.git --recursive
- Create a build directory after change to the new created build directory and generate the project build files.
mkdir build cd build cmake ..
- Build the project
3.1. In linux use make to build
3.2. In windows just open the .sln file generated with VisualStudio and after that build the project.
make
To launch the software just execute the generated executable in the build directory.
All contributions are welcome to the project.
When contributing to the project, make sure to ident your code using tabs with size 4, also make sure to take a better look in the conventions used in the code and try to follow it, this helps keep the code uniform, easy to understand.
Also remember the branch structures of the project
- master -> This branch only contains releases that are approved to deployment
- develop -> This branch only contains complete implemented and working features, all code submitted to these branch should compile without any compiler error.
- {developer-short-name}/{feature-description} -> Any code in development or feature improvement.
- Get the last develop and use as base for your branch
- Create your branch (
git checkout -b {developer-short-name}/{feature-description}
) - Make your changes to the code
- Add only needed changes to staged
- Commit your changes with good titled and description messages (
git commit
) - Push to the branch (
git push origin {developer-short-name}/{feature-description}
) - Open a PullRequest to develop
- Await reveal and approval to rebase and merge
Distributed under the MIT License. See LICENSE.txt
for more information.
João Mário Carnieletto Izoton Lago - Joao Mario
Project Link: https://github.com/JoaoMario109/lorenz-attractor