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 class
WorldGeneration provides advanced utilities for procedural world generation. -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final double
Standard gravitational acceleration on Earth (m/s^2) -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic double
calculateAngularMomentum
(double momentOfInertia, double angularVelocity) Calculates angular momentum: L = I * ωstatic double
calculateAverageVelocity
(double displacement, double time) Calculates average velocity: v = Δx / Δtstatic double
calculateCentripetalForce
(double mass, double velocity, double radius) Calculates centripetal force: F = mv² / rstatic 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 / Vstatic 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 * astatic double
calculateFrictionForce
(double coefficientOfFriction, double normalForce) Calculates friction force: F = μ * Nstatic 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 * tstatic 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 * vstatic 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 * hstatic double
calculatePower
(double work, double time) Calculates power: P = W / tstatic double
calculatePressure
(double force, double area) Calculates pressure: P = F / Astatic 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 * xstatic 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 + atstatic double
calculateWeight
(double mass) Calculates the weight of an object on Earth: W = m * gstatic double
calculateWork
(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)
-