Have a task and need to figure out the start velocity of an iron ball shot vertically upwards. We know this information.
>Solution :
The values from your image are as follows:
- mass sphere: 263.8602726 kg
- drag coefficient: 0.47
- air density: 1.225 kg/m³
- max height: 80 m
- acceleration due to gravity (G): 9.805 m/s²
Assuming you can neglect air resistance, you could use the kinematic equation:
v^2 + u^2 = 2as
where:
- v is the final velocity (0 m/s at the maximum height).
- u is the start velocity.
- a is the acceleration (in this case, -9.805 m/s² due to gravity).
- s is the displacement (80 m).
We can rearrange the equation to solve for the start velocity u:
u = sqrt(v^2 -2as)
Implementing this in Python is relatively straightforward:
def calculate_start_velocity(displacement: float,
acceleration: float) -> float:
"""Calculate the start velocity for an object given its displacement and acceleration.
Args:
displacement: The displacement of the object (maximum height reached).
acceleration: The acceleration (should be negative for gravity).
Returns:
float: The calculated start velocity.
"""
final_velocity_squared = 0 # Since final velocity at max height is 0.
start_velocity_squared = final_velocity_squared - 2 * acceleration * displacement
start_velocity = start_velocity_squared**0.5
return start_velocity
def main() -> None:
"""Main function to calculate and print the start velocity."""
max_height = 80.0 # Displacement.
gravity = -9.805 # Acceleration due to gravity.
start_velocity = calculate_start_velocity(max_height, gravity)
print(f'The start velocity is: {start_velocity:.2f} m/s')
if __name__ == '__main__':
main()
Output:
The start velocity is: 39.61 m/s