https://github.com/voldien/vecfield
Particle simulation in a Vector Field
https://github.com/voldien/vecfield
opencl opengl particle-vector-field particles simulation vector-field visualization
Last synced: 2 months ago
JSON representation
Particle simulation in a Vector Field
- Host: GitHub
- URL: https://github.com/voldien/vecfield
- Owner: voldien
- License: gpl-3.0
- Created: 2017-11-30T10:37:17.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2021-06-10T10:47:15.000Z (over 4 years ago)
- Last Synced: 2025-02-03T18:16:39.159Z (8 months ago)
- Topics: opencl, opengl, particle-vector-field, particles, simulation, vector-field, visualization
- Language: Objective-C
- Homepage: https://www.youtube.com/watch?v=5yF42qM1xuc
- Size: 111 KB
- Stars: 0
- Watchers: 3
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# VecField #
[](https://github.com/voldien/vecfield/actions)
[](https://www.gnu.org/licenses/gpl-3.0)
[](https://github.com/voldien/vecfield/releases)Simple dedicated vector-field particle simulation program that is written in *objective-c* with the *gnustep*. It uses OpenGL for rendering and OpenCL for computing the particle displacement.
The program is not design as a research simulation program. But rather as a visualization program. However, the equations used for solving the particle displacement are based on the physical laws and formulas. Thus, it could be modified in the OpenCL code as such to mimic real particles.## Features ##
* Random VectorField - *Perlin Noise* is for creating random vector fields.
* Small Particle size - Each particle takes 16 bytes ( 8 for position and 8 for velocity).
* Command line options - The settings of the program can be overridden with option arguments.# Motivation #
The main motivation of this project is to create a visualization program for particles in a vector-field in R^2. Where the particles
can be influenced by the mouse/pointer motion.# Examples #
The program can be executed by simply by the following:
```
./vecfield
```# Installation #
The program can be easily be installed by using the following command:
```
mkdir build && cd build
cmake ..
cmake --build .
make install
```
This will compile the program and create the dependencies resources and install the program onto the system.# Dependencies #
In order to compile the program, the following Debian packages are required.
```
apt-get install install ocl-icd-opencl-dev libsdl2-dev gnustep-devel libzip-dev mesa-common-dev opencl-headers libglew-dev libfreeimage-dev
```
The rest of the library dependencies are the OpenCL and OpenGL library provided by the graphic driver.# License #
This project is licensed under the GPL+3 License - see the [LICENSE](LICENSE) file for details.