A simulation that applies a drag to slow a particle down.

Models a particle affected by fluid drag, e.g. air resistance.

The simulation ends when the velocity of the particle drops to zero (within the current velocity tolerance).

Inheritance
Implemented by

Constructors

FrictionSimulation(double drag, double position, double velocity)

Creates a FrictionSimulation with the given arguments, namely: the fluid drag coefficient, a unitless value; the initial position, in the same length units as used for x; and the initial velocity, in the same velocity units as used for dx.

FrictionSimulation.through(double startPosition, double endPosition, double startVelocity, double endVelocity)

Creates a new friction simulation with its fluid drag coefficient set so as to ensure that the simulation starts and ends at the specified positions and velocities.

factory

Properties

hashCode int

Get a hash code for this object.

read-only, inherited
runtimeType Type

A representation of the runtime type of the object.

read-only, inherited
tolerance Tolerance

How close to the actual end of the simulation a value at a particular time must be before isDone considers the simulation to be "done".

read / write, inherited

Operators

operator ==(other) bool

The equality operator.

inherited

Methods

dx(double time) double

The velocity of the object in the simulation at the given time.

isDone(double time) bool

Whether the simulation is "done" at the given time.

x(double time) double

The position of the object in the simulation at the given time.

noSuchMethod(Invocation invocation) → dynamic

Invoked when a non-existent method or property is accessed.

inherited
toString() String

Returns a string representation of this object.

inherited