Open Source Software for Creating Mathematical Diagrams I work as a software engineer at a company developing navigation systems. As I have a mathematical background I normally get assigned the more mathematical problems and I find myself regularly having to produce diagrams for customers and colleagues to explain how my algorithms work.
I am looking for recommendations of good, open source, and preferably cross-platform software for creating 2- and 3-d diagrams. Any suggestions would be gratefully received.  
 A: Asymptote is powerful,
open source, and cross-platform software
capable of creating both 2D and 3D diagrams,
including interactive 3D pdf (Adobe reader only),
deeply integrated with LaTeX (part of TeXLive distribution), 
supports complex arithmetic, matrix operations, etc.
Documentation: asymptote.pdf.
Update:
Recently the developers of the Asymptote
made a nice gift to those interested in 3D diagrams.
One of the output formats now is html, which
generates an embedded 3D vector WebGL graphics within HTML file. 
A: I have had that same problem.  Although Mathematica is good for this, it is rather expensive. We have for now started using GeoGebra, which is free and is excellent at producing diagrams.
A: Dia is roughly inspired by the commercial Windows program 'Visio,' though more geared towards informal diagrams for casual use. It can be used to draw many different kinds of diagrams. It currently has special objects to help draw entity relationship diagrams, UML diagrams, flowcharts, network diagrams, and many other diagrams. It is also possible to add support for new shapes by writing simple XML files, using a subset of SVG to draw the shape.
It can load and save diagrams to a custom XML format (gzipped by default, to save space), can export diagrams to a number of formats, including EPS, SVG, XFIG, WMF and PNG, and can print diagrams (including ones that span multiple pages). 
http://live.gnome.org/Dia
