Here are some examples and exercises that deal with forces. Make sure you practice IDEA.
Worked Examples¶
Slowing a mass down¶
In this example we will consider a 1-dimensional case: a mass, has initial velocity . From onwards a force is acting on , slowing it down. Eventually, will come to a stand still.
The final question to be answered is: what is the distance has traveled from until has stopped moving?
We will inspect the simplest case: the force is constant and has a magnitude (with a positive constant). This is one of the simplest frictional forces. It is proportional to the weight of and is a first order approximation for a mass sliding over a horizontal plane.
First we make a sketch and draw what is relevant for this problem.
The problem is 1-dimensional, so we only need one coordinate. Hence we have drawn the -axis. The mass is somewhere on the axis and has at that position velocity . We also draw that, as the velocity will change. Moreover, velocity is related to momentum () and -as a force is acting on - we expect that we will use N2.
We also draw the force. As the force is slowing down the mass, it will have to act in the direction opposite to the velocity. That means in our case: points in the negative -direction. Finally, we indicate the position where the mass will stop moving: .
We conclude our interpret-phase with our idea on how to approach this problem:
a force is slowing down : that calls for setting up N2
at some point in time has zero velocity: we need to find that time (let’s call it ). We can do that via N2.
we need to find the trajectory of , i.e. and than substitute to find .
Let’s set up N2:
This is a first-order differential equation and we need 1 initial condition. Given is:
Now, we have our model for . Once we solved it, we can use this solution to find the trajectory, . For that step we use , but in reversed order, as we like to treat it now as a differential equation for :
with initial condition
Actually, this is our own choice: we have taken the origin of the -axis as the position where is at . We could have taken any other point, but this is just convenient.
We start with solving N2:
Note: we have now explicitly given the minus-sign as the force is acting in the negative -direction. Moreover, the friction constant . This differential equation is easy to solve, as the right hand side is a constant:
with an integration constant. We can find this constant by looking at the initial condition:
Thus, the solution for is:
From this equation, we can find when the mass stops moving:
Now we are ready to find the trajectory :
and we use the initial condition to find :
Thus, the solution for the trajectory is:
Finally, we can find by substituting into :
The final result makes sense: the distance traveled increases with increasing initial velocity and decreases with increasing friction coefficient and gravitational acceleration . Furthermore, as it should: the mass is moving from into the positive -direction.
Also, the units match: has SI-units [m] and thus, the right hand side of the equation must also be in [m]. We can check this easily:
Indeed, our answer is dimensionally correct.
Note: the mass is irrelevant in this example. That is a consequence of the force being proportional to . Hence, as we saw, drops out of N2. In general that is of course not the case.
Finally: in this example is a linear function in whereas is a parabola. This is rather the exception than the rule! It only happens when the force is a constant, that is it doesn’t change during the process. We will come across plenty of cases where is not a constant. It may vary explicitly with time, but in most cases it will change with the position of the mass. So keep in mind: is only the solution if the force acting is a true constant.
Exercises set 1¶
Answers set 1¶
Solution to Exercise 1
Solution to Exercise 2
We know and .
The motion of the ball can be spilt in two components: horizontal, i.e. x-direction, and vertical, tha is y-direction.
In the vertical direction gravity acts: . Thus the equation of motion in the y-direction is: s_y(t)=s_{y0}+v_{y0}t-1/2gt^2$.
In the horizontal direction no force is active, thus:
The magnitude of the velocity of the ball hitting the ground can be expressed in terms of and as
We have as initial velocity:
Solving for with gives for the time the ball is in the air:
Next, we realize that as there is no force acting in the x-direction. Thus the horizontal distance traveled is
$$\Delta x = v_{X0} t_{air} = 24.0 \text{m}
For the velocity when hitting the ground is (that is, its magnitude), we need both the x and y-component:
The velocity upon impact is larger than the initial velocity. This makes sense. The ball first travels upwards, then downwards and will pass again on the downward motion. Then it will further accelerate to the ground and thus have a larger y-component of the velocity than at the start.
Solution to Exercise 3
is constant
Solution to Exercise 4
is not constant
Solution to Exercise 5
Solution to Exercise 6
Solution to Exercise 7
The unit vectors of S’ rotate with a frequency with respect to the unit vectors of S. This means, that the coordinate system of S’ rotates: the rotation angle is a function of time, i.e.
From the figure we see, that the coordinates of a point P, according to S, are related to those used by S’, via:
or written as the coordinate transformation:
with its inverse
Note that in this case , that is: it is a function of .
a) From the above relation we find that the point (1,0) in S will be denoted by S’ as
b) the velocity of the point (1,0) in S is according to S of course zero: S’ will say:
Solution to Exercise 8
Since and are parallel, the particle will not deviate from the line x=y. Hence, we are dealing with a 1-dimensional problem. The original coordinate system, , is not wrong: it is just not handy as it makes the problem look like 2D. Thus, we change our coordinate system, such that the new -axis coincides with the original x=y line.
N2: with initial conditions: and
initial condition: Thus:
for . The particle comes to rest and then, obviously, the friction force is zero.
Solution to Exercise 9
We expect that the area, , under the trajectory of the ball is a function of , , and . In a dimensional analysis we write this as ‘product of powers’:
and we make this expression dimensional correct. (Note: we don’t mean that the final outcome of a full analysis is a product of powers, it can be any function but the units should be related in the right way and that is what this ‘trick’ with powers ensures.)
The area has units m, velocity m/s, g m/s and is dimensionless (radians don’t count as a dimension or unit). Thus:
This yields: . Thus on dimensional grounds we may expect: .
In the x-direction: no forces, hence
In the y-direction: . Where we have used the initial conditions:
Total time in the air:
5+6. Evaluate the area under the trajectory:
We maximize the function :
The first solution give a minimum for the area (). So we need the second solution:
Solution to Exercise 10
We start with a sketch.
This is a 1-dimensional problem. We will use as the coordinate. Moreover, it is a problem involving two particles, that both can move. This makes it more difficult than 1-dimensional cases with only one particle.
We have to set up two equations of motion, one for particle 1 with mass and position and one for particle 2 with mass and position . When doing so, we should realize that the mutual force obeys Newton’s third law:
We see that the two equations are coupled: we can’t solve one without information from the other.
So, how do we proceed? First, let’s think about the question. We are not asked to solve the equation of motion and find the trajectory. What we need to find is the position of the collision.
From the two equation of motion we can find important information about the velocities of both particles. Just add to two equations:
Since both particles start rest, we find from the last equation: at any time. Thus particle 2 will travel 4 times a distance than particle 1 in the same time interval. Consequently: if particle 1 has moved 1cm, particle 2 has moved 4cm. Thus the particles (originally separated by 5cm) will collide at cm.
It makes sense that the heavy particle has traveled less than the light one: they both feel at any moment the same force (apart from a sign). The light particle will accelerate faster than the heavy one. Moreover, they should collide somewhere on the line element originally separating them as they are attracted to each other.
We found both these elements in our solution.
Exercises set 2¶
Source
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.patches import Rectangle
from matplotlib.transforms import Affine2D
from ipywidgets import interact
import ipywidgets as widgets
# Constants
def update(theta,F_girl):
# Compute arrow end coordinates
F_boys_y = F_girl / 2
F_boys_x = F_girl*np.tan(theta)/2
# Clear figure
plt.clf()
fig, ax = plt.subplots()
ax.set_xlim(-20, 20)
ax.set_ylim(-20, 20)
ax.set_aspect('equal')
ax.grid(True)
# Draw arrow
# rope
ax.arrow(0, 0, -20*np.sin(theta), 20*np.cos(theta),
head_width=0, head_length=0, fc='black', ec='black')
ax.arrow(0, 0, 20*np.sin(theta), 20*np.cos(theta),
head_width=0, head_length=0, fc='black', ec='black')
#Forces
ax.arrow(0, 0, 0, -F_girl,
head_width=1, head_length=1, fc='green', ec='green')
ax.arrow(0, 0, F_boys_x, F_boys_y,
head_width=1, head_length=1, fc='red', ec='red')
ax.arrow(0, 0, -F_boys_x, F_boys_y,
head_width=1, head_length=1, fc='red', ec='red')
plt.show()
# Use FloatSlider for smooth interaction
interact(update, theta=widgets.FloatSlider(min=0.1, max=np.pi/2, step=np.pi/16, value=np.pi/4),
F_girl=widgets.FloatSlider(min=3, max=10, step=1, value=3))
<function __main__.update(theta, F_girl)>Source
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.patches import Rectangle
from matplotlib.transforms import Affine2D
from ipywidgets import interact
import ipywidgets as widgets
# Constants
start = [0, 0]
L = 2
m = 10 #kg
g = 9.81 #kgm/s^2
t = np.linspace(0,5,100)
def Fw(theta,mu):
return mu*m*g*np.cos(theta)
def Fzx(theta):
return m*g*np.sin(theta)
def update(theta,mu):
# Compute arrow end coordinates
end = np.array([L * np.cos(theta), L * np.sin(theta)])
# Clear figure
plt.clf()
fig, axs = plt.subplots(1,2, figsize=(10, 5), gridspec_kw={'wspace': 0.4})
# first plot showing angle and box
ax = axs[0]
ax.set_xlim(0, 2)
ax.set_ylim(0, 2)
ax.set_aspect('equal')
ax.grid(True)
if Fw(theta,mu)>Fzx(theta):
ax.text(1.5, 1.5, 'Stable', fontsize=12)
else:
ax.text(1.5, 1.5, 'Sliding', fontsize=12)
# Draw arrow
ax.arrow(start[0], start[1], end[0], end[1],
head_width=0, head_length=0, fc='black', ec='black')
# Box properties
box_width = 0.4
box_height = 0.2
# Create unrotated rectangle at (0,0)
rect = Rectangle((-box_width / 2, 0 ),
box_width, box_height,
linewidth=1, edgecolor='red', facecolor='lightgray')
# Compute arrow end coordinates
end = start + np.array([L * np.cos(theta), L * np.sin(theta)])
# Compute midpoint of arrow
mid = start + np.array([L/2 * np.cos(theta), L/2 * np.sin(theta)])
# Transformation: rotate around origin, then translate to arrow tip
trans = (Affine2D()
.rotate(theta)
.translate(mid[0], mid[1]) + ax.transData)
rect.set_transform(trans)
ax.add_patch(rect)
# second plot showing motion with and without friction
ax2 = axs[1]
ax2.set_xlabel('$t$(s)')
ax2.set_ylabel('$s$(m)')
ax2.plot(t,1/2*g*np.sin(theta)*t**2,'k-',label='without friction')
if Fw(theta,mu)>Fzx(theta):
ax2.plot(t,np.zeros(len(t)),'r-',label='with friction')
else:
ax2.plot(t,1/2*g*(np.sin(theta)-mu*np.cos(theta))*t**2,'r-',label='with friction')
ax2.set_ylim(0,120)
ax2.legend()
plt.show()
# Use FloatSlider for smooth interaction
interact(update, theta=widgets.FloatSlider(min=0, max=np.pi/2, step=np.pi/16, value=np.pi/4),
mu=widgets.FloatSlider(min=0, max=1, step=0.05, value=1))
<function __main__.update(theta, mu)>Source
import numpy as np
import matplotlib.pyplot as plt
from ipywidgets import interact
import ipywidgets as widgets
# Parameters
t_stop = 5
dt = 0.01
t = np.arange(0, t_stop + dt, dt)
# Force functions definitions
def force1(t):
a = 10
x = 0.5 * a * t**2
v = a * t
return x, v
def force2(t):
x = (1/6) * 10 * t**3
v = 0.5 * 10 * t**2
return x, v
def force3(t):
x = 125 * (1 - np.cos(np.pi * t / 2))
v = 125 * (np.pi / 2) * np.sin(np.pi * t / 2)
return x, v
def update(force_num):
fig, axs = plt.subplots(2, 1, figsize=(8, 6), gridspec_kw={'hspace': 0.4})
if force_num == 1:
selected_force = force1
elif force_num == 2:
selected_force = force2
else:
selected_force = force3
x_vals, v_vals = selected_force(t)
# Velocity vs Time
ax1 = axs[0]
ax1.plot(t, v_vals, 'b-')
ax1.set_xlim(0, t_stop)
ax1.set_ylim(-np.max(v_vals) * 1.2, np.max(v_vals) * 1.2)
ax1.set_xlabel('Time (s)')
ax1.set_ylabel('Velocity (cm/s)')
ax1.set_title('Velocity vs Time')
ax1.grid(True)
# Position vs Time
ax2 = axs[1]
ax2.plot(t, x_vals, 'r-')
ax2.set_xlim(0, t_stop)
ax2.set_ylim(0, np.max(x_vals) * 1.2)
ax2.set_xlabel('Time (s)')
ax2.set_ylabel('Position (cm)')
ax2.set_title('Position vs Time')
ax2.grid(True)
plt.show()
interact(update, force_num=widgets.IntSlider(min=1, max=3, step=1, value=1))
<function __main__.update(force_num)>Source
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.patches import Rectangle
from matplotlib.animation import FuncAnimation
from IPython.display import HTML, display
from ipywidgets import interact, FloatSlider, IntSlider
def run_animation(g=9.81, M=1):
m1 = 1.0 # red block mass
acc = M / (m1 + M) * g # Net acceleration
t_stop = 1.5
dt = 0.02
t_vals = np.arange(0, t_stop, dt)
scale_factor = 25
x0 = 40
y0 = 210
fig, ax = plt.subplots(figsize=(9, 5))
ax.set_xlim(0, 900)
ax.set_ylim(500, 0)
ax.axis('off')
# Static scene
ax.fill_between([20, 320], 180, 190, color='black') # floor
pulley = plt.Circle((320, 180), 15, color='grey')
ax.add_patch(pulley)
ax.plot([450, 450], [20, 470], color='black') # y-axis
ax.plot([450, 800], [420, 420], color='black') # x-axis
ax.text(408, 170, "x (m)", fontsize=12)
ax.text(780, 440, "t (s)", fontsize=12)
for i, y in enumerate(range(125, 426, 75)):
ax.text(423, y, f"{(4 - i):.1f}", fontsize=10)
for i, x in enumerate([540, 640, 740]):
ax.text(x, 440, f"{0.5 * (i + 1):.1f}", fontsize=10)
for i in range(24):
ax.plot([450, 800], [420 - 15 * (i + 1)] * 2, color='grey', linewidth=0.5)
for i in range(17):
ax.plot([450 + 20 * (i + 1)] * 2, [60, 420], color='grey', linewidth=0.5)
# Dynamic elements
red_block = Rectangle((x0, 150), 30, 30, color='red')
grey_block = Rectangle((320, y0), 30, 30, color='grey')
ax.add_patch(red_block)
ax.add_patch(grey_block)
cord1, = ax.plot([], [], color='black')
cord2, = ax.plot([], [], color='black')
trace, = ax.plot([], [], color='blue')
x_trace, y_trace = [], []
def update(frame):
t = frame * dt
disp = scale_factor * 0.5 * acc * t**2
x = min(x0 + disp, 270)
y = min(y0 + disp, 440)
red_block.set_xy((x, 150))
grey_block.set_xy((320, y))
cord1.set_data([x + 30, 320], [165, 165])
cord2.set_data([335, 335], [180, y])
if x < 270:
x_trace.append(450 + (200 * t))
y_trace.append(420 - 1.53 * (x - x0))
trace.set_data(x_trace, y_trace)
return red_block, grey_block, cord1, cord2, trace
ani = FuncAnimation(fig, update, frames=len(t_vals), blit=True, interval=dt * 1000)
plt.close(fig) # Prevent duplicate static figure
display(HTML(ani.to_jshtml()))
# Interact widget with sliders
interact(run_animation,
g=FloatSlider(min=1.5, max=15.0, step=0.1, value=9.81, description='g (m/s²)'),
M=IntSlider(min=1, max=5, step=1, value=1, description='Mass (kg)'))
<function __main__.run_animation(g=9.81, M=1)>If you want to learn also how to use numerical methods ...
Try using an air drag force: . With the cross-sectional area of your object perpendicular to the velocity vector and the drag coefficient (in real life it is actually a function of the velocity). is the density of air which is about .
Write a computer program (e.g. in python) that calculates the motion of your object. See Solution with Python how you could do that.
Figure 13:Riding a bicycle. Adapted from InjuryMap, from Wikimedia Commons, licensed under CC BY-SA 4.0.
On a bicycle you will have to apply a force to the pedals to move forward, right? What force actually moves you forward, where is it located and who/what is providing that force?
Make sketch and draw the relevant force. Give the force that actually propels you a different color.
Think for a minute about the nature of this force: are you surprised?
N.B. Consider while thinking about this problem: what would happen if you were biking on an extremely slippery floor?
Solution to Exercise 19
When you push with your foot on the pedal, that force is transferred to the chain of your bike. That chain exerts a force on the gear of your bike’s rear wheel, trying to get it to rotate. Your wheel touches the ground and, because of the force on the gear, the wheel exerts a force in the ground, trying to push the ground backwards. Due to action=-reaction, the ground exerts a forward force on your wheel. So actually, biking means “making the ground push you forward”!
You are stepping from a boat onto the shore. Use Newton’s laws to describe why you will end up in the water.
N.B. A calculation is not required, but focus on the physics and describe in words why you didn’t make it to the jetty.
Solution to Exercise 20
When you try to step on the jetty, a force needs to be exerted on you, otherwise you can’t move forward. The way you achieve that: you push with your back foot on the boat. And as a result of Newton 3, the boat will push back, but the force from the boat on you is forward directed. That is exactly what you need!
However, while you push, the boat will move backwards due to the force you exert on it. Consequently, your point of contact with the boat shifts away from the jetty. Either you let the boat go and no force from the boat is acting on you. Now gravity will do its work and if your forward velocity is not sufficient, you will not reach the jetty. Or your foot will try to follow the boat and that requires a force to the wrong direction acting on you.
Pushing harder seems an option: your forward velocity might increase more. However, the boat will also be pushed harder and moves quicker away from you. Consequently, the time interval of contact with the boat decreases. Thus, with Newton 2: dp = Fdt your increase in velocity due to the larger force might be compensated by a smaller duration that the force can do so. And you may still end up in the water.

Figure 16:align: center
Stamp designs © Royal Mail Group Ltd[^1].
Close this book (or don’t peak at it ;-)) and write down Newton’s laws. Explain in words the meaning of each of the laws. Try to come up with several, different ways of describing what is in these equations.
Experiments¶
Under construction
Pick various (note)books with different covers (smooth, rough) and do the following:
Push the book against the wall, first horizontally then slowly change the direction upwards. Note the force needed to keep the book in place.
What is the difference between the rough and smooth cover? When does your finger start to slide?
IOlab push it upwards, see v,t. a,t

A modern version of the Atwood machine uses an airtrack, as given in Figure 17. A glider is connected via a string that runs over a low-friction pulley. The masses can be changed by adding small weights.
Using a horizontal track, the acceleration is said to be uniform. Verify this and show that the acceleration is given by .
Now change the mass such that and verify this.
If we would change the angle of the airtrack so that we have a slope, the acceleration will decrease first and subsequently reverse direction. At what angle will the acceleration be once again? Verify this experimentally.
Exercise from Idema, T. (2023). Introduction to particle and continuum mechanics. Idema (2023)
- Idema, T. (2023). Introduction to particle and continuum mechanics. TU Delft OPEN Publishing. 10.59490/tb.81