Skip to article frontmatterSkip to article content

2.5Examples, exercises and solutions

Here are some examples and exercises that deal with forces. Make sure you practice IDEA.

2.5.1Exercises set 1

2.5.2Answers set 1

Solution to Exercise 1
Left: illustration at t=0 and v=v0. A blue circle denoting a mass m, with a red arrow pointing to the left with label F and a blue arrow pointing to the right with label v0. Right: illustration at t=delta t and v=0. The same circle is shown, but only the red arrow is shown.

F=mv0Δtx^\vec{F} = -\frac{m v_0}{\Delta t} \hat{x}

Solution to Exercise 2
Interpret
Develop
Evaluate
Assess
A blue circle with mass m is drawn at a height H above the ground. An arrow points down from the blue mass with the label -mg. A blue arrow with label v points up and to the right.
Solution to Exercise 3
  1. a=Fma = \frac{F}{m} is constant
  2. v(t)=v0+atv(t) = v_0 + at
  3. x(t)=v0t+12at2x(t) = v_0 t + \frac{1}{2}at^2
Solution to Exercise 4
  1. a=Fm=F0msin(2πf0t)a = \frac{F}{m} = \frac{F_0}{m} \sin (2\pi f_0 t) is not constant
  2. v(t)=v0+F02πf0m(1cos(2πf0t))v(t) = v_0 + \frac{F_0}{2 \pi f_0 m} \left ( 1 - \cos (2\pi f_0 t ) \right )
  3. x(t)=v0t+F02πf0mtF04π2f02msin2πf0tx(t) = v_0 t + \frac{F_0}{2\pi f_0 m} t - \frac{F_0}{4 \pi^2 f_0^2 m} \sin 2\pi f_0 t
Solution to Exercise 5
A set of x- and y-axis is drawn. A line runs from the top left to the bottom right. The intersection points of the line with the x- and y-axes are labelled A and B, respectively. On the line, there is a blue circle with label m, with a red arrow pointing right and down with label v0.
  1. Particle moves at constant velocity, thus path is a straight line:
r(t)=r0+v0t=x0i^+y0j^+v0xti^+v0ytj^\vec{r}(t) = \vec{r}_0 + \vec{v}_0 t = x_0 \hat{i} + y_0 \hat{j} + v_{0x} t \hat{i} + v_{0y} t \hat{j}

At t=0:r(0)=0i^+yAj^r(0)=r0=0i^+yAj^x0=0 and y0=yAt=0: \vec{r}(0) = 0\hat{i} + y_A \hat{j} \rightarrow \vec{r}(0) = \vec{r}_0 = 0\hat{i} + y_A\hat{j} \rightarrow x_0 = 0 \text{ and } y_0 = y_A

At t=t1t=t_1:

r(t1)=xBi^+0(^j)r(t1)=r0+v0t1  =(0+v0xt1)i^+(yA+v0yt1)j^v0x=xBt1 and v0y=yAt1\begin{split} \vec{r}(t_1) &= x_B\hat{i} + 0\hat(j) \rightarrow \\ \vec{r}(t_1) &= \vec{r}_0 +\vec{v}_0 t_1 \\ \; &= (0 + v_{0x}t_1 )\hat{i} + (y_A + v_{0y}t_1 ) \hat{j} \rightarrow \\ v_{0x} &= \frac{x_B}{t_1} \text{ and } v_{0y} = -\frac{y_A}{t_1} \end{split}
  1. Thus, we find v=xBt1i^yAt1j^\vec{v} = \frac{x_B}{t_1} \hat{i} -\frac{y_A}{t_1}\hat{j}
Solution to Exercise 6
A set of x- and y-axis is drawn. In a lighter shade, another set of x- and y-axis is drawn, which is rotated theta degrees counterclockwise.
  1. x^=cosθx^+sinθy^=123x^+12y^y^=sinθx^+cosθy^=12x^+123y^\begin{split} \hat{x}' = \cos \theta \hat{x} + \sin \theta \hat{y} = \frac{1}{2}\sqrt{3}\hat{x} + \frac{1}{2} \hat{y}\\ \hat{y}' = -\sin \theta \hat{x} + \cos \theta \hat{y} = -\frac{1}{2} \hat{x} + \frac{1}{2}\sqrt{3} \hat{y}\end{split}
  2. Invert:

    x^=cosθx^sinθy^=123x^12y^y^=sinθx^+cosθy^=12x^+123y^\begin{split} \hat{x} = \cos \theta \hat{x}' - \sin \theta \hat{y}' = \frac{1}{2}\sqrt{3}\hat{x}' - \frac{1}{2} \hat{y}'\\ \hat{y} = \sin \theta \hat{x}' + \cos \theta \hat{y}' = \frac{1}{2} \hat{x}' + \frac{1}{2}\sqrt{3} \hat{y}' \end{split}

   velocity:

v=vxx^+vyy^=vx(cosθx^sinθy^)+vy(sinθx^+cosθy^)=(vxcosθ+vysinθ)x^+(vxsinθ+vycosθ)y^\begin{split} \vec{v} &= v_x \hat{x} + v_y \hat{y} \\ &= v_x \left ( \cos \theta \hat{x}' - \sin \theta \hat{y}' \right ) +v_y \left ( \sin \theta \hat{x}' + \cos \theta \hat{y}' \right ) \\ &= \left ( v_x \cos \theta + v_y \sin \theta \right ) \hat{x}' + \left ( -v_x \sin \theta + v_y \cos \theta \right ) \hat{y}' \end{split}

    from which we find

v=(323+52)x^+(32+523)y^\vec{v} = \left ( \frac{3}{2}\sqrt{3} + \frac{5}{2} \right ) \hat{x}' + \left ( -\frac{3}{2} + \frac{5}{2}\sqrt{3} \right ) \hat{y}'
Solution to Exercise 7
x^=cos(2πft)x^+sin(2πft)y^y^=sin(2πft)x^+cos(2πft)y^\begin{split} \hat{x}' = \cos (2\pi ft) \hat{x} + \sin (2\pi ft) \hat{y}\\ \hat{y}' = -\sin (2\pi ft) \hat{x} + \cos (2\pi ft) \hat{y} \end{split}

The unit vectors of S’ rotate with a frequency ff 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. θ(t)=2πft\theta (t) = 2 \pi f t

From the figure we see, that the coordinates of a point P, (xp,yp)(x_p, y_p ) according to S, are related to those used by S’, (xp,yp) (x'_p, y'_p ) via:

xp=OPcos(α+θ)=OP(cosαcosθsinαsinθ)=xpcosθypsinθyp=OPsin(α+θ)=OP(cosαsinθ+sinαcosθ)=xpsinθ+ypcosθ\begin{split} x_p = OP \cos ( \alpha + \theta ) = OP \left ( \cos \alpha \cos \theta - \sin \alpha \sin \theta \right) = x'_p \cos \theta - y'_p \sin \theta \\ y_p = OP \sin ( \alpha + \theta ) = OP \left ( \cos \alpha \sin \theta + \sin \alpha \cos \theta \right) = x'_p \sin \theta + y'_p \cos \theta \end{split}

or written as the coordinate transformation:

x=xcosθysinθy=xsinθ+ycosθ\begin{split} x = x' \cos \theta - y' \sin \theta \\ y = x' \sin \theta + y' \cos \theta \end{split}

with its inverse

x=xcosθ+ysinθy=xsinθ+ycosθ\begin{split} x' = x \cos \theta + y \sin \theta \\ y' = -x \sin \theta + y \cos \theta \end{split}

Note that in this case θ=2πft\theta = 2 \pi ft, that is: it is a function of tt.

a) From the above relation we find that the point (1,0) in S will be denoted by S’ as (x(t),y(t))=(cos(2πft),sin(2πft))(x'(t), y'(t)) = (\cos (2 \pi ft), -\sin ( 2\pi ft))

b) the velocity of the point (1,0) in S is according to S of course zero: dxdt=0,dydt=0\frac{dx}{dt} = 0, \frac{dy}{dt} = 0 S’ will say:

x(t)=cos(2πft)dxdt=2πfsin(2πft)y(t)=sin(2πft)dydt=2πfcos(2πft)\begin{split} x'(t) = \cos ( 2\pi ft) \rightarrow \frac{dx'}{dt} = -2 \pi f \sin (2\pi ft) \\ y'(t) = -\sin ( 2\pi ft) \rightarrow \frac{dy'}{dt} = 2 \pi f \cos (2\pi ft) \end{split}
Solution to Exercise 8
A blue circle labelled by its mass m is drawn, with a red arrow labelled F pointing left and down and a blue arow labelled v0 pointing right and up.
  1. Since v0\vec{v}_0 and F\vec{F} 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, (x,y)(x,y), 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 xx-axis coincides with the original x=y line.

  2. N2: mdvdt=bvm\frac{dv}{dt} = -b v with initial conditions: t=0x=0t= 0 \rightarrow x=0 and t=0v=v0 t=0 \rightarrow v = v_0

  3. dvdtbmv=0v=Aebmt\frac{dv}{dt} - \frac{b}{m} v = 0 \rightarrow v = A e^{-\frac{b}{m}t} initial condition: t=0v=v0A=v0t= 0 \rightarrow v=v_0 \Rightarrow A = v_0 Thus: v(t)=v0ebmtv(t) = v_0 e^{-\frac{b}{m}t}

  4. for t:v0t \rightarrow \infty: v \rightarrow 0. The particle comes to rest and then, obviously, the friction force is zero.

Solution to Exercise 9
A concave down parabola is drawn, with a red dot labelled by its mass m placed on the left half of the parabola. A blue arow with label -mg points downward from the mass. A blue arrow that is tangent to the parabola (pointing right and up) is labelled v.
  1. We expect that the area, AA, under the trajectory of the ball is a function of vv, gg, and θ\theta. In a dimensional analysis we write this as ‘product of powers’:
A=vagbθcA = v^a \cdot g^b \cdot \theta^c

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 m2^2, velocity m/s, g m/s2^2 and θ\theta is dimensionless (radians don’t count as a dimension or unit). Thus:

m:2=a+bs:0=a2b\begin{split} m: 2 &= a + b \\ s: 0 &= -a -2b \end{split}

This yields: a=4,b=2a=4, b=-2. Thus on dimensional grounds we may expect: Av4g2A \sim \frac{v^4}{g^2}.

  1. In the x-direction: no forces, hence mvxdt=0x(t)=vcosθtm\frac{v_x}{dt} = 0 \rightarrow x(t) = v \cos \theta t

In the y-direction: mdvydt=mgy(t)=vsinθt12gt2m\frac{dv_y}{dt} = -mg \rightarrow y(t) = v \sin \theta t -\frac{1}{2}gt^2. Where we have used the initial conditions: x(o)=0,y(0)=0,vx(0)=vcosθ,vy(0)=vsinθx(o)=0, y(0)=0, v_x(0)=v\cos \theta, v_y(0) = v \sin \theta

  1. Total time in the air: vy(t)=0t=2vgsinθv_y(t^*)=0 \rightarrow t^* = \frac{2v}{g} \sin \theta

5+6. Evaluate the area under the trajectory:

A=0xmaxydx=0t(vsinθt12gt2)vcosθdt=v2sinθcosθ12(t)2/frac16gvcosθ(t)3=23v4g2cosθsin3θ\begin{split} A &= \int_0^{x_{max}} ydx \\ &= \int_0^{t^*} \left ( v \sin \theta t -\frac{1}{2}gt^2 \right ) v \cos \theta dt \\ &= v^2 \sin \theta \cos\theta \frac{1}{2} (t^*)^2 -/frac{1}{6} gv \cos \theta (t^*)^3 \\ &= \frac{2}{3} \frac{v^4}{g^2} \cos \theta \sin^3 \theta \end{split}
  1. We maximize the function f(θ)=cosθsin3θf(\theta) = \cos \theta \sin^3 \theta:
dfdθ=sin2θ(sin2θ+3cos2θ)\frac{df}{d\theta} = \sin^2 \theta (-\sin^2 \theta + 3 \cos^2 \theta)
dfdθ=0sinθ=0 or sin2θ=3cos2θ\frac{df}{d\theta} = 0 \rightarrow \sin \theta = 0 \text{ or } \sin^2 \theta = 3 \cos^2 \theta

The first solution give a minimum for the area (A=0A=0). So we need the second solution:

sin2θcos2θ=tan2θ=3tanθ=3θ=π3\frac{\sin^2 \theta}{\cos^2 \theta} = \tan^2 \theta =3 \rightarrow \tan \theta =\sqrt{3} \rightarrow \theta = \frac{\pi}{3}
Solution to Exercise 10
Interpret
Develop
Evaluate
Assess

We start with a sketch.

A black line runs from the bottom left to the top right. At the left end of the line, there is a mass m with a blue arrow pointing up and right with label -F. On the right end, there is a mass m/4 with a blue arrow pointing down and left with label F.

This is a 1-dimensional problem. We will use rr 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.

2.5.3Exercises 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))
Loading...
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))
Loading...
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))
Loading...
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)'))
Loading...
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”!

A close-up of the bike, showing the force exerted by the rider on the pedal and the force of the chain on the wheel. At the contact point between the tire and the ground, the force of the wheel on the ground is draw (pointing in the direction of travel) and from the ground to the wheel (against the direction of travel).
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.

Footnotes
  1. Exercise from Idema, T. (2023). Introduction to particle and continuum mechanics. Idema (2023)

References
  1. Idema, T. (2023). Introduction to particle and continuum mechanics. TU Delft OPEN Publishing. 10.59490/tb.81