Git Product home page Git Product logo

d3-force-constant's Introduction

d3.forceConstant

NPM package Build Size NPM Downloads

A constant acceleration force type for the d3-force simulation engine.

This force accelerates nodes in a particular direction by a constant amount at each tick. Both the force strength and the direction can be set custom per node, or global for all the nodes equally.

It can be used, for example to simulate weight caused by earth's gravity (constant acceleration pointing down), as well as wind blowing or a current flowing in an arbitrary direction.

This force plugin is also compatible with d3-force-3d and can function in a one, two (default) or three dimensional space.

Quick start

import d3ForceConstant from 'd3-force-constant';

or using a script tag

<script src="//unpkg.com/d3-force-constant"></script>

then

d3.forceSimulation()
    .nodes(<myNodes>)
    .force('gravity', d3.forceConstant()
        .strength(0.5)
        .direction(90)   
    );

API reference

Method Description Default
strength([num or fn]) Getter/setter for the node object strength accessor function (fn(node)) or a constant (num) for all nodes. This represents the strength of the force, in terms of velocity deltas per tick, i.e. px/tick^2. 1
direction([num or fn]) Getter/setter for the node object direction accessor function (fn(node)) or a constant (num) for all nodes. This defines the orientation of the force in the XY plane in degrees, with 0 representing only X increases (rightwards in SVG convention) and 90 only Y increases (downwards). 90
zAngle([num or fn]) Getter/setter for the node object Z axis angle accessor function (fn(node)) or a constant (num) for all nodes. Mainly applicable in 3D scenarios when using d3-force-3d. This defines the angle of the force in degrees against the XY plane, with 0 indicating parallel (no Z influence) and -90 (far) / 90 (near) perpendicular (direction has no effect in this case). Values below -90 or above 90 invert direction on the XY plane. 0

d3-force-constant's People

Contributors

vasturiano avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

w0lramd

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.