Study of the stability of a ladder leaning against a brick fall.
For more on stability, see the “stability” tag. These figures are used in Ben Kilminster’s lecture notes for PHY111.
Edit and compile if you like:
% Author: Izaak Neutelings (October 2020) \documentclass[border=3pt,tikz]{standalone} \usepackage{physics} \usepackage{siunitx} \usepackage{tikz} \usetikzlibrary{calc} \usetikzlibrary{angles,quotes} % for pic \usetikzlibrary{arrows.meta} \usetikzlibrary{bending} % for arrow head angle \tikzset{>=latex} % for LaTeX arrow head \usetikzlibrary{patterns} \colorlet{xcol}{blue!70!black} \colorlet{vcol}{green!60!black} \colorlet{myred}{red!65!black} \colorlet{mypurple}{blue!60!red!80} \colorlet{acol}{red!50!blue!80!black!80} \tikzstyle{rvec}=[->,xcol,very thick,line cap=round] \tikzstyle{vvec}=[->,vcol,very thick,line cap=round] \tikzstyle{myarr}=[{Latex[length=3,width=3]}-,xcol] \tikzstyle{myarr2}=[{Latex[length=2,width=3]}-{Latex[length=2,width=3]}] \tikzstyle{force}=[->,myred,very thick,line cap=round] \tikzstyle{Fproj}=[force,myred!40] \tikzstyle{myarr}=[-{Latex[length=4,width=3]}] \tikzstyle{myarr2}=[{Latex[length=4,width=3]}-{Latex[length=3,width=3]}] \tikzstyle{CM}=[red!40!black,fill=red!80!black!80] \tikzstyle{mass}=[line width=0.6,draw=red!30!black, %rounded corners=1, top color=red!40!black!30,bottom color=red!40!black!10,shading angle=30] \tikzstyle{ground}=[preaction={fill,top color=black!10,bottom color=black!5,shading angle=20}, fill,pattern=north east lines,draw=none,minimum width=0.3,minimum height=0.6] \tikzstyle{metal}=[fill,top color=black!40,bottom color=black!20,shading angle=10] \def\tick#1#2{\draw[thick] (#1) ++ (#2:0.1) --++ (#2-180:0.2)} \tikzstyle{ladder}=[brown!40!black,fill=brown!70!black,thin,line cap=round] \tikzstyle{limb}=[thick,line cap=round] \def\LL{4.7} % ladder length \def\LR{0.06} % ladder radius \def\r{0.04} % pulley small radius \tikzset{ pics/Tin/.style={ code={ \def\R{0.12} \draw[pic actions,line width=0.6,#1,fill=white] % ,thick (0,0) circle (\R) (-135:.75*\R) -- (45:.75*\R) (-45:.75*\R) -- (135:.75*\R); }}, pics/Tout/.style={ code={ \def\R{0.12} \draw[pic actions,line width=0.6,#1,fill=white] (0,0) circle (\R); \fill[pic actions,#1] (0,0) circle (0.3*\R); }}, pics/ladder/.style={ code={ \coordinate (L1) at (0,\LR+0.01); \draw[ladder] (L1)++(#1-90:\LR) arc(#1-90:#1-270:\LR) --++ (#1:{\LL-\LR/cos(\ang)}) arc(90+#1:#1-90:\LR) -- cycle; \coordinate (L2) at ($(L1)+(#1:\LL/2)$); \coordinate (L3) at ($(L1)+(#1:{\LL-\LR/cos(\ang)})$); }}, pics/groundwall/.style={ code={ \draw[ground] ({-0.26*\W},0) rectangle ({1.18*\W},-\D); \draw[thick] ({-0.26*\W},0) -- ({1.18*\W},0); \foreach \i[evaluate={\by=\i*\bh}] in {0,...,\N}{ %[evaluate={\bh=\H/\N;\by=\i*\bh}] in {0,...,\N}{ \draw[red!40!black,fill=red!40!black!40,rounded corners=0.8] ({\W},\by) rectangle++ (1.2*\D,\bh); \begin{scope} \clip ({\W+0.01},\by+0.01) rectangle++ (1.2*\D-0.02,\bh-0.02); \foreach \j in {0,...,\Nd}{ \fill[red!40!black] ({\W+(1+rand)*0.6*\D},{\by+(1+rand)*\bh/2}) circle(0.002); % random dots } \end{scope} } }}, pics/Tin/.default=mypurple, pics/Tout/.default=mypurple, pics/ladder/.default=45, } \begin{document} % LADDER \def\ang{50} % angle diagonal \def\H{\LL*sin(\ang)} % ladder height \def\W{\LL*cos(\ang)} % ladder width \def\R{sqrt(\W^2+\H^2)/2} % block half-diagonal \def\D{0.25} % ground depth \def\F{0.95} % force \def\Ff{0.85} % force friction \def\N{31} % number of bricks \def\Nd{30} % number of dots per brick \def\bh{0.125} % brick height \begin{tikzpicture} \message{Ladder^^J} \coordinate (O) at (0,0); \coordinate (M) at (\ang:\LL/2); \coordinate (T) at (\ang:\LL); \coordinate (R) at ({\W},0); % GROUND + WALL \pic at (O) {groundwall}; \draw[myarr2,thick] (-0.3*\F,{0.85*\H}) node[left,scale=0.8] {$y$} |-++ (0.65*\F,-0.65*\F) node[below,scale=0.8] {$x$}; \draw[myarr,thick] (0.38*\F,{0.9*\H}) arc(100:10:0.35*\F) node[right=1,below=-1,scale=0.7] {$+$}; % LADDER \pic[scale=1] at (O) {ladder={\ang}}; \draw[CM] (L2) circle(0.9*\LR); \draw[force] (L1) --++ (\Ff,0) node[above right=-3] {$\vb{F}_\mathrm{f}$}; \draw[force] (L1) --++ (0,\F) node[above=-2] {$\vb{F}_\mathrm{N}$}; \draw[force] (L2) --++ (0,-\F) coordinate (FG) node[above right=0] {$M\vb{g}$}; \draw[force] (L3) --++ (-\Ff,0) coordinate (FW) node[left=-3] {$\vb{F}_\mathrm{W}$}; \draw[dashed] (L3) --++ (\ang:0.15*\LL) coordinate (T'); \draw pic[->,"$\theta$"scale=0.9,draw,angle radius=12,angle eccentricity=1.4] {angle=R--O--T}; \draw pic[<-,"$\dfrac{\pi}{2}-\theta$"{scale=0.8,above right=-5},draw,angle radius=9,angle eccentricity=1.5] {angle=FG--M--T}; \draw pic[-{>[flex=1]},"$\pi-\theta$"{scale=0.8,above left=-5},draw,angle radius=9,angle eccentricity=1.4] {angle=T'--L3--FW}; \end{tikzpicture} % LADDER + person \begin{tikzpicture} \message{Ladder + person^^J} \def\h{1.2} % human height \coordinate (O) at (0,0); \coordinate (T) at (\ang:\LL); \coordinate (R) at ({\W},0); \coordinate (S) at ($(\ang:0.28*\LL)+(0,1.4*\LR)$); % GROUND + WALL \pic at (O) {groundwall}; % PERSON \draw[thick] (S)++(0,\h) circle(0.22) coordinate (H); \draw[thick] (H)++(-90:0.22) coordinate (N) to[out=-91,in=92]++ (0,-0.35*\h) coordinate (P); \draw[limb] (N)++(-95:0.03) to[out=-120,in=-85]++ (-0.31*\h,0.22*\h); % right arm \draw[limb] (N)++(-85:0.03) to[out=-60,in=105]++ (0.19*\h,-0.35*\h); % left arm \draw[limb] (S)++(\ang:0.06*\LL) to[out=85,in=-70,looseness=1.4] (P); % left leg \draw[limb] (S) to[out=85,in=-80] (P); % right leg % LADDER \pic[scale=1] at (O) {ladder={\ang}}; \draw[CM] (L2) circle(0.9*\LR); \draw[force] (L1) --++ (\Ff,0) node[above=3,right=-3] {$\vb{F}_\mathrm{f}$}; \draw[force] (L1) --++ (0,\F) node[left=2,above=-2] {$\vb{F}_\mathrm{N}$}; \draw[force] (L2) --++ (0,-\F) node[above right=0] {$M\vb{g}$}; \draw[force] (L3) --++ (-\Ff,0) node[left=-3] {$\vb{F}_\mathrm{W}$}; \draw[force] (S)++(\ang:0.03*\LL) coordinate (SM) --++ (0,-0.58*\F) node[below right=-4] {$m\vb{g}$}; \draw[rvec] (L1) -- (SM) node[midway,above=2] {$\vb{r}$}; \draw pic[->,"$\theta$"scale=0.9,draw,angle radius=12,angle eccentricity=1.4] {angle=R--O--T}; \end{tikzpicture} % LADDER + person \begin{tikzpicture} \message{Ladder + person, shifted CM^^J} \def\h{1.2} % human height \coordinate (O) at (0,0); \coordinate (T) at (\ang:\LL); \coordinate (R) at ({\W},0); \coordinate (S) at ($(\ang:0.28*\LL)+(0,1.4*\LR)$); % GROUND + WALL \pic at (O) {groundwall}; % PERSON \draw[thick] (S)++(0,\h) circle(0.22) coordinate (H); \draw[thick] (H)++(-90:0.22) coordinate (N) to[out=-91,in=92]++ (0,-0.35*\h) coordinate (P); \draw[limb] (N)++(-95:0.03) to[out=-120,in=-85]++ (-0.31*\h,0.22*\h); % right arm \draw[limb] (N)++(-85:0.03) to[out=-60,in=105]++ (0.19*\h,-0.35*\h); % left arm \draw[limb] (S)++(\ang:0.06*\LL) to[out=85,in=-70,looseness=1.4] (P); % left leg \draw[limb] (S) to[out=85,in=-80] (P); % right leg % LADDER \pic[scale=1] at (O) {ladder={\ang}}; \draw[CM] (L2)++(\ang-180:0.1*\LL) circle(0.9*\LR) coordinate (CM); \draw[force] (L1) --++ (\Ff,0) node[above right=-3] {$\vb{F}_\mathrm{f}$}; \draw[force] (L1) --++ (0,\F) node[left=2,above=-2] {$\vb{F}_\mathrm{N}$}; \draw[force] (CM) --++ (0,-\F) node[above right=0,scale=0.94] {$(m+M)\vb{g}$}; \draw[force] (L3) --++ (-\Ff,0) node[left=-3] {$\vb{F}_\mathrm{W}$}; %\draw[force] (S)++(\ang:0.03*\LL) coordinate (SM) --++ (0,-0.45*\F) node[below right=-4] {$m\vb{g}$}; \draw[rvec] (L1) -- (CM) node[midway,above left=-2] {$\vb{r}$}; \draw pic[->,"$\theta$"scale=0.9,draw,angle radius=12,angle eccentricity=1.4] {angle=R--O--T}; \end{tikzpicture} % LADDER - tan \begin{tikzpicture} \message{Plot numerical solution^^J} \def\xmax{2.8} \def\ymax{1.8} \def\A{0.13*\ymax} % yscale \def\p{0.5*pi*\xmax} % xscale (in units of pi) \def\B{59/180} % mu_s = 0.3 \coordinate (O) at (0,0); \coordinate (B) at (\B*\p,{\A/2/0.3}); % mu_s = 0.3 \coordinate (Bx) at (\B*\p,0); \coordinate (By) at (0,{\A/2/0.3}); \draw[->,thick] (0,-1.1*\ymax) -- (0,1.05*\ymax) node[below=3,left] {$\tan\theta$}; \draw[->,thick] (-1.05*\xmax,0) -- (1.05*\xmax,0) node[below] {$\theta$}; \draw[dashed] (-\p/2,-\ymax) -- (-\p/2,\ymax); \draw[dashed] (\p/2,-\ymax) -- (\p/2,\ymax); \draw[line width=1.0,orange!50!red!80!black] (By) -- (B) --++ (0.2*\xmax,0); \draw[dashed] (B) -- (Bx); \tick{-\p/2,0}{90} node[below=0.7,scale=1,fill=white,inner sep=1.6] {$-\SI{90}{\degree}$}; %{$-\dfrac{\pi}{2}$}; \tick{ \p/2,0}{90} node[below=0.7,scale=1,fill=white,inner sep=1.6] {$\SI{90}{\degree}$}; %{$\dfrac{\pi}{2}$}; \tick{Bx}{90} node[below=-1,scale=1] {$\SI{59}{\degree}$}; \tick{By}{0} node[above=1,left=0,scale=0.9] {$\dfrac{1}{2\mu_\mathrm{s}}$}; \draw[very thick,orange!80!black,samples=100,smooth,variable=\t,domain=-0.46*\p:0.46*\p] plot(\t,{\A*tan(\t*180/(\p))}); \fill[red!50!black] (B) circle(0.05); \end{tikzpicture} % LADDER - plot \begin{tikzpicture} \message{Minimum angle vs. mu_s^^J} \def\xmax{3.2} \def\ymax{2.4} \def\A{0.8*\ymax} % yscale \def\k{0.9*\xmax} % xscale \def\B{59/90*\A} % mu_s = 0.3 \def\C{26.57/90*\A} % mu_s = 1 \coordinate (O) at (0,0); \coordinate (B) at (0.3*\k,\B); \coordinate (Bx) at (0.3*\k,0); \coordinate (By) at (0,\B); \coordinate (C) at (\k,\C); \coordinate (Cx) at (\k,0); \coordinate (Cy) at (0,\C); \draw[->,thick] (0,-0.1*\xmax) -- (0,1.05*\ymax) node[below=3,left] {$\theta_\text{min}$}; \draw[->,thick] (-0.1*\xmax,0) -- (1.05*\xmax,0) node[below] {$\mu_\mathrm{s}$}; \draw[very thick,orange!80!black,samples=100,smooth,variable=\t,domain=0.01:0.9*\xmax] plot(\t,{\A*atan(\k/2/\t)/90}); \draw[dashed] (Bx) |- (By); \draw[dashed] (Cx) |- (Cy); \tick{Cx}{90} node[below=-1,scale=0.9] {$1$}; \tick{Bx}{90} node[below=-1,scale=0.9] {$0.3$}; \tick{0,\A}{0} node[right=3,left=0,scale=0.9] {$\SI{90}{\degree}$}; \tick{By}{0} node[right=3,left=0,scale=0.9] {$\SI{59}{\degree}$}; \tick{Cy}{0} node[right=3,left=0,scale=0.9] {$\SI{25.6}{\degree}$}; \fill[red!50!black] (B) circle(0.05); \fill[red!50!black] (C) circle(0.05); \end{tikzpicture} % LADDER + PERSON - plot \begin{tikzpicture} \message{Minimum angle vs. r^^J} \def\xmax{3.2} \def\ymax{2.4} \coordinate (O) at (0,0); \coordinate (B) at (0.45*\xmax,0.5*\ymax); \coordinate (Bx) at (0.45*\xmax,0); \coordinate (By) at (0,0.5*\ymax); \draw[->,thick] (0,-0.1*\xmax) -- (0,1.05*\ymax) node[below=3,left] {$\theta_\text{min}$}; \draw[->,thick] (-0.1*\xmax,0) -- (1.05*\xmax,0) node[below] {$r$}; %\mu_\mathrm{s} \draw[very thick,orange!80!black] (0,0.2*\ymax) -- (0.9*\xmax,0.8*\ymax); \draw[dashed] (Bx) |- (By); \tick{Bx}{90} node[below=-1,scale=0.9] {$L/2$}; \tick{0.9*\xmax,0}{90} node[below=-1,scale=0.9] {$L$}; \tick{By}{0} node[right=3,left=0,scale=0.9] {$\SI{59}{\degree}$}; \fill[red!50!black] (B) circle(0.05); \end{tikzpicture} \end{document}
Click to download: dynamics_stability_ladder.tex • dynamics_stability_ladder.pdf
Open in Overleaf: dynamics_stability_ladder.tex