Maybe this is a little off-topic but often, when writing articles, I find myself in need of a good drawing software (for MAC or Windows) that would allow me to draw figures like the one below:


Do you recommend any specific software? I need to draw mathematical figures such as spheres, cylinders, planes and also intersect these objects.

Thanks in advance.

  • 3
    $\begingroup$ TeX and Tikz/pgf. $\endgroup$ Commented May 24, 2015 at 17:35
  • 2
    $\begingroup$ Possibly GeoGebra $\endgroup$
    – Mufasa
    Commented May 24, 2015 at 17:37
  • 1
    $\begingroup$ Might as well throw a couple more out: Asymptote, Graphmatica, MetaPost, gunplot. $\endgroup$
    – user137731
    Commented May 24, 2015 at 17:42
  • $\begingroup$ @DavidMitra Thanks for posting that link, I didn't know that page before, that'll be very useful. Man we used to work hard in the old days. $\endgroup$ Commented May 24, 2015 at 18:35
  • $\begingroup$ Satimage's "Smile" leverages the Mac's AppleScript language to draw images programmatically. The interface is poor, and the documentation difficult to navigate, but Smile has some built-in geometric primitives and labeling options (including TeX support) that could be helpful. I've used it to create diagrams such as those shown in this answer. See also some of Satimage's sample images. $\endgroup$
    – Blue
    Commented May 24, 2015 at 19:02

1 Answer 1


Personally, I'd use Asymptote. It comes with most TeX installations, and it has native support for 3D objects. It can even embed them into the resulting PDF file in such a way that the users can rotate them, if their PDF viewer supports this.

I know many people prefer TikZ over Asymptote. To my knowledge, both tools are comparable in their expressive power, but use very different syntax. Asymptote is more like C, TikZ more like TeX. I don't know about the extent of native 3D support in TikZ.

The benefits of both these tools are that you can easily embed the resulting graphics into a TeX document, and have the fonts and everything matched between text and graphics. If that is not an objective, you can try other tools as well, ranging from general-purpose vector graphics editors like Inkscape through function plotting tools like gnuplot or dynamic geometry software like Cinderella or Geogebra to the graphics output facilities of computer algebra systems like Sage or Mathematica. It depends on how you want to specify the object, how interactive you want the creation process to be, and how much post-processing you are willing to perform on the generated image.


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .