Basics of center of mass and conservation of momentum of a set of masses and an exploding bomb.
For more figures, please check out the “center of mass” and “conservation of momentum” tag.
Edit and compile if you like:
% Author: Izaak Neutelings (October 2020)
\documentclass[border=3pt,tikz]{standalone}
\usepackage{physics}
\usepackage{tikz}
%\usepackage[outline]{contour} % glow around text
\usetikzlibrary{calc}
\tikzset{>=latex} % for LaTeX arrow head
\usetikzlibrary{patterns}
\usetikzlibrary{decorations.pathmorphing} % for decorate random steps
%\contourlength{2pt}
\colorlet{xcol}{blue!70!black}
\colorlet{vcol}{green!60!black}
\colorlet{myred}{red!65!black}
\colorlet{acol}{red!50!blue!80!black!80}
\tikzstyle{mass}=[line width=0.6,red!30!black,fill=red!40!black!10,rounded corners=1,
top color=red!40!black!20,bottom color=red!40!black!10,shading angle=20]
\tikzstyle{rvec}=[->,xcol,very thick,line cap=round]
\tikzstyle{pvec}=[->,myred,very thick,line cap=round]
\tikzstyle{velocity}=[->,vcol,very thick,line cap=round]
\tikzset{
pics/collision/.style={
code={
\draw[line width=0.5*#1,orange,fill=yellow]
(0:0.20*#1) -- (30:0.06*#1) -- (50:0.25*#1) -- (80:0.10*#1) -- (105:0.32*#1) --
(140:0.08*#1) -- (170:0.25*#1) -- (190:0.08*#1) -- (220:0.25*#1) --
(250:0.08*#1) -- (270:0.24*#1) -- (300:0.08*#1) -- (320:0.25*#1) -- (340:0.09*#1) -- cycle;
}},
pics/collision/.default=1,
}
\begin{document}
% CENTER OF MASS 2D
\begin{tikzpicture}
\def\xmax{4.7} % max x axis
\def\ymax{3.6} % max y axis
\coordinate (O) at (0,0);
\coordinate (M1) at (0.25*\xmax, 0.80*\ymax);
\coordinate (M2) at (0.38*\xmax, 0.48*\ymax);
\coordinate (M3) at (0.80*\xmax, 0.20*\ymax);
\coordinate (M4) at (0.40*\xmax,-0.1*\ymax);
\coordinate (CM) at (0.50*\xmax, 0.4*\ymax);
\draw[->,thick] (0,-0.2*\ymax) -- (0,\ymax) node[left] {$y$};
\draw[->,thick] (-0.2*\xmax,0) -- (\xmax,0) coordinate (X) node[below] {$x$};
\draw[mass] (M1) circle(0.12) node[right=3,above=0] {$m_1$};
\draw[mass] (M2) circle(0.10) node[above right=-1] {$m_2$};
\draw[mass] (M3) circle(0.14) node[right=2] {$m_3$};
\draw[mass] (M4) circle(0.08) node[right=1] {$m_4$};
\fill[myred!80!black] (CM) circle(0.08) node[right=1] {CM};
\draw[rvec] (O) -- (M1) node[midway,above=12,left=-6] {$\vb{r}_1$};
\draw[rvec] (O) -- (M2) node[midway,right=0,above=3] {$\vb{r}_2$};
\draw[rvec] (O) -- (M3) node[midway,right=11,below=-3] {$\vb{r}_3$};
\draw[rvec] (O) -- (M4) node[midway,below=-1] {$\vb{r}_4$};
\draw[rvec,myred] (O) -- (CM) node[midway,above=2,right=7] {$\vb{r}_\mathrm{cm}$};
\end{tikzpicture}
% CENTER OF MASS - bomb before
\begin{tikzpicture}
\def\R{0.7} % radius
\def\h{0.15} % height fuse box
\coordinate (O) at (0,0);
\draw[thin,preaction={draw=brown!80!black,fill=brown!50},
pattern color=brown!60!black,pattern=north west lines,draw=none,minimum width=0.1,minimum height=0.6]
(0.05,\R+0.95*\h) --++ (0,0.3*\h) to[out=90,in=-160]++ (0.2,0.3) --++ (110:0.1) node[midway] (F) {}
to[out=-160,in=90]++ ({-0.3+0.1*cos(70)},{-0.3-0.1*sin(70)}) --++ (0,-0.3*\h) -- cycle;
\pic[scale=1] at (F) {collision={0.8}};
\draw[thick,ball color=black] (O) circle(\R);
\fill[thick,black!90,opacity=0.3] (O) circle(\R);
\draw[thick,top color=black!80,bottom color=black,shading angle=75]
(80:\R) |-++ ({-2*\R*sin(10)},\h) -- (100:\R) to[out=-20,in=-160] cycle;
\fill[myred!90] (O) circle(0.12); %node[right=1] {\contour{black!20}{cm}};
\end{tikzpicture}
% CENTER OF MASS - bomb after
\begin{tikzpicture}
\def\R{0.7} % radius
\coordinate (O) at (0,0);
\pic[scale=1,rotate=-100] at (O) {collision={3.3}};
\fill[myred!90] (O) circle(0.12); %node[right=1] {\contour{black!20}{cm}};
%\draw[thick,ball color=black] (O) circle(\R);
\foreach \anga/\angb [evaluate={\ang=(\angb+\anga)/2;}] in {0/70,70/120,120/150,150/200,200/260,260/320,320/360}{
\begin{scope}[shift={(\ang:1.1*\R)}]
\clip[decorate,decoration={random steps,segment length=4pt,amplitude=2pt}]
(\anga:1.8*\R) arc(\anga:\angb:1.8*\R) -- (0,0) -- cycle;
\draw[thick,ball color=black] (0,0) circle(\R);
\fill[thick,black!90,opacity=0.3] (0,0) circle(\R);
\draw[pvec] (\ang:0.9*\R) --++ (\ang:0.7*\R);
\end{scope}
}
\end{tikzpicture}
% CENTER OF MASS - bomb after
\begin{tikzpicture}
\def\xmax{8} % maximum x axis
\def\A{0.15} % amplitude of parabola
\def\root{10} % root of parabola (intersection with x axis)
\def\R{0.4} % bomb radius
\def\xi{1} % bomb 0 x position
\def\xa{8} % bomb 1 x position
\def\xb{9} % bomb 2 x position
\def\h{0.15} % height fuse box
\coordinate (O) at (0,0);
\coordinate (B0) at (\xi,{\A*(\root-\xi)*\xi});
\coordinate (B1) at (\xa,{\A*(\root-\xa)*\xa});
\coordinate (B2) at (\xb,{\A*(\root-\xb)*\xb});
\draw[xcol,very thick,variable=\x,samples=100,smooth,domain=0:\root]
plot(\x,{\A*(\root-\x)*\x});
% BOMB BEFORE
\begin{scope}[shift={(B0)}]
\draw[thin,preaction={draw=brown!80!black,fill=brown!50},
pattern color=brown!60!black,pattern=north west lines,draw=none,minimum width=0.1,minimum height=0.6]
(0.05,\R+0.95*\h) --++ (0,0.3*\h) to[out=90,in=-160]++ (0.2,0.3) --++ (110:0.1) node[midway] (F) {}
to[out=-160,in=90]++ ({-0.3+0.1*cos(70)},{-0.3-0.1*sin(70)}) --++ (0,-0.3*\h) -- cycle;
\pic[scale=1] at (F) {collision={0.8}};
\draw[thick,ball color=black] (0,0) circle(\R);
\fill[thick,black!90,opacity=0.3] (0,0) circle(\R);
\draw[thick,top color=black!80,bottom color=black,shading angle=75]
(80:\R) |-++ ({-2*\R*sin(10)},\h) -- (100:\R) to[out=-20,in=-160] cycle;
\fill[myred!90] (0,0) circle(0.12); %node[right=1] {\contour{black!20}{cm}};
\draw[pvec] (0,0) --++ ({atan(\A*(\root-\xi))}:2.8*\R);
\end{scope}
% BOMBS AFTER
\pic[scale=1,rotate=-100] at (B1) {collision={1.9}};
%\pic[scale=1,rotate=-100] at (B2) {collision={1.9}};
\fill[myred!90] (B1) circle(0.11);
%\fill[myred!90] (B2) circle(0.11);
\foreach \anga/\angb [evaluate={\ang=(\angb+\anga)/2;}] in {0/70,70/120,120/150,150/200,200/260,260/320,320/360}{
\begin{scope}[shift={($(B1)+(\ang:0.8*\R)$)}] % BOMB 1
\clip[decorate,decoration={random steps,segment length=2pt,amplitude=1pt}]
(\anga:4*\R) arc(\anga:\angb:4*\R) -- (0,0) -- cycle;
\draw[thick,ball color=black] (0,0) circle(\R);
\fill[thick,black!90,opacity=0.3] (0,0) circle(\R);
\draw[pvec] (\ang:0.9*\R) --++ (\ang:{\R*(1.8+0.8*cos(\ang)-0.2*sin(\ang))});
\end{scope}
%\begin{scope}[shift={($(B2)+(\ang:2.5*\R)$)}] % BOMB 2
% \clip[decorate,decoration={random steps,segment length=5pt,amplitude=3pt}]
% (\anga:3*\R) arc(\anga:\angb:3*\R) -- (0,0) -- cycle;
% \draw[thick,ball color=black] (0,0) circle(\R);
% \fill[thick,black!90,opacity=0.3] (0,0) circle(\R);
% \draw[pvec] (\ang:0.9*\R) --++ (\ang:{\R*(1.6+0.8*cos(\ang)-0.5*sin(\ang))});
%\end{scope}
}
\end{tikzpicture}
% CENTER OF MASS 1D
\begin{tikzpicture}
\def\xmax{2.5} % max x axis
\coordinate (O) at (0,0);
\coordinate (M1) at (-0.75*\xmax,0);
\coordinate (M2) at ( 0.65*\xmax,0);
\coordinate (CM) at ( 0.15*\xmax,0);
\draw[->,thick] (-\xmax,0) -- (\xmax,0) coordinate (X) node[below] {$x$};
\draw[thick] (0,0.1) -- (0,-0.1) node[below=-1.8,scale=0.9] {0};
\draw[<->] (M1)++(0,-0.6) --++ (1.4*\xmax,0) node[midway,fill=white,inner sep=1] {$d$};
\draw[mass] (M1) circle(0.35) node {$m_1$};
\draw[mass] (M2) circle(0.40) node {$m_2$};
\fill[myred!80!black] (CM) circle(0.08) node[above=1] {CM};
\end{tikzpicture}
\end{document}Click to download: dynamics_center_of_mass.tex • dynamics_center_of_mass.pdf
Open in Overleaf: dynamics_center_of_mass.tex




