How would I make the following diagram and label the values? I would prefer it if instead of a box, there were a ball rolling down the ramp and the horizontal ground displacement were labeled as well. The force arrow is not necessary. Thank you.
-
3One possibility is to use TikZ. Lines, rectangles and labels are all covered in the tutorial of the manual: ctan.cs.uu.nl/graphics/pgf/base/doc/pgfmanual.pdf . You need to show, what you have tried, and then ask about any specific problems.– hpekristiansenCommented Feb 1, 2016 at 6:26
-
1Something related: texample.net/tikz/examples/free-body-diagrams– IgnasiCommented Feb 1, 2016 at 9:50
Add a comment
|
2 Answers
\documentclass[border=5mm]{standalone}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
% \draw [help lines] (0,0) grid (10,10);
\draw (0,0) rectangle (1,4);
\draw [rotate around={-25:(1,4)}] (0,4) rectangle ({4/sin(25)+1},4+0.2);
\draw [rotate around={-25:(1,4)}] (4,4+0.2+0.5) circle (0.5);
\draw (-1,0) -- (10.3,0);
\draw [latex-latex] (-0.2,0) -- ++ (0,{4+tan(25)}) node [midway,align=left,xshift=-0.7cm]{height\\of ramp};
\draw [latex-latex] (1.1,3.7) -- ++ (-25:{8.5}) node [rotate=-25,midway,yshift=-0.3cm]{length of ramp};
\end{tikzpicture}
\end{document}
A nice one to do with the basic shapes in Metapost and the "Pythagorean minus" operator...
\documentclass[border=5mm]{standalone}
\usepackage{fontspec}
\setmainfont{Helvetica}
\usepackage{luamplib}
\begin{document}
\mplibtextextlabel{enable}
\begin{mplibcode}
beginfig(1);
path ground, wall, ramp, ball;
w = 21; h = 3w; r = 200; a = angle(r+-+h,-h);
ground = (left -- right) scaled 140;
wall = unitsquare xscaled w yscaled h shifted 110 left;
ramp = unitsquare xscaled (r+w) yscaled 5
shifted point 3 of wall
rotatedabout(point 2 of wall, a);
ball = fullcircle scaled 2 shifted up rotated a
scaled 10 shifted point 2.7 of ramp;
draw ground;
fill wall withcolor .7[red+1/2green,white]; draw wall;
fill ramp withcolor .7[red,white]; draw ramp;
fill ball withcolor .7[blue,white]; draw ball;
path mark[];
mark1 = (point 1 of wall -- point 1 of ramp) shifted 7 down;
drawdblarrow mark1;
draw (down--up) scaled 2 shifted point 0 of mark1;
draw (down--up) scaled 2 shifted point 1 of mark1;
label.bot("Displacement", point 0.5 of mark1);
endfig;
\end{mplibcode}
\end{document}
Notes
Compile with
lualatex
.The units of measurement are PostScript points: 72 = 1in, 28.35 = 1cm
Move the ball by picking a different point along the ramp.
A
unitsquare
path has four points numbered anticlockwise from the lower left.Add more labels as desired.