I want to draw a simple figure of a boat in LaTex, does anyone know a good way to do that? Is TikZ the best package to use for this? I want it to look similar to the boat in the picture below, which I think seem to have been made using TikZ. Any ideas on how to accomplish this?

Asked
Active
Viewed 1,342 times
1
Carl
- 13
-
6Welcome to TeX.SE! Yes, TikZ is great for this. I suggest splitting the task of drawing into smaller tasks, look at the TikZ manual to see how each one can be done. If there's a specific problem which a part of the drawing, look at the existing TikZ questions here to find an already existing answer or post a question regarding that specific problem. That's efficient, one can learn, we add solutions to the database here, while a "please draw a complete thing" for me would be different, possibly this is not meant. – Stefan Kottwitz Feb 05 '15 at 12:01
-
2That drawing doesn't understand what perspective is. Why don't you find a proper one at least to copy? – percusse Feb 05 '15 at 16:11
1 Answers
3
A boat! Couldn't resist.
This should get you started.
\documentclass[tikz,border=4mm]{standalone}
\usetikzlibrary{intersections}
\begin{document}
\begin{tikzpicture}[x=0.5cm,y=0.5cm,thick,line cap=round]
\draw (0,4) -- (4,0) -- +(0,-2);
\draw (4,-2) to[out=180,in=-90,looseness=1.2] (0,4);
\draw (0,4) to [out=50,in=190,looseness=0.8] (14,14);
\draw (4,0) to [out=40,in=260,looseness=0.8] (14,14);
\draw (4,-2) to [out=40,in=280,looseness=0.8] (14,14);
\draw[name path=a,line width=1pt, -latex] (0,0) -- (16,16)
node[pos=0.9,inner sep=3mm] (x) {}
node[pos=1.02] {$x_b$};
\draw[name path=b,line width=1pt, -latex] (0,14) -- (14,0) node[pos=1.02] {$y_b$};
\path[name intersections={of=a and b,by={I}}];
\draw[line width=1pt,dashed, -latex] (I)node[right,font=\tiny] {CoG} -- +(0,-5cm)
node[pos=1.02] {$z_b$};
\draw[-latex] (x.north west) to[out=110,in=-20,looseness=5] (x.south east);
\node[right,font=\tiny] at ([xshift=5mm]x.east) {roll $p$};
\end{tikzpicture}
\end{document}
