Personally my choice of poison is Adobe Illustrator. Other apps such as inkscape, Corel Draw, Xara Designer will also do. In a pinch even PowerPoint will work. Though I do not personally recommend PowerPoint due to severe issues with its data model, even tough is possibly worlds most deployed drawing app.
It can also be a good idea to have a graphing application at hand. I personally use Mathematica for this although many other apps would work too. Or if you want you can use Wolfram alpha that's a free online version of mathematica.
Disclaimer: Because examples are mine and shameless self endorsement take with a pinch of salt.
Illustrator
The first thing you should do in any vector drawing app is to enable the snapping grid. This reduces the tediousness of accurately placing lines. One of the big reasons i do not like to use Inkscape is the inferior way it implements this snapping. PowerPoint actually comes with grid snapping on by default.
I am not really satisfied by Illustrator as it does not fill all my needs. But no software so far does (Maya used to fill this niche but then autodesk happened).
The second reason i choose Illustrator is that it understands postscript natively. So if i need to program something i can do so quickly and existing documents update as my code matures Image 3 is done this way.
- Resource showing snap, postscript and java script access to illustrator and links forward.
Here are some examples of drawings that I have done across the network with Illustrator, mostly by power of grid snap:
Image 1: One of many images i drew in illustrator on this site. Note: I am a quite experienced Illustrator (sometimes commercial) and this is extremely simple by my standards.
The Circle march image in is fairly simple to do. Just draw a random shape by clicking around. After this disable snap and let the smart guides do your work for you. Draw lines to closest point on the line, make circles to the line and (i deleted the guide lines after i was done). Rinse and repeat. It took me about 3-5 minutes to draw the image once i got my workspace started.
Image 2: GD.SE Continuation wave.
While this image seems quite more elaborate, its not much more work than the first image. It is more technical so in addition to grid snap I and now using the shift key to constrain lines to 45 degree angles. Hatch fills are easily just assigned to regions with the shape builder tool of illustrator. (example of shape builder in use, screen capture)
Image 3: Sometimes its easier to start from scratch in postscript. Image added to post on ENG.SE.
Finally a image that really is easier to do by typing the values in postscript. It is relatively easy to do in postscript. Ive still done the typography in illustrator. While drawing this by hand is not a big deal i prefer not to, but i will do it if i must do judgement call by eye.
Mathematica
Mathematica is wonderful if you want to explore things a bit more. The only drawback to Mathematica is that it is NOT cheap. But it can do nearly anything quickly. Ive used Mathematica for some of my pictures on of nurbs basis.
One of Mathematicas core competencies s that its easy to develop even fairly complex pictures without much hassle. It can also easily animate your simple picture within you editor.
Graphics[{
orig = {
Table[
GeometricTransformation[
Line[{{0, 0}, {50, 0}}],
RotationTransform[ang]],
{ang, 0, 3 Pi/2, Pi/2}
],
Line[{{20, 0}, {30, 20}, {40, 0}}]
},
Red,
GeometricTransformation[
orig,
RotationTransform[Pi/6]
]
}]
Results in same picture as others have. Wrapping it inside a table as per results in:
Image 4: Animation is simple to do inside the code editor using Mathematica.