JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 6
  • Score
    100M100P100Q36293F
  • License Apache-2.0

A simple particle system for NodeJs

Package Exports

  • node-particles

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (node-particles) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

CircleCI Coverage Status npm version Node-Particles

This repository provides a simple, programatic way of defining a particle system in Javascript and use it in your NodeJs project (i.e. as a backend library).

The base functionality has been forked and adapted from JavaScript-Particle-System so if you are looking for a particle system for the browser that's the place to go. There is also a very nice article from the same author here.

Screenshots

Usage

The easiest way to get the library is to use npm:

npm install node-particles

Then from your scripts you can consume it using require:

var ns = require ("node-particles")

Quick Example

var np = require ("node-particles")

var ps = new np.ParticleSystem ();  // creates a new ParticleSystem instance

// Creates an Emitter at x:188,y:158 whose particles have a x:3,y:0 speed.
// Particles size is 15, ttl = -1, the position of the particle is jittered +/- 0.15 
// and 1 particle to be emitted on every cycle.
ps.addEmitter (new PS.Point(188,158), new PS.Point(3,0), 15, -1, 0.15, 1);

// Adds a field at x:254,y:211 with a mass of 500 (positive means attraction)
ps.addField (new PS.Point(243,211), 500);

// Adds a field at x:443,y:411 with a -5 mass (repulsion)
ps.addField (new PS.Point(443,411), -5);

// Run 10 cycles on the ParticleSystem. On each one the particles are generated
// and the previous ones position is updated.
ps.evolve(10);

ps.getParticles().forEach (function (p) {
  console.log(p.position); // displays each particle position
});

License

Please check the LICENSE file located at the root of this reposity.