Package | Description |
---|---|
org.gicentre.utils.network.traer.physics |
Physics library for use with Processing.
|
Modifier and Type | Field and Description |
---|---|
protected Vector3D |
Particle.position
The position of the particle in 3d space.
|
protected Vector3D |
Particle.velocity
The 3d velocity of the particle.
|
Modifier and Type | Method and Description |
---|---|
Vector3D |
Vector3D.add(float x,
float y,
float z)
Adds the arguments to this vector's components.
|
Vector3D |
Vector3D.add(Vector3D p)
Adds the argument Vector3D's components to this Vector3D's components.
|
static Vector3D |
Vector3D.add(Vector3D v1,
Vector3D v2)
Creates a new Vector3D from v1+v2.
|
static Vector3D |
Vector3D.add(Vector3D v1,
Vector3D v2,
Vector3D target)
Returns v1+v2 in target, or a new Vector3D if target is null
|
Vector3D |
Vector3D.copy()
Provides a copy of this Vector3D.
|
static Vector3D |
Vector3D.copy(Vector3D from)
Copies the provided Vector3D.
|
Vector3D |
Vector3D.cross(Vector3D v)
Creates a new Vector3D from this and the cross product with the given vector.
|
Vector3D |
Vector3D.floor(float f)
The opposite of
limit(float) : puts a lower bound on the length of f . |
Vector3D |
Particle.force()
Deprecated.
Calls to this method should replaced with calls to the more standard
Particle.getForce() . |
protected Vector3D |
TwoBodyForce.ForcePair.forceOnOneEnd()
Reports the force at oneEnd.
|
protected Vector3D |
TwoBodyForce.ForcePair.forceOnTheOtherEnd()
Reports the force at theOtherEnd.
|
Vector3D |
Particle.getForce()
Reports the force currently applied to this particle.
|
Vector3D |
Vector3D.length(float f)
Reports the normalised length of this vector scaled by the given scale factor.
|
Vector3D |
Vector3D.limit(float f)
Limits the length of this Vector3D to
f . |
Vector3D |
Vector3D.multiplyBy(float f)
Multiplies each component by
f . |
static Vector3D |
Vector3D.multiplyBy(Vector3D v,
float f)
Creates a new Vector3D from v, by copying it and multiplying each of its components by f.
|
static Vector3D |
Vector3D.multiplyBy(Vector3D v,
float f,
Vector3D target)
Returns the result of v*f in target, or creates a new Vector3D if target==null.
|
Vector3D |
Vector3D.normalize()
Sets this Vector3Ds length to one by appropriately scaling x, y, and z.
|
static Vector3D |
Vector3D.of()
Creates a 'zero' vector.
|
static Vector3D |
Vector3D.of(float x,
float y,
float z)
Static constructor; convenience method for chaining calls.
|
Vector3D |
Particle.position()
Reports the position of the particle.
|
Vector3D |
Vector3D.projectOnto(Vector3D p)
Projects this Vector3D onto another Vector3D.
|
Vector3D |
Vector3D.set(float x,
float y,
float z)
Sets all the components.
|
Vector3D |
Vector3D.set(Vector3D p)
Sets this Vector3D components to those of another Vector3D.
|
Vector3D |
Vector3D.setX(float x)
Sets the x component and return this Vector3D after modification.
|
Vector3D |
Vector3D.setY(float y)
Sets the y component and return this Vector3D after modification.
|
Vector3D |
Vector3D.setZ(float z)
Sets the z component and return this Vector3D after modification.
|
Vector3D |
Vector3D.subtract(float x,
float y,
float z)
Subtracts the arguments from this vector's components.
|
Vector3D |
Vector3D.subtract(Vector3D p)
Subtracts the argument from this vector.
|
static Vector3D |
Vector3D.subtract(Vector3D v1,
Vector3D v2)
Returns a new Vector3D, v1 - v2.
|
static Vector3D |
Vector3D.subtract(Vector3D v1,
Vector3D v2,
Vector3D target)
Returns v1-v2 in target, or a new Vector3D if target is null.
|
static Vector3D |
Vector3D.thrower(java.lang.String message)
Throws a NullPointerException with the provided message.
|
Vector3D |
Particle.velocity()
Reports the velocity of the particle.
|
Modifier and Type | Method and Description |
---|---|
Vector3D |
Vector3D.add(Vector3D p)
Adds the argument Vector3D's components to this Vector3D's components.
|
static Vector3D |
Vector3D.add(Vector3D v1,
Vector3D v2)
Creates a new Vector3D from v1+v2.
|
static Vector3D |
Vector3D.add(Vector3D v1,
Vector3D v2,
Vector3D target)
Returns v1+v2 in target, or a new Vector3D if target is null
|
Particle |
Particle.addForce(Vector3D addedForce)
Updates the force on this particle by adding the given extra force.
|
static Vector3D |
Vector3D.copy(Vector3D from)
Copies the provided Vector3D.
|
Vector3D |
Vector3D.cross(Vector3D v)
Creates a new Vector3D from this and the cross product with the given vector.
|
float |
Vector3D.distanceSquaredTo(Vector3D v)
Like
distanceTo(Vector3D) , only squared |
float |
Vector3D.distanceTo(Vector3D v)
Calculates the distance between the tip of this Vector3D and that of p.
|
float |
Vector3D.dot(Vector3D p)
Calculates the dot product between this Vector3D and another - this.x*p.x + this.y*p.y + this.y*p.y
|
protected static TwoBodyForce.ForcePair |
TwoBodyForce.equalAndOpposite(Vector3D forceOnOneEnd)
Creates a force pair for when the forces to be applied are equal and opposite.
|
protected boolean |
Vector3D.equals(Vector3D other)
Determines if the components of this vector match those of the given one.
|
static Vector3D |
Vector3D.multiplyBy(Vector3D v,
float f)
Creates a new Vector3D from v, by copying it and multiplying each of its components by f.
|
static Vector3D |
Vector3D.multiplyBy(Vector3D v,
float f,
Vector3D target)
Returns the result of v*f in target, or creates a new Vector3D if target==null.
|
Vector3D |
Vector3D.projectOnto(Vector3D p)
Projects this Vector3D onto another Vector3D.
|
Vector3D |
Vector3D.set(Vector3D p)
Sets this Vector3D components to those of another Vector3D.
|
Gravity |
Gravity.setGravity(Vector3D grav3d)
Sets the gravity function with the given gravity value applied 3 dimensions.
|
protected static TwoBodyForce.ForcePair |
TwoBodyForce.specifyBoth(Vector3D forceOnOneEnd,
Vector3D forceOnTheOtherEnd)
Creates a
TwoBodyForce.ForcePair from two not necessarily equal and opposite forces. |
Vector3D |
Vector3D.subtract(Vector3D p)
Subtracts the argument from this vector.
|
static Vector3D |
Vector3D.subtract(Vector3D v1,
Vector3D v2)
Returns a new Vector3D, v1 - v2.
|
static Vector3D |
Vector3D.subtract(Vector3D v1,
Vector3D v2,
Vector3D target)
Returns v1-v2 in target, or a new Vector3D if target is null.
|
protected TwoBodyForce.ForcePair |
TwoBodyForce.ForcePair.updateBoth(Vector3D forceOnOneEnd,
Vector3D forceOnTheOtherEnd)
Updates the force for both ends according to the parameters.
|
protected TwoBodyForce.ForcePair |
TwoBodyForce.ForcePair.updateEqualAndOpposite(Vector3D forceOnOneEnd)
Sets the force at oneEnd according to forceOnOneEnd argument, and the force on theOtherEnd as equal and opposite.
|
Modifier and Type | Method and Description |
---|---|
protected static Function<Particle,?> |
RungeKuttaIntegrator.kApplier(java.util.Map<Particle,Vector3D> kForces,
java.util.Map<Particle,Vector3D> kVelocities,
java.util.Map<Particle,Vector3D> originalPositions,
java.util.Map<Particle,Vector3D> originalVelocities,
float deltaT)
Provides the function that applies the single increment of the particles' positions and velocities.
|
protected static Function<Particle,?> |
RungeKuttaIntegrator.kApplier(java.util.Map<Particle,Vector3D> kForces,
java.util.Map<Particle,Vector3D> kVelocities,
java.util.Map<Particle,Vector3D> originalPositions,
java.util.Map<Particle,Vector3D> originalVelocities,
float deltaT)
Provides the function that applies the single increment of the particles' positions and velocities.
|
protected static Function<Particle,?> |
RungeKuttaIntegrator.kApplier(java.util.Map<Particle,Vector3D> kForces,
java.util.Map<Particle,Vector3D> kVelocities,
java.util.Map<Particle,Vector3D> originalPositions,
java.util.Map<Particle,Vector3D> originalVelocities,
float deltaT)
Provides the function that applies the single increment of the particles' positions and velocities.
|
protected static Function<Particle,?> |
RungeKuttaIntegrator.kApplier(java.util.Map<Particle,Vector3D> kForces,
java.util.Map<Particle,Vector3D> kVelocities,
java.util.Map<Particle,Vector3D> originalPositions,
java.util.Map<Particle,Vector3D> originalVelocities,
float deltaT)
Provides the function that applies the single increment of the particles' positions and velocities.
|
protected static Function<Particle,?> |
RungeKuttaIntegrator.kFunctor(java.util.Map<Particle,Vector3D> kForces,
java.util.Map<Particle,Vector3D> kVelocities)
Provides the function capable of performing the integration.
|
protected static Function<Particle,?> |
RungeKuttaIntegrator.kFunctor(java.util.Map<Particle,Vector3D> kForces,
java.util.Map<Particle,Vector3D> kVelocities)
Provides the function capable of performing the integration.
|
protected Function<Particle,?> |
SettlingRungeKuttaIntegrator.updater(java.util.Map<Particle,Vector3D> k1f,
java.util.Map<Particle,Vector3D> k1v,
java.util.Map<Particle,Vector3D> k2f,
java.util.Map<Particle,Vector3D> k2v,
java.util.Map<Particle,Vector3D> k3f,
java.util.Map<Particle,Vector3D> k3v,
java.util.Map<Particle,Vector3D> k4f,
java.util.Map<Particle,Vector3D> k4v,
java.util.Map<Particle,Vector3D> oPos,
java.util.Map<Particle,Vector3D> oVel,
float deltaT)
Provides the function that updates the particles in the system.
|
protected Function<Particle,?> |
SettlingRungeKuttaIntegrator.updater(java.util.Map<Particle,Vector3D> k1f,
java.util.Map<Particle,Vector3D> k1v,
java.util.Map<Particle,Vector3D> k2f,
java.util.Map<Particle,Vector3D> k2v,
java.util.Map<Particle,Vector3D> k3f,
java.util.Map<Particle,Vector3D> k3v,
java.util.Map<Particle,Vector3D> k4f,
java.util.Map<Particle,Vector3D> k4v,
java.util.Map<Particle,Vector3D> oPos,
java.util.Map<Particle,Vector3D> oVel,
float deltaT)
Provides the function that updates the particles in the system.
|
protected Function<Particle,?> |
SettlingRungeKuttaIntegrator.updater(java.util.Map<Particle,Vector3D> k1f,
java.util.Map<Particle,Vector3D> k1v,
java.util.Map<Particle,Vector3D> k2f,
java.util.Map<Particle,Vector3D> k2v,
java.util.Map<Particle,Vector3D> k3f,
java.util.Map<Particle,Vector3D> k3v,
java.util.Map<Particle,Vector3D> k4f,
java.util.Map<Particle,Vector3D> k4v,
java.util.Map<Particle,Vector3D> oPos,
java.util.Map<Particle,Vector3D> oVel,
float deltaT)
Provides the function that updates the particles in the system.
|
protected Function<Particle,?> |
SettlingRungeKuttaIntegrator.updater(java.util.Map<Particle,Vector3D> k1f,
java.util.Map<Particle,Vector3D> k1v,
java.util.Map<Particle,Vector3D> k2f,
java.util.Map<Particle,Vector3D> k2v,
java.util.Map<Particle,Vector3D> k3f,
java.util.Map<Particle,Vector3D> k3v,
java.util.Map<Particle,Vector3D> k4f,
java.util.Map<Particle,Vector3D> k4v,
java.util.Map<Particle,Vector3D> oPos,
java.util.Map<Particle,Vector3D> oVel,
float deltaT)
Provides the function that updates the particles in the system.
|
protected Function<Particle,?> |
SettlingRungeKuttaIntegrator.updater(java.util.Map<Particle,Vector3D> k1f,
java.util.Map<Particle,Vector3D> k1v,
java.util.Map<Particle,Vector3D> k2f,
java.util.Map<Particle,Vector3D> k2v,
java.util.Map<Particle,Vector3D> k3f,
java.util.Map<Particle,Vector3D> k3v,
java.util.Map<Particle,Vector3D> k4f,
java.util.Map<Particle,Vector3D> k4v,
java.util.Map<Particle,Vector3D> oPos,
java.util.Map<Particle,Vector3D> oVel,
float deltaT)
Provides the function that updates the particles in the system.
|
protected Function<Particle,?> |
SettlingRungeKuttaIntegrator.updater(java.util.Map<Particle,Vector3D> k1f,
java.util.Map<Particle,Vector3D> k1v,
java.util.Map<Particle,Vector3D> k2f,
java.util.Map<Particle,Vector3D> k2v,
java.util.Map<Particle,Vector3D> k3f,
java.util.Map<Particle,Vector3D> k3v,
java.util.Map<Particle,Vector3D> k4f,
java.util.Map<Particle,Vector3D> k4v,
java.util.Map<Particle,Vector3D> oPos,
java.util.Map<Particle,Vector3D> oVel,
float deltaT)
Provides the function that updates the particles in the system.
|
protected Function<Particle,?> |
SettlingRungeKuttaIntegrator.updater(java.util.Map<Particle,Vector3D> k1f,
java.util.Map<Particle,Vector3D> k1v,
java.util.Map<Particle,Vector3D> k2f,
java.util.Map<Particle,Vector3D> k2v,
java.util.Map<Particle,Vector3D> k3f,
java.util.Map<Particle,Vector3D> k3v,
java.util.Map<Particle,Vector3D> k4f,
java.util.Map<Particle,Vector3D> k4v,
java.util.Map<Particle,Vector3D> oPos,
java.util.Map<Particle,Vector3D> oVel,
float deltaT)
Provides the function that updates the particles in the system.
|
protected Function<Particle,?> |
SettlingRungeKuttaIntegrator.updater(java.util.Map<Particle,Vector3D> k1f,
java.util.Map<Particle,Vector3D> k1v,
java.util.Map<Particle,Vector3D> k2f,
java.util.Map<Particle,Vector3D> k2v,
java.util.Map<Particle,Vector3D> k3f,
java.util.Map<Particle,Vector3D> k3v,
java.util.Map<Particle,Vector3D> k4f,
java.util.Map<Particle,Vector3D> k4v,
java.util.Map<Particle,Vector3D> oPos,
java.util.Map<Particle,Vector3D> oVel,
float deltaT)
Provides the function that updates the particles in the system.
|
protected Function<Particle,?> |
SettlingRungeKuttaIntegrator.updater(java.util.Map<Particle,Vector3D> k1f,
java.util.Map<Particle,Vector3D> k1v,
java.util.Map<Particle,Vector3D> k2f,
java.util.Map<Particle,Vector3D> k2v,
java.util.Map<Particle,Vector3D> k3f,
java.util.Map<Particle,Vector3D> k3v,
java.util.Map<Particle,Vector3D> k4f,
java.util.Map<Particle,Vector3D> k4v,
java.util.Map<Particle,Vector3D> oPos,
java.util.Map<Particle,Vector3D> oVel,
float deltaT)
Provides the function that updates the particles in the system.
|
protected Function<Particle,?> |
SettlingRungeKuttaIntegrator.updater(java.util.Map<Particle,Vector3D> k1f,
java.util.Map<Particle,Vector3D> k1v,
java.util.Map<Particle,Vector3D> k2f,
java.util.Map<Particle,Vector3D> k2v,
java.util.Map<Particle,Vector3D> k3f,
java.util.Map<Particle,Vector3D> k3v,
java.util.Map<Particle,Vector3D> k4f,
java.util.Map<Particle,Vector3D> k4v,
java.util.Map<Particle,Vector3D> oPos,
java.util.Map<Particle,Vector3D> oVel,
float deltaT)
Provides the function that updates the particles in the system.
|
protected Function<Particle,?> |
RungeKuttaIntegrator.updater(java.util.Map<Particle,Vector3D> k1f,
java.util.Map<Particle,Vector3D> k1v,
java.util.Map<Particle,Vector3D> k2f,
java.util.Map<Particle,Vector3D> k2v,
java.util.Map<Particle,Vector3D> k3f,
java.util.Map<Particle,Vector3D> k3v,
java.util.Map<Particle,Vector3D> k4f,
java.util.Map<Particle,Vector3D> k4v,
java.util.Map<Particle,Vector3D> oPos,
java.util.Map<Particle,Vector3D> oVel,
float deltaT)
Provides the function that updates the particles in the system.
|
protected Function<Particle,?> |
RungeKuttaIntegrator.updater(java.util.Map<Particle,Vector3D> k1f,
java.util.Map<Particle,Vector3D> k1v,
java.util.Map<Particle,Vector3D> k2f,
java.util.Map<Particle,Vector3D> k2v,
java.util.Map<Particle,Vector3D> k3f,
java.util.Map<Particle,Vector3D> k3v,
java.util.Map<Particle,Vector3D> k4f,
java.util.Map<Particle,Vector3D> k4v,
java.util.Map<Particle,Vector3D> oPos,
java.util.Map<Particle,Vector3D> oVel,
float deltaT)
Provides the function that updates the particles in the system.
|
protected Function<Particle,?> |
RungeKuttaIntegrator.updater(java.util.Map<Particle,Vector3D> k1f,
java.util.Map<Particle,Vector3D> k1v,
java.util.Map<Particle,Vector3D> k2f,
java.util.Map<Particle,Vector3D> k2v,
java.util.Map<Particle,Vector3D> k3f,
java.util.Map<Particle,Vector3D> k3v,
java.util.Map<Particle,Vector3D> k4f,
java.util.Map<Particle,Vector3D> k4v,
java.util.Map<Particle,Vector3D> oPos,
java.util.Map<Particle,Vector3D> oVel,
float deltaT)
Provides the function that updates the particles in the system.
|
protected Function<Particle,?> |
RungeKuttaIntegrator.updater(java.util.Map<Particle,Vector3D> k1f,
java.util.Map<Particle,Vector3D> k1v,
java.util.Map<Particle,Vector3D> k2f,
java.util.Map<Particle,Vector3D> k2v,
java.util.Map<Particle,Vector3D> k3f,
java.util.Map<Particle,Vector3D> k3v,
java.util.Map<Particle,Vector3D> k4f,
java.util.Map<Particle,Vector3D> k4v,
java.util.Map<Particle,Vector3D> oPos,
java.util.Map<Particle,Vector3D> oVel,
float deltaT)
Provides the function that updates the particles in the system.
|
protected Function<Particle,?> |
RungeKuttaIntegrator.updater(java.util.Map<Particle,Vector3D> k1f,
java.util.Map<Particle,Vector3D> k1v,
java.util.Map<Particle,Vector3D> k2f,
java.util.Map<Particle,Vector3D> k2v,
java.util.Map<Particle,Vector3D> k3f,
java.util.Map<Particle,Vector3D> k3v,
java.util.Map<Particle,Vector3D> k4f,
java.util.Map<Particle,Vector3D> k4v,
java.util.Map<Particle,Vector3D> oPos,
java.util.Map<Particle,Vector3D> oVel,
float deltaT)
Provides the function that updates the particles in the system.
|
protected Function<Particle,?> |
RungeKuttaIntegrator.updater(java.util.Map<Particle,Vector3D> k1f,
java.util.Map<Particle,Vector3D> k1v,
java.util.Map<Particle,Vector3D> k2f,
java.util.Map<Particle,Vector3D> k2v,
java.util.Map<Particle,Vector3D> k3f,
java.util.Map<Particle,Vector3D> k3v,
java.util.Map<Particle,Vector3D> k4f,
java.util.Map<Particle,Vector3D> k4v,
java.util.Map<Particle,Vector3D> oPos,
java.util.Map<Particle,Vector3D> oVel,
float deltaT)
Provides the function that updates the particles in the system.
|
protected Function<Particle,?> |
RungeKuttaIntegrator.updater(java.util.Map<Particle,Vector3D> k1f,
java.util.Map<Particle,Vector3D> k1v,
java.util.Map<Particle,Vector3D> k2f,
java.util.Map<Particle,Vector3D> k2v,
java.util.Map<Particle,Vector3D> k3f,
java.util.Map<Particle,Vector3D> k3v,
java.util.Map<Particle,Vector3D> k4f,
java.util.Map<Particle,Vector3D> k4v,
java.util.Map<Particle,Vector3D> oPos,
java.util.Map<Particle,Vector3D> oVel,
float deltaT)
Provides the function that updates the particles in the system.
|
protected Function<Particle,?> |
RungeKuttaIntegrator.updater(java.util.Map<Particle,Vector3D> k1f,
java.util.Map<Particle,Vector3D> k1v,
java.util.Map<Particle,Vector3D> k2f,
java.util.Map<Particle,Vector3D> k2v,
java.util.Map<Particle,Vector3D> k3f,
java.util.Map<Particle,Vector3D> k3v,
java.util.Map<Particle,Vector3D> k4f,
java.util.Map<Particle,Vector3D> k4v,
java.util.Map<Particle,Vector3D> oPos,
java.util.Map<Particle,Vector3D> oVel,
float deltaT)
Provides the function that updates the particles in the system.
|
protected Function<Particle,?> |
RungeKuttaIntegrator.updater(java.util.Map<Particle,Vector3D> k1f,
java.util.Map<Particle,Vector3D> k1v,
java.util.Map<Particle,Vector3D> k2f,
java.util.Map<Particle,Vector3D> k2v,
java.util.Map<Particle,Vector3D> k3f,
java.util.Map<Particle,Vector3D> k3v,
java.util.Map<Particle,Vector3D> k4f,
java.util.Map<Particle,Vector3D> k4v,
java.util.Map<Particle,Vector3D> oPos,
java.util.Map<Particle,Vector3D> oVel,
float deltaT)
Provides the function that updates the particles in the system.
|
protected Function<Particle,?> |
RungeKuttaIntegrator.updater(java.util.Map<Particle,Vector3D> k1f,
java.util.Map<Particle,Vector3D> k1v,
java.util.Map<Particle,Vector3D> k2f,
java.util.Map<Particle,Vector3D> k2v,
java.util.Map<Particle,Vector3D> k3f,
java.util.Map<Particle,Vector3D> k3v,
java.util.Map<Particle,Vector3D> k4f,
java.util.Map<Particle,Vector3D> k4v,
java.util.Map<Particle,Vector3D> oPos,
java.util.Map<Particle,Vector3D> oVel,
float deltaT)
Provides the function that updates the particles in the system.
|
Constructor and Description |
---|
Gravity(Vector3D grav3d)
Creates a gravity function with the given gravity value applied 3 dimensions.
|
Vector3D(Vector3D p)
Creates a new cloned 3D vector copied from the components of the given vector.
|