Class Physics

java.lang.Object
ActiverseUtils.Physics

public class Physics extends Object
The Physics class provides a comprehensive suite of physics-related calculations, suitable for simulations, games, and educational tools.

Includes support for classical mechanics formulas such as force, energy, motion, circular dynamics, and more.

Version:
1.4.0
Author:
Knivier
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static class 
    WorldGeneration provides advanced utilities for procedural world generation.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final double
    Standard gravitational acceleration on Earth (m/s^2)
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static double
    calculateAngularMomentum(double momentOfInertia, double angularVelocity)
    Calculates angular momentum: L = I * ω
    static double
    calculateAverageVelocity(double displacement, double time)
    Calculates average velocity: v = Δx / Δt
    static double
    calculateCentripetalForce(double mass, double velocity, double radius)
    Calculates centripetal force: F = mv² / r
    static double
    calculateCoefficientOfRestitution(double v1Initial, double v2Initial, double v1Final, double v2Final)
    Calculates coefficient of restitution: e = (v2f - v1f) / (v1i - v2i)
    static double
    calculateDensity(double mass, double volume)
    Calculates density: ρ = m / V
    static double
    calculateDisplacement(double initialVelocity, double acceleration, double time)
    Calculates displacement under constant acceleration: s = ut + 0.5at²
    static double
    calculateDragForce(double dragCoefficient, double fluidDensity, double area, double velocity)
    Calculates aerodynamic drag force: Fd = 0.5 * Cd * ρ * A * v²
    static double
    calculateElasticPotentialEnergy(double springConstant, double displacement)
    Calculates elastic potential energy: E = 0.5 * k * x²
    static double
    calculateEscapeVelocity(double gravitationalConstant, double mass, double radius)
    Calculates escape velocity: v = √(2GM/r)
    static double
    calculateForce(double mass, double acceleration)
    Calculates force using Newton's Second Law: F = m * a
    static double
    calculateFrictionForce(double coefficientOfFriction, double normalForce)
    Calculates friction force: F = μ * N
    static double
    calculateGravitationalForce(double gravitationalConstant, double mass1, double mass2, double distance)
    Calculates gravitational force between two objects: F = G * m1 * m2 / r²
    static double
    calculateImpulse(double force, double time)
    Calculates impulse: J = F * t
    static double
    calculateKineticEnergy(double mass, double velocity)
    Calculates kinetic energy: KE = 0.5 * m * v²
    static double
    calculateMomentum(double mass, double velocity)
    Calculates momentum: p = m * v
    static double
    calculatePendulumPeriod(double length)
    Calculates period of a simple pendulum: T = 2π√(l/g)
    static double
    calculatePotentialEnergy(double mass, double height)
    Calculates gravitational potential energy: PE = m * g * h
    static double
    calculatePower(double work, double time)
    Calculates power: P = W / t
    static double
    calculatePressure(double force, double area)
    Calculates pressure: P = F / A
    static double
    calculateRotationalKineticEnergy(double momentOfInertia, double angularVelocity)
    Calculates rotational kinetic energy: KE = 0.5 * I * ω²
    static double
    calculateSpeed(double dx, double dy)
    Calculates speed from velocity components: speed = sqrt(dx² + dy²)
    static double
    calculateSpringForce(double springConstant, double displacement)
    Calculates spring force using Hooke's Law: F = -k * x
    static double
    calculateTorque(double radius, double force, double angleRadians)
    Calculates torque: T = r * F * sin(θ)
    static double
    calculateVelocity(double initialVelocity, double acceleration, double time)
    Calculates final velocity after constant acceleration: v = u + at
    static double
    calculateWeight(double mass)
    Calculates the weight of an object on Earth: W = m * g
    static double
    calculateWork(double force, double displacement, double angleRadians)
    Calculates mechanical work: W = F * d * cos(θ)

    Methods inherited from class java.lang.Object

    equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • EARTH_GRAVITY

      public static final double EARTH_GRAVITY
      Standard gravitational acceleration on Earth (m/s^2)
      See Also:
  • Constructor Details

    • Physics

      public Physics()
  • Method Details

    • calculateForce

      public static double calculateForce(double mass, double acceleration)
      Calculates force using Newton's Second Law: F = m * a
      Parameters:
      mass - Mass in kilograms
      acceleration - Acceleration in m/s²
      Returns:
      Force in newtons (N)
    • calculateWeight

      public static double calculateWeight(double mass)
      Calculates the weight of an object on Earth: W = m * g
      Parameters:
      mass - Mass in kilograms
      Returns:
      Weight in newtons (N)
    • calculateVelocity

      public static double calculateVelocity(double initialVelocity, double acceleration, double time)
      Calculates final velocity after constant acceleration: v = u + at
      Parameters:
      initialVelocity - Initial velocity (m/s)
      acceleration - Acceleration (m/s²)
      time - Time in seconds
      Returns:
      Final velocity (m/s)
    • calculateDisplacement

      public static double calculateDisplacement(double initialVelocity, double acceleration, double time)
      Calculates displacement under constant acceleration: s = ut + 0.5at²
      Parameters:
      initialVelocity - Initial velocity (m/s)
      acceleration - Acceleration (m/s²)
      time - Time (s)
      Returns:
      Displacement (m)
    • calculateSpeed

      public static double calculateSpeed(double dx, double dy)
      Calculates speed from velocity components: speed = sqrt(dx² + dy²)
      Parameters:
      dx - Change in x (m)
      dy - Change in y (m)
      Returns:
      Speed (m/s)
    • calculateMomentum

      public static double calculateMomentum(double mass, double velocity)
      Calculates momentum: p = m * v
      Parameters:
      mass - Mass in kg
      velocity - Velocity in m/s
      Returns:
      Momentum (kg·m/s)
    • calculateKineticEnergy

      public static double calculateKineticEnergy(double mass, double velocity)
      Calculates kinetic energy: KE = 0.5 * m * v²
      Parameters:
      mass - Mass in kg
      velocity - Velocity in m/s
      Returns:
      Kinetic energy (Joules)
    • calculatePotentialEnergy

      public static double calculatePotentialEnergy(double mass, double height)
      Calculates gravitational potential energy: PE = m * g * h
      Parameters:
      mass - Mass in kg
      height - Height in meters
      Returns:
      Potential energy (Joules)
    • calculateElasticPotentialEnergy

      public static double calculateElasticPotentialEnergy(double springConstant, double displacement)
      Calculates elastic potential energy: E = 0.5 * k * x²
      Parameters:
      springConstant - Spring constant (N/m)
      displacement - Displacement from rest position (m)
      Returns:
      Elastic potential energy (Joules)
    • calculateCentripetalForce

      public static double calculateCentripetalForce(double mass, double velocity, double radius)
      Calculates centripetal force: F = mv² / r
      Parameters:
      mass - Mass in kg
      velocity - Tangential velocity (m/s)
      radius - Radius of the circular path (m)
      Returns:
      Centripetal force (N)
    • calculateAngularMomentum

      public static double calculateAngularMomentum(double momentOfInertia, double angularVelocity)
      Calculates angular momentum: L = I * ω
      Parameters:
      momentOfInertia - Moment of inertia (kg·m²)
      angularVelocity - Angular velocity (rad/s)
      Returns:
      Angular momentum (kg·m²/s)
    • calculateTorque

      public static double calculateTorque(double radius, double force, double angleRadians)
      Calculates torque: T = r * F * sin(θ)
      Parameters:
      radius - Lever arm length (m)
      force - Applied force (N)
      angleRadians - Angle between force and lever (radians)
      Returns:
      Torque (N·m)
    • calculateImpulse

      public static double calculateImpulse(double force, double time)
      Calculates impulse: J = F * t
      Parameters:
      force - Force applied (N)
      time - Duration of force (s)
      Returns:
      Impulse (N·s)
    • calculateWork

      public static double calculateWork(double force, double displacement, double angleRadians)
      Calculates mechanical work: W = F * d * cos(θ)
      Parameters:
      force - Force applied (N)
      displacement - Distance moved (m)
      angleRadians - Angle between force and motion direction (radians)
      Returns:
      Work done (Joules)
    • calculatePower

      public static double calculatePower(double work, double time)
      Calculates power: P = W / t
      Parameters:
      work - Work done (J)
      time - Time taken (s)
      Returns:
      Power (Watts)
    • calculateCoefficientOfRestitution

      public static double calculateCoefficientOfRestitution(double v1Initial, double v2Initial, double v1Final, double v2Final)
      Calculates coefficient of restitution: e = (v2f - v1f) / (v1i - v2i)
      Parameters:
      v1Initial - Initial velocity of object 1 (m/s)
      v2Initial - Initial velocity of object 2 (m/s)
      v1Final - Final velocity of object 1 (m/s)
      v2Final - Final velocity of object 2 (m/s)
      Returns:
      Coefficient of restitution (unitless)
    • calculateFrictionForce

      public static double calculateFrictionForce(double coefficientOfFriction, double normalForce)
      Calculates friction force: F = μ * N
      Parameters:
      coefficientOfFriction - Coefficient of friction (unitless)
      normalForce - Normal force (N)
      Returns:
      Frictional force (N)
    • calculateDragForce

      public static double calculateDragForce(double dragCoefficient, double fluidDensity, double area, double velocity)
      Calculates aerodynamic drag force: Fd = 0.5 * Cd * ρ * A * v²
      Parameters:
      dragCoefficient - Drag coefficient (unitless)
      fluidDensity - Density of the fluid (kg/m³)
      area - Cross-sectional area (m²)
      velocity - Velocity of object (m/s)
      Returns:
      Drag force (N)
    • calculateSpringForce

      public static double calculateSpringForce(double springConstant, double displacement)
      Calculates spring force using Hooke's Law: F = -k * x
      Parameters:
      springConstant - Spring constant (N/m)
      displacement - Displacement from rest position (m)
      Returns:
      Spring force (N)
    • calculatePressure

      public static double calculatePressure(double force, double area)
      Calculates pressure: P = F / A
      Parameters:
      force - Force applied (N)
      area - Surface area (m²)
      Returns:
      Pressure (Pascals)
    • calculateDensity

      public static double calculateDensity(double mass, double volume)
      Calculates density: ρ = m / V
      Parameters:
      mass - Mass (kg)
      volume - Volume (m³)
      Returns:
      Density (kg/m³)
    • calculatePendulumPeriod

      public static double calculatePendulumPeriod(double length)
      Calculates period of a simple pendulum: T = 2π√(l/g)
      Parameters:
      length - Length of pendulum (m)
      Returns:
      Period (s)
    • calculateEscapeVelocity

      public static double calculateEscapeVelocity(double gravitationalConstant, double mass, double radius)
      Calculates escape velocity: v = √(2GM/r)
      Parameters:
      gravitationalConstant - Gravitational constant (N·m²/kg²)
      mass - Mass of planet/body (kg)
      radius - Distance from center (m)
      Returns:
      Escape velocity (m/s)
    • calculateAverageVelocity

      public static double calculateAverageVelocity(double displacement, double time)
      Calculates average velocity: v = Δx / Δt
      Parameters:
      displacement - Change in position (m)
      time - Time interval (s)
      Returns:
      Average velocity (m/s)
    • calculateGravitationalForce

      public static double calculateGravitationalForce(double gravitationalConstant, double mass1, double mass2, double distance)
      Calculates gravitational force between two objects: F = G * m1 * m2 / r²
      Parameters:
      gravitationalConstant - G in N·m²/kg²
      mass1 - Mass of object 1 (kg)
      mass2 - Mass of object 2 (kg)
      distance - Distance between centers (m)
      Returns:
      Gravitational force (N)
    • calculateRotationalKineticEnergy

      public static double calculateRotationalKineticEnergy(double momentOfInertia, double angularVelocity)
      Calculates rotational kinetic energy: KE = 0.5 * I * ω²
      Parameters:
      momentOfInertia - Moment of inertia (kg·m²)
      angularVelocity - Angular velocity (rad/s)
      Returns:
      Rotational kinetic energy (Joules)