Class Physics
java.lang.Object
ActiverseUtils.Physics
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 ClassesModifier and TypeClassDescriptionstatic classWorldGeneration provides advanced utilities for procedural world generation. -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final doubleStandard gravitational acceleration on Earth (m/s^2) -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic doublecalculateAngularMomentum(double momentOfInertia, double angularVelocity) Calculates angular momentum: L = I * ωstatic doublecalculateAverageVelocity(double displacement, double time) Calculates average velocity: v = Δx / Δtstatic doublecalculateCentripetalForce(double mass, double velocity, double radius) Calculates centripetal force: F = mv² / rstatic doublecalculateCoefficientOfRestitution(double v1Initial, double v2Initial, double v1Final, double v2Final) Calculates coefficient of restitution: e = (v2f - v1f) / (v1i - v2i)static doublecalculateDensity(double mass, double volume) Calculates density: ρ = m / Vstatic doublecalculateDisplacement(double initialVelocity, double acceleration, double time) Calculates displacement under constant acceleration: s = ut + 0.5at²static doublecalculateDragForce(double dragCoefficient, double fluidDensity, double area, double velocity) Calculates aerodynamic drag force: Fd = 0.5 * Cd * ρ * A * v²static doublecalculateElasticPotentialEnergy(double springConstant, double displacement) Calculates elastic potential energy: E = 0.5 * k * x²static doublecalculateEscapeVelocity(double gravitationalConstant, double mass, double radius) Calculates escape velocity: v = √(2GM/r)static doublecalculateForce(double mass, double acceleration) Calculates force using Newton's Second Law: F = m * astatic doublecalculateFrictionForce(double coefficientOfFriction, double normalForce) Calculates friction force: F = μ * Nstatic doublecalculateGravitationalForce(double gravitationalConstant, double mass1, double mass2, double distance) Calculates gravitational force between two objects: F = G * m1 * m2 / r²static doublecalculateImpulse(double force, double time) Calculates impulse: J = F * tstatic doublecalculateKineticEnergy(double mass, double velocity) Calculates kinetic energy: KE = 0.5 * m * v²static doublecalculateMomentum(double mass, double velocity) Calculates momentum: p = m * vstatic doublecalculatePendulumPeriod(double length) Calculates period of a simple pendulum: T = 2π√(l/g)static doublecalculatePotentialEnergy(double mass, double height) Calculates gravitational potential energy: PE = m * g * hstatic doublecalculatePower(double work, double time) Calculates power: P = W / tstatic doublecalculatePressure(double force, double area) Calculates pressure: P = F / Astatic doublecalculateRotationalKineticEnergy(double momentOfInertia, double angularVelocity) Calculates rotational kinetic energy: KE = 0.5 * I * ω²static doublecalculateSpeed(double dx, double dy) Calculates speed from velocity components: speed = sqrt(dx² + dy²)static doublecalculateSpringForce(double springConstant, double displacement) Calculates spring force using Hooke's Law: F = -k * xstatic doublecalculateTorque(double radius, double force, double angleRadians) Calculates torque: T = r * F * sin(θ)static doublecalculateVelocity(double initialVelocity, double acceleration, double time) Calculates final velocity after constant acceleration: v = u + atstatic doublecalculateWeight(double mass) Calculates the weight of an object on Earth: W = m * gstatic doublecalculateWork(double force, double displacement, double angleRadians) Calculates mechanical work: W = F * d * cos(θ)
-
Field Details
-
EARTH_GRAVITY
public static final double EARTH_GRAVITYStandard 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 kilogramsacceleration- 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 kgvelocity- 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 kgvelocity- 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 kgheight- 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 kgvelocity- 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)
-