static float SpringDamp( float current, float target, System.Single& velocity, float deltaTime, float frequency, float damping )

robot_2Generated
code_blocksInput

Description

The SpringDamp method in the MathX class is used to simulate a spring-damping system. It calculates the next position of a value that is being damped towards a target value over time, using a spring-like motion. This method is useful for creating smooth transitions and animations that mimic the behavior of physical springs.

Usage

To use the SpringDamp method, provide the current value, target value, a reference to the velocity, the time step (deltaTime), the frequency of the spring, and the damping ratio. The method will return the new value after applying the spring-damping effect.

Parameters:

  • current (Single): The current value that is being damped.
  • target (Single): The target value towards which the current value is moving.
  • velocity (Single&): A reference to the current velocity of the value. This will be updated by the method.
  • deltaTime (Single): The time step for the simulation, typically the time elapsed since the last frame.
  • frequency (Single): The frequency of the spring, which affects how quickly the value oscillates.
  • damping (Single): The damping ratio, which affects how quickly the oscillations die out.

Example

// Example usage of SpringDamp
float currentValue = 0.0f;
float targetValue = 10.0f;
float velocity = 0.0f;
float deltaTime = 0.016f; // Assuming 60 FPS
float frequency = 1.0f;
float damping = 0.5f;

float newValue = MathX.SpringDamp(currentValue, targetValue, ref velocity, deltaTime, frequency, damping);

// newValue now contains the updated position after applying spring damping.