Our research group uses DrawGraphics to prepare the majority of the
figures for our scientific publications. Using DrawGraphics I can
easily create ready-for-publication scientific graphics straight from
Mathematica. With no need for additional software, revising and editing our graphics is as easy as pressing Shift-Enter, and letting Mathematica render the final graphic.
One of the most valuable aspects of working with DrawGraphics is the
ease with which one can explore alternative visualizations of
quantitative data or mathematical functions. I use Mathematica and DrawGraphics for almost all of my analytic modeling and data analysis. Its simple but extremely powerful graphics facilitate the exploration of the data.
Carl T. Bergstrom, Department of Biology, University of Washington
The DrawGraphics package is a welcome addition to
the vast number of packages for Mathematica. This package makes it easy to
translate equations, thoughts and concepts into visual images. The approach
taken by David is more natural then the standard Mathematica approach. It is easy to
build complex pictures using his drawing paper paradigm, you just build your
image as you would do on paper: one piece at a time. All packages offered by
David are well built and well documented: easy to use.
Major Robert Pigeon, DRDC Valcartier
Note: For Mathematica Version 6 and 7 the DrawGraphics package has now been upgraded to the Presentations package. The Presentations package contains most of the previous DrawGraphics routines but is extending into a broader range of usage including the new features of Version 6. It now contains a complete set of complex function graphics routines that completely replaces the functionality of the older Cardano3 package. You can draw in the complex plane directly using complex numbers. The entire package is oriented toward the ability to work smoothly with textbook material, to write tutorials for students or self-study, and to make it easier for technical communication. Presentations is also becomming something of a book because there are many examples and extended discussions and three essays on Writing Notebooks, Writing Presentations and Writing Packages.
When you purcase the package you can download the pre-version 6 package, the version 6 Presentation package or both. When you purchase Presentations/DrawGraphics you will be able to freely download updates - at least for awhile. Purchasers of the pre-version 6 DrawGraphics may freely update to the Version 6 Presentations package.
DrawGraphics implements a paradigm that greatly
facilitates the combination of plotting elements produced by various
plot commands. All plotting commands and primitive graphics
can be contained within one plot statement. Each type of Mathematica Plot
command has a corresponding Draw statement that extracts the primitive
graphics produced by the plot without additional display. Thus, curves
and other complex elements are on the same level as Points, Lines and
Polygons. Complex graphics can be built up very simply just by specifying
graphics directives and graphics elements, one after the other.
Because the primitive graphics elements are directly available, they can be operated on in many different ways. You can do a general transformation of the graphics with DrawingTransform. You can eliminate "return line" artifacts with SplitLineOnDistance. You can label curves and contours with DrawLineLabels. You can make contour plots that fit circular or other coordinate systems. You can draw FilledPlots in one coordinate system and then transform them to other coordinate systems.
There are many convenience routines for graphical work. ContourColors will generate colors that ensure that each region of a contour plot has a unique color. TwoColorScale will create graded two color plots such as in cartographic maps. ColorMix will generate the mix of two colors. NeutralLighting is an easy method for specifying lights for 3D plots which can have any degree of color saturation, brightness and ambient light. This prevents surface colors from being overwhelmed by the default lighting. The lights can also be easily rotated. IteratorSubstitution generates a change of variable which effectively allows you to have variable limits in the second iterator of ParametricPlot3D statements. It allows multiple surfaces to be smoothly fitted together. CustomTicks and CustomGridLines allows easy specification of ticks and grids with complete control of styles and labeling. There is an Arrow3D routine, and routines for putting arrowheads on curves, or at fractional distances along lines.
Text3D package giving true 3D vector fonts using your regular computer fonts. You can also make block 3D characters. VectorText3D is based on the Hersey fonts and can be wraped to fit curved surfaces.
Presentations is moving beyond graphics to incorporate functions that make it easier to work with textbooks and normal mathematical material.
The References section of Presentations allows the maintainance of a list of references or notes.
The Key Equations section allows the maintainance of a list of key equations for a notebook. The equations can be dynamically numbered, have complete control of formatting style for both equation and label, can be referenced in Inline cells, and can be recalled for later use.
The Indefinite Sequences section allows the use of expressions that contain ellipses to indicate missing terms. One can do some manipulation of the expressions and they can be converted to normal Mathematica expressions.
The Student's Integral section can be used to temporarily bypass the Integrate command and employ techniques such as operations on the integrand, change of variable, integration by parts, trigonometric substitution and linear breakout of integrals.The integrals can then be either turned over to a BasicIntegralTable, such as students might use, or turned over to the Mathematica Integrate command.
The Derivations section contains routines for formatting page displays and launching page displays by means of buttons. The buttons will either display the pages immediately below the button cell, or they can launch pages in a separate window. A multi-page derivation or proof can be defined by a group of buttons in various types of structures that might correspond to the structure of the derivation. There is built-in provision for two column page displays with annotation of one side and calculated mathematical expressions on the other side. The mathematical expressions can have tooltips that show the Input expression that produced the result. This provides methods for hiding Input/Output cells while displaying dynamic mathematical calculations and derivations. There is also provision for defining Sidebars as notebooks completely embedded in the mother notebook and launched with buttons.
The PlaneGeometry section contains routines for defining dynamic plane geometry diagrams. It also contains an extensive tutorial on writing custom dynamic displays. It is easier and more versatile than using the Manipulate statement.
The Manipulations section contains a number of routines that make it easier to manipulate expressions. Examples are PushOnto, which will push a set of arguments onto specific forms and works much better than the Through command, and MapLevelParts that will map a function onto a set of level parts in a expression (such as a subset of terms in a sum).
Peter Lindsay at the Mathematical Institute in the University of St Andrews has kindly undertaken to maintain an archive that provides downloadable notebooks and PDF files for various Presentations solutions that have appeared on MathGroup. With the PDF files you can see various solutions before buying the package.
The instructions for installing the packages and documentation are contained in the PresentationsReadMe.txt file and are also included in the downloaded zip file. Presentations works in Versions 6 and 7 and there is a Version 5 package. As of Aug 2009 the package has Version 6 documentation.
Download
Presentations Installation Instructions
2 KB, 12 Dec 2007.
Purchase Presentations/DrawGraphics Package
$50, 2.7 MB, All the packages, documentation, and style sheet, 8 Aug 2009.
Gianluca Gorni has many nice graphics packages at his web site. Using the DrawGraphics or DrawGraphics3D commands you can even meld them with other graphics.
Back to Mathematica Page