# Draw an aircraft with Tikz

I want to draw a plane using the Tikz tool. You will find, attached, a screenshot.

• Please kindly provide a minimal working example to show your effort and to show what your problem is. – kiss my armpit May 17 '13 at 13:53
• Though it might be fun to try, your question sounds like: "Please do this difficult drawing for me for free. Thanks." As @ClickMe says, explaining what you've tried yourself (preferably with some code) would help get past that impression. – badroit May 17 '13 at 14:00
• Friends, please do not downvote this question if the score is already -1. – Paulo Cereda May 17 '13 at 14:07
• The question has received quite some downvotes. We should explain the OP (@physics) why we think that this question is "bad": Drawing such a complex graphics with tikz is a tedious job and it might be done much easier with the right tool. Since we don't know what the purpose is to do that with tikz, nobody will of course spend an hour or two drawing that airplane in tikz. If you (the OP) already have say 90% of the code, our job would easier and we know where the difficulty is. – topskip May 17 '13 at 14:14
• I would just like to note that the TeX Stack Exchange community is one of the best communities I have encountered on the internet so far and that it is a pleasure and an absolute joy to be a part of it (although I am not talking much, I read Q&As every day). I appreciate it! Perhaps beautiful typography is one of the ways to find the best in people. :-) – Harold Cavendish May 17 '13 at 22:04

It was suggested in chat

http://chat.stackexchange.com/transcript/message/9482087#9482087

That picture mode would be the ideal tool for the job here:

\documentclass{article}
\begin{document}
\begin{picture}(200,100)
\put(30,40){\line(1,0){150}}
\put(30,40){\line(0,1){60}}
\put(30,100){\line(1,0){20}}
\put(50,100){\line(1,-4){10}}
\put(60,60){\line(1,0){100}}
\put(160,60){\line(1,-1){20}}
\put(100,50){\line(0,-1){80}}
\put(130,50){\line(0,-1){80}}
\put(100,-30){\line(1,0){30}}
\put(100,61){\line(0,1){49}}
\put(130,61){\line(0,1){49}}
\put(100,110){\line(1,0){30}}
\end{picture}
\end{document}

• Best. Airplane. Ever. :) – Paulo Cereda May 17 '13 at 22:13
• @PauloCereda: The tailplane is missing. – AlexG Jun 26 '14 at 8:02
• @AlexG An exercise left for the reader. – Sean Allred Feb 21 '15 at 16:23
• @SeanAllred the fuselage has been aerodynamically tuned to the extent that an additional wing on the tail is not needed in this design. – David Carlisle Feb 21 '15 at 16:32
• It could take somebody a few minutes to realize it is just a drawing, not a real plane. If drawing a plane is an art, you are its Picasso. :) – Diaa Aug 9 '18 at 16:24

I would politely discourage anyone from drawing extremely technical drawings like this one using pure LaTeX (TikZ or PStricks). Here I'm actually referencing abstract/non-mathematical drawings, including an airplane with Rolls-Royce Trent 1000 engines. Why?

Well, there are many other applications that you can use and easily export to a graphics format that can be included into your document using \includegraphics from graphicx.

For example, searching the Google Sketchup 3D Warehouse for airplane gives you detailed 3D models of everything from a Boeing:

to a paper airplane (on graphing paper!):

Another 3D graphic tools, Sketch:3D Scene Description Translator not to be confused with google sketchup draws two- or three-dimensional solid objects and scenes by describing them in a tiny input language. Sketch emits PSTricks or TikZ/PGF code and allows embedding arbitrary LaTeX code for labeling and any other purpose the user can imagine. A novel feature allows LaTeX objects to be positioned with respect to 3d points in the scene. More details have a look at Italian document titled "Illustrazioni tridimensionali A con Sketch/LaTeX/PSTricks/Tikz nella didattica della Dinamica del Volo by A De Marco" at arstexnica no 4, Oct 2007. Some more related examples/hints by author

Figure 8(a) in above article 3D Illustrations using sketch of aircraft:

Similarly, OpenClipArt provides SVG images in abundance (sometimes more cartoon-like though), including many for airplanes. These can be converted to TikZ images using Inkscape.

Printing any of these to PDF if no other means exist (again, using free software like PDF Creator print driver or otherwise) gives you a scalable vector graphics image which you can then use to overlay your annotations using techniques described in Drawing on an image with TikZ.

• – kiss my armpit May 17 '13 at 23:36
• Thanks @Werner for having brought the attention on my paper about Sketch. – agodemar May 18 '13 at 9:16
• These are great images from google. How would you include them in your document? After following the link above (for example for the paper airplane) I wind up getting a find in "dae" format. I have not idea what that is. Any suggestions? – A.Ellett Jun 26 '13 at 22:41
• @A.Ellett: The images above are from Google Sketchup models. So (and what I typically do) is open up the model in Sketchup and print it to PDF. That transfers the model into a 2D vector graphics that you can "play" with (after playing with it to your liking in Sketchup itself). There is some loss of information (shadows, most notably). However, I'm also using the free version for these "conversions"; Google Sketchup Pro natively exports to PDF and other formats, but I haven't tried it. – Werner Jun 26 '13 at 22:51

http://github.com/lahvak/TeX-stuff/blob/master/plane.tex

(I tried to include the code here, but it was too large.)

It will produce a picture like this:

You can then edit the code, clean it up, shorten it, etc.

Edit: I took the original .png image, deleted some irrelevant parts, and use potrace to get a vectorized version. That step would not be necessary if the original already was in a vector format. Then I use pstoedit to convert it to an editable format. At least the version of pstoedit on my computer does not do conversion to tikz, but metapost uses very similar syntax for path specifications, so I converted to metapost and eddited by hand.

Then I went through the file, adding color attributes to individual path to be able to locate which one is which, and, with a help of an overlayed grid, editted at least some of the paths. The editing could be carried much further, but as an example I feel this is sufficient. It is a tedious process, but IMHO it would be less work than creating the whole drawing from scratch in tikz.

As it is, it really did not take long, I had to interrupt the work several times, but altogether it took perhaps 30 minutes or so.

• I'm interested to know how you did this, and perhaps how long it took you. My answer references the fact that non-mathematical yet technical drawings like this is better-suites for other languages. My first instinct is a tracing mechanism that takes (as input) any image and yields (as output) a vectorized version - almost like OCR. – Werner May 18 '13 at 13:08
• @Werner I had the same thought hence resisted to post. But nevertheless potrace or autotrace to trace to vector and then inkscape2tikz to spit out TikZ code looks good. This process may need touchup time or more work to be done in TikZ to remove bad conversions. – texenthusiast May 18 '13 at 19:14
• @Werner: see the last edit. – Jan Hlavacek May 18 '13 at 23:11

\documentclass[preview,border=12pt]{standalone}
\usepackage{bbding,graphicx}
\begin{document}
\scalebox{10}{\Plane}
\end{document}


## Edit:

Responding to the requested animation:

\documentclass[preview,border=12pt,multi]{standalone}
\usepackage{bbding,graphicx,multido}
\begin{document}
\multido{\i=10+-1}{10}{\preview\scalebox{\i}{\Plane}\endpreview}
\end{document}


How to enjoy it? Imagine that you are dropped from a plane.

• No animation ? I'm disappointed ;) – Tom Bombadil May 17 '13 at 20:50
• Look to me like the plane … drops. – Qrrbrbirlbel May 17 '13 at 21:02
• @Qrrbrbirlbel: Yes. It is also correct. Motion is relative. I brush my teeth by rotating my head and hold my toothbrush motionless. – kiss my armpit May 17 '13 at 21:09
• I wonder why bbding is not part of texlive 2012? ! LaTeX Error: File bbding.sty' not found. when I do pdflatex on the above code on Linux. pdfTeX 3.1415926-2.4-1.40.13 (TeX Live 2012/Debian) – Nasser May 17 '13 at 21:22
• @Nasser: I used TeX Live 2012 that was regularly updated (but before TL got frozen). – kiss my armpit May 17 '13 at 21:24

An example, from pgfplots gallery:

fontawesome now offers a scalable alternative to the symbol from bbding, offering both an aeroplane symbol proper and two versions of a paper aeroplane.

\documentclass{article}
\usepackage{fontawesome}
\begin{document}
\faPlane \faPaperPlane \faPaperPlaneO
\end{document}


And the font even scales correctly when compiled with pdfTeX. If you have problems with scaling make sure your TeX distribution is current as an earlier version was buggy in a way which affecting scaling with pdfTeX (but not Xe/LuaTeX).

The next revolution in aviation:

### The duck plane

\documentclass{standalone}

\usepackage{tikzducks}

\begin{document}
\begin{tikzpicture}
\duck

\fill[orange] (0.7331,0.5229) .. controls (1.8688,-0.6326) and (2.2337,0.0383) .. (1.2819,0.7331) -- cycle;

\fill[brown] (1.3848,1.6771) .. controls (1.2665,2.2823) and (0.5559,2.2697) .. (0.4000,1.6455) .. controls (0.5711,1.6714) and (0.8503,1.6562) .. (0.9926,1.6247) .. controls (0.9703,1.4641) and (1.0307,1.0718) .. (1.1444,1.0104) .. controls (1.3485,0.9002) and (1.4461,1.4498) .. (1.3848,1.6771) -- cycle;

\fill[gray] (0.9153,1.4857) -- (0.9472,1.6278) -- (1.3926,1.5288) -- (1.3840,1.4228) -- cycle;
\fill[gray] (0.6484,1.6773) -- (0.6601,1.7155) -- (0.7558,1.6863) -- (0.7441,1.6480) -- cycle;

\draw[gray,fill=black] (0.83,1.57) circle (0.135);
\draw[gray,fill=black] (0.54,1.65) circle (0.12);

\end{tikzpicture}
\end{document}
`