GithubHelp home page GithubHelp logo

earn9 / atomicclustersexplorer Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ciphrd/atomicclustersexplorer

0.0 0.0 0.0 9.26 MB

A Processing project to explore the atomic clusters system

Processing 100.00%

atomicclustersexplorer's Introduction

Atomic Clusters explorer [Processing]

This project was released under the MIT License

Atomic Clusters is a particle-based simulation inspired by the work Clusters from Jeffrey Ventrella. I wrote an article to describe both the system and its implementation on my blog. Feel free to check it out if you want an insight on this system.

Atomic Clusters explorer demo

This simulation is an attraction-repulsion system, where particles can have [0; 4] attractors. Attractors of the same color are attracted, and repelled by attractors of some different colors. These forces generates torque on the particles, creating the angular rotation we can observe.

This tool was made to explore Atomic Clusters with more precision than just throwing random particles all arround. It is still under development and the code is not 100% clean. Like the UI architecture is garbage, but it was enough for this first version. There is also a lot of room for optimisation, especially when it comes to the particles interactions. This is my first project using Processing so if you want to improve this tool feel free to contribute. I made a quick video to explain how the tool works:

Link to the presentation of the tool

How to run

  • Download Processing and install it
  • Clone this repo
  • Open the sketch_atomic_clusters_explorer.pde file with Processing
  • Run

How to use

  • You can interact with the system by adding, deleting, rotating and moving particles
  • Adjust the simulation settings on the bottom right
  • The list of controls can be seen by clicking on the keyboard icon of the bottom left toolbar
  • New atoms can be created and added to the toolbar using available subatomic charges (colors)
  • The number of different subatomic charges can be modified by clicking on the top-right icon.

Exploration of Atomic Clusters with more particles

I explored this system using compute shaders to have more particles, I posted some of my results on my instagram: @ciphrd

Todo

  • refacto of some components - required before next update
  • optimization of particle-particle interactions
  • add interaction tools (such as mouse repelling particles, random particle spawn, eraser?)
  • selected particle should have more data displayed + a way to modify its settings

atomicclustersexplorer's People

Contributors

ciphrd avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.