Google Classroom
GeoGebraGeoGebra Classroom

Parabolic motion

This activity belongs to the GeoGebra book The Domain of the Time. This animation simulates the parabolic motion of an object (like the launch of a projectile or the "flat" throw of a ball) in real time, neglecting air resistance, with a given initial velocity v0. The animation does not use formulas (neither equations, trigonometry, nor differential calculus) and only performs the necessary variations in the vectors that direct the motion.
  • Note: Strictly speaking, this motion is not parabolic but elliptical. For it to be truly parabolic, either the gravitational acceleration g must be exactly constant, or the initial velocity v0 must be equal to the escape velocity of the Earth (about 40,280 km/h). However, near the Earth's surface and for small velocities, we can assume (as we have been doing) that the magnitude of g remains constant (approximately 9.81 m/s²), so the elliptical arc is practically identical to the parabolic arc.
We can consider parabolic motion as a combination of horizontal Uniform Rectilinear Motion and vertical Launch Motion, as each does not influence the other. This is the principle of compound motion, established by Galileo in 1638, which he used to demonstrate the parabolic shape of projectile motion: the horizontal and vertical components of a projectile's velocity are independent of each other. You can activate the "Show theoretical arc" checkbox to display the corresponding parabolic graph. Also, note that if there is no friction, the horizontal component of the velocity vector remains constant at all times, equal to the initial horizontal velocity. As a result, the x-coordinate that the mass will reach when it hits the x-axis will be the same as if it had continued moving uniformly in a straight line, that is, it will be equal to the initial x-coordinate plus vx T, where T is the total time of travel.
SCRIPT FOR SLIDER anima # Calculate the elapsed seconds dt; add one second if t1(1) < tt SetValue(tt, t1(1)) SetValue(t1, First(GetTime(), 3)) SetValue(dt, (t1(1) < tt) + (t1(1) − tt)/1000) # Move M SetValue(v, v + dt g) SetValue(M, If(y(M + dt v) > 0, M + dt v, Intersect(Line(M, M + v), xAxis))) StartAnimation(anima, y(M) > 0) # Registers M for the polyline trace SetValue(reg, Append(reg, M)) Author of the activity and GeoGebra construction: Rafael Losada.