Ed Pegg Jr., August 1, 2005 (Revised, August 10)
I wasn't good with coloring books. Those scribbles and my freehand drawings almost caused me to fail kindergarten. In third grade, I encountered graph paper and rulers. Using a straightedge, I could connect two points with a line better than anyone. In geometry, I learned to make tangent circles. High school offered a drafting class as an alternative to art, so I learned to use a T-square, and how to ink lines.
With the aid of a ruler, I've been drawing lines ever since. These days, I'm using programs to make lines and curves. Here's a line.
Figure 1. The line AB. The above image is GIF, a raster format.
It's not really a line. It's a raster object, or a bitmap. The computer is getting information about how every pixel needs to be colored. If an art program opened it, I couldn't readily change it. Now, take a look at a vector image. (If you don't have Flash installed, figure 2 looks identical to figure 1.)
Figure 2. The line AB. The above image is SWF, a vector format.
In figure 2, the line is really a line, defined by the location of the two endpoints. The saved file exactly defines each object in the picture (line, two circles, and two letters). The difference becomes striking when the images are scaled up in size. Notice that the Vector object looks perfect, while the Raster object looks jagged. When printed, a vector object looks better than a raster object -- paper isn't nearly as forgiving as a computer screen.
Figure 3. Vector (fig 2) versus Raster (fig 1) of part of the line AB, at 6X magnification.
So, why do I bring this up? Mostly, I want to use more vector art in my columns and webpages. Assisting that, the next version of the excellent Firefox browser will support Scalable Vector Graphics (SVG). (If you have an SVG-compatible browser, some examples are at the Croczilla SVG page.) Adobe offers a SVG plugin. I get many questions on basic diagram advice, and I wanted a solid page I could point to.
An appropriate program can easily modify a vector object. Actually, that program can just be a text editor, once SVG becomes more prominent. The following is complete information for the line AB, in SVG format.
<svg> <line class="fil2 str1" x1="0.252016" y1="4.25402" x2="8.25882" y2="3.5606"/> <text x="0.0454606" y="4.72956" class="fil0
fnt0">A</text>
<text x="8.24085" y="3.99478" class="fil0 fnt1">B</text> <circle class="fil1
str0" cx="0.1515" cy="4.25915" r="0.1"/>
<circle class="fil1 str0" cx="8.34786" cy="3.55589" r="0.1"/></svg> |
Ideally, I'd like people to send me images that are Vector, not Raster. I'd like to see more diagrams. For example, diagrams in Geometry.
Figure 5. The Compass and Ruler geometry program demonstrating cycloids.
I know of six geometry exploration programs that emphasize vectors. Of these, my favorite is Z.u.L. (also called Compass and Ruler), which has an intuitive point-snap feature, more save options than any other geometry exploration program, available in 12 languages, open source and free.
Geometry Exploration Program
|
![]() |
![]() |
![]() |
Cost |
Size |
svg
|
eps
|
dwg
|
emf
|
ai
|
swf
|
pst
|
pdf
|
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Cinderella -- By Springer. Overdue for an update. | Y |
Y |
Y |
$63 |
21.9MB |
N | Y | N | N | N | N | N | N |
Cabri -- 3D version available. By Texas Instruments. | Y |
Y |
N |
$122 |
6.5 MB |
N | Y | N | Y | N | N | N | N |
Dr. Geo -- Has a TeX export. Included in many Linux distros. | N |
Y |
Y |
Free |
0.8 MB |
N | Y | N | N | N | N | Y | N |
Euclidraw -- Many examples given, ongoing development. | Y |
N |
N |
$42 |
4.8 MB |
N | N | N | Y | N | N | N | N |
GEUP -- Hover descriptions for any drawn object. | Y |
N |
N |
$35 |
1.2 MB |
N | N | N | N | N | N | N | N |
GeoGebra -- Math/Algebra geometry software for high school math. | Y |
Y |
Y |
Free |
2.5 MB |
N | Y | N | N | N | N | N | N |
Geometer's Sketchpad -- Student cost. Java/HTML Examples. | Y |
Y |
N |
$40 |
5.3 MB |
N | N | N | Y | N | N | N | N |
GEONExT -- Intuitive, powerful, multilingual. Java/HTML Save. | Y |
Y |
Y |
Free |
1.5 MB |
Y | N | N | N | N | N | N | N |
kseg -- SVG in Linux version only. | Y |
N |
Y |
Free |
2.3 MB |
Y | N | N | N | N | N | N | N |
Z.u.L. (or Compass and Ruler) -- Excellent. Java/HTML save. | Y |
Y |
Y |
Free |
2.4 MB |
Y | Y | N | N | N | N | N | Y |
Geometry explorers aren't the only way to make vector diagrams. If you're willing to spend the money, it's hard to go wrong with Adobe Illustrator. In the same league are CorelDraw and Canvas X. For CAD programs, I've used Autocad LT since 1998, but their latest upgrade price ($349.00) seems high, especially after looking at TurboCAD. During the week I've spent revising this column, Macromedia has come out with Studio 8 (w/o Freehand), and promises to raise prices.
Commercial Vector Drawing Programs
|
![]() |
![]() |
![]() |
Cost |
Size |
svg
|
eps
|
dxf
|
emf
|
ai
|
swf
|
pst
|
pdf
|
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Adobe Illustrator -- Standard illustration program. Extensive capabilities. | Y | Y | N |
$499 |
-- |
Y | Y | Y | Y | Y | Y | N | Y |
Autocad LT -- Basic 2D CAD. Expensive. | Y | N | N |
$899 |
-- |
N | N | Y | Y | N | N | N | N |
CC2 -- Easycad-based mapmaker. A way to learn geometry, maybe? | Y | N | N | $40 |
9.7 MB |
N | N | Y | Y | N | N | N | N |
Canvas X -- Supports a 100 file formats on Windows, and 80 on Mac. | Y | Y | N | $350 |
64.6 MB |
Y | Y | Y | Y | Y | Y | N | Y |
CorelDraw -- Feature-rich illustration program. | Y | Y | N |
$399 |
-- |
Y | Y | Y | Y | Y | Y | N | Y |
EasyCAD -- CAD without a select button. FastCad is the 3D version. | Y | N | N | $295 |
22.4 MB |
N | N | Y | Y | N | N | N | N |
Intellicad -- CAD program with 3D support. | Y | N | N |
$399 |
29.3 MB |
Y | N | Y | Y | N | N | N | N |
Macromedia Flash -- Vector animation program. The standard. | Y | Y | N |
$499 |
-- |
N | Y | Y | Y | Y | Y | N | N |
Macromedia Freehand -- Adobe is buying Macromedia, might vanish. | Y | Y | N |
$399 |
-- |
N | Y | N | Y | Y | Y | N | Y |
Mayura -- LaTeX friendly. Basic functionality. | Y | N | N | $39 |
1.3 MB |
Y | Y | N | Y | Y | N | N | Y |
Microsoft Acrylic -- Expression replacement. Trial expires. | Y | N | N | Trial |
79.5 MB |
N | Y | N | N | Y | N | N | Y |
Microsoft Visio -- Extensive templates for diagrams. Strong use of shape. | Y | N | N | $199 |
190.0MB |
Y | N | Y | Y | N | N | N | N |
Mobile Designer -- Flash-style SVG animation for mobile phones. | Y | N | N | $399 |
16.3MB |
Y | N | N | Y | Y | Y | N | N |
Moho -- Vector based animation system. | Y | Y | Y | $99 |
9.5 MB |
N | Y | N | N | Y | Y | N | N |
Omnigraffle -- Diagramming and charting tool. | N | Y | N | $70 |
7 MB |
Y | Y | N | N | N | N | N | Y |
PCDraft/MacDraft -- Basic 2D CAD | Y | Y | N | $269 |
7.2 MB |
N | N | Y | N | N | N | N | N |
RealDraw -- Contains many artistic effects. | Y | N | N | $55 |
12.2 MB |
Y | Y | Y | Y | N | N | N | Y |
Sketsa -- SVG editor. Java based. | Y | Y | Y | $49 |
6.0 MB |
Y | N | N | N | N | N | N | N |
SmartDraw -- Lots of templates, symbols, and wizards. | Y | N | N | $297 |
-- |
N | Y | Y | Y | Y | N | N | Y |
Tess -- Just does tessellations. Useful tool. | Y | Y | N | $36 |
468 KB |
Y | Y | Y | Y | N | N | N | N |
TurboCAD -- 3D version also available. Feature-rich. | Y | Y | N | $129 |
100.0 MB |
Y | Y | Y | Y | N | N | N | N |
VDraft -- A nice 2D CAD system, well reviewed. | Y | N | N | $250 |
8.2 MB |
N | N | Y | N | N | N | N | N |
Visual CADD -- 2D CAD, similar tools to Autocad LT. | Y | N | N | $395 |
6.7 MB |
N | N | Y | Y | N | N | N | Y |
WinFIG -- Based on UNIX program XFig. Excellent TeX support. | Y | N | * | $25 |
1.42 MB |
Y | Y | N | Y | N | N | Y | Y |
XactPro -- Designed for data presentations in vector format. | Y | N | N | $750 |
7.4 MB |
N | Y | N | Y | Y | N | N | N |
Xara X -- Nice program. Good support. | Y | N | N | $179 |
11.1 MB |
N | Y | N | Y | Y | Y | N | N |
XStudio -- Flash-style SVG animation for mobile phones. | Y | N | N | $555 |
6.9 MB |
Y | N | N | N | N | N | N | N |
Zoner Draw 5 -- 2D CAD. | Y | N | N | $50 |
59.1 MB |
N | Y | Y | Y | Y | N | N | Y |
Vector drawing is also possible with many free programs. When you need a program to make a quick figure for homework, one of these will work just fine. I am particularly impressed with CadStd, Inkscape, and OpenOffice Draw.
Free Vector Drawing Programs |
![]() |
![]() |
![]() |
License |
Size |
svg |
eps |
dxf |
emf |
ai |
swf |
pst |
pdf |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Beez --Bezier curve SVG animation. Pre-alpha. | Y | N | N | GPL |
244 KB |
Y | N | N | N | N | N | N | N |
CadStd -- Many snaps, polar&rect arrays. Fast and nice. | Y | N | * | Free |
0.8 MB |
* | N | Y | N | N | N | N | N |
Cenon -- Give away the program, charge for the books. | N | Y | Y | vhfPL |
12.4 MB |
N | Y | Y | N | Y | N | N | Y |
Expression -- Will be replaced by Acrylic. Does not expire. | Y | Y | N | Free |
57.2 MB |
N | Y | N | N | Y | Y | N | Y |
Dia -- Many export options. Primarily for diagrams. | Y | N | Y | GPL |
5.4 MB |
Y | Y | Y | Y | N | N | Y | N |
EVE WE -- Tiny (86 KB). Extensive SVG usage on website. | Y | N | N | Free |
86 KB |
Y | N | N | Y | N | N | N | N |
GLIPS Graffiti -- Java/Batik based. Very professional appearance. | Y | Y | Y | LGPL |
4.8 MB |
Y | N | N | N | N | N | N | N |
Inkscape -- SVG editor. Has intern support from Google. | Y | Y | Y | GPL |
20.3 MB |
Y | Y | N | N | Y | N | N | N |
Ipe -- Editor for simple PDF files. Extensive manual. | Y | Y | Y | GPL |
4.7 MB |
N | Y | N | N | N | N | N | Y |
jFig -- Java based. Port of XFig. Free for noncommercial work. | Y | Y | Y | MPL |
2.3 MB |
N | Y | N | N | N | N | N | Y |
jPicEdt -- Java based. Useful for TeX. | Y | Y | Y | GPL |
5.2 MB |
N | Y | N | N | N | N | Y | N |
JustCad -- Functional, but bare bones. | Y | N | N | CS |
2.6 MB |
N | N | Y | N | N | N | N | N |
Karbon14 -- Part of KDE. Formerly Kontour. | N | N | Y | GPL |
13.9 MB |
Y | Y | N | Y | Y | N | N | N |
LaTeXPiX -- Makes EEPIC or PGF code for LaTeX documents | Y | N | N | Free |
1.6 MB |
N | N | N | N | N | N | N | Y |
OpenOffice Draw -- Part of the large OO.o suite. Excellent. | Y | Y | Y | LGPL |
76.1 MB |
Y | Y | N | Y | N | Y | N | Y |
POTrace -- Raster to Vector convertor. Command Line driven. | Y | Y | Y | GPL |
190 KB |
Y | Y | N | N | N | N | N | Y |
PSTricks -- Part of LaTeX. A coding language for diagrams. | Y | Y | Y | TeX |
-- |
N | Y | N | N | N | N | Y | N |
QCad -- CAD program. $28 on Windows, otherwise free. | * | Y | Y | GPL |
9.3 MB |
N | N | Y | N | N | N | N | N |
Scribus -- Designed for desktop publishing. | N | Y | Y | GPL |
8.1 MB |
Y | Y | N | N | N | N | N | Y |
Skencil -- Python based. Open Source. | N | Y | Y | LGPL |
-- |
Y | Y | N | N | Y | N | N | Y |
Sodipodi -- Forerunner to Inkscape. No longer seems active. | Y | N | Y | GPL |
8.2 MB |
Y | N | N | N | N | N | N | N |
TeXCad -- Very limited. Written in Ada. | Y | N | N | GPL |
1.1 MB |
N | N | N | N | N | N | N | N |
Tgif -- The supporting site seems unstable. | N | N | Y | QPL |
2.4 MB |
N | Y | N | N | N | N | N | N |
TpX -- Tiny, powerful, and easy to use. Python based. | Y | N | N | Free |
0.4 MB |
Y | Y | N | Y | N | N | N | Y |
Wintopo -- Raster to Vector convertor. | Y | N | N | Free |
3.4 MB |
N | N | Y | Y | N | N | N | N |
XFig -- Excellent TeX support. | N | N | Y | Free |
1.42 MB |
Y | Y | N | Y | N | N | Y | Y |
yEd -- Primarily a graph editor | Y | Y | Y | Free |
5.0 MB |
Y | N | N | Y | N | N | N | N |
Postscript (.ps, .eps) is the granddaddy of computer vector formats. Three sources for things that can be done with .ps are Tiling in PostScript by Kees van der Laan, Postscript Language Tutorial and Cookbook (free PDF, Adobe Systems, 1985), and Mathematical Illustrations by Bill Casselman. For viewing postscript files, Ghostscript is very handy. The .ai format (Adobe Illustrator) is a variant of the .eps format. PSTricks is a TeX initiative for making an intuitive language for postscript.
Metafile (.wmf, .emf) is a vector graphics format for Windows systems. AutoCAD DXF (.dxf, .dwg) is a CAD data drawing format. Flash (.swf) is currently the predominant vector software for the web, but it's proprietary -- SVG is considered the standard web vector format. A full list of Graphics File Formats can be found at Wikipedia.
For more on SVG, the website for the book Fundamentals Of SVG Programming offers many examples. A list of free vector programs is at Sourceforge.
Mathematica can export many different formats, including SVG. It was recommended to me by a surprising number of people, so I should mention it. I left it out initially for three reasons. 1. I'm a biased Wolfram Research employee. 2. Not really a drawing program. 3. There are competing languages that allow graphic manipulation (like, oh, pure assembly), and I didn't want to list all the programming languages with vector graphics capability. Still, only one other language received multiple mentions: METAPOST.
I avoided the world of 3D graphics, for the moment. Here are a few of them: Ashlar Vellum, Autocad, Blender, BRL-CAD, Bryce, Cabri 3D, CASCADE, Catia, Cinema 4d, Gmax, Houdini, ISODraw, KPovModeler, Lightwave, Maya, Mirai, Modo, Oak Draw, Poser, PovRay, Powercadd, Pro/E, Renderman, Rhino3D, SolidDesigner, SolidEdge, SolidWorks, Truespace, VectorWorks, and XSI. A full list would be much longer.
So, that's the world of Vector vs. Raster. It took me a long time to hunt down and try all these programs. Amusingly, most of the images here were produced with my favorite raster graphics program, Irfanview. The process (1) Get a good looking image on screen, (2) Press Print Screen button, (3) Paste into Irfanview, (4) Crop appropriately, (5) Save as GIF/PNG/JPG, (6) Save original vector file -- I go through this process every day. It's a skill that *very* much worth learning. If you use any of these programs to make a nice Vector mathematical diagram, feel free to mail it to me at ed@mathpuzzle.com.
For this revision, I greatly thank the readers of SlashDot, who sent me about 500 comments (including emails) for improving this column. I also thank the readers of maa.org and mathpuzzle.com, who sent in about 100 helpful emails.
Comments are welcome. Please send comments to Ed Pegg Jr. at ed@mathpuzzle.com.
Ed Pegg Jr. is the webmaster for mathpuzzle.com. He works at Wolfram Research, Inc. as an associate editor of MathWorld, and as administrator of the Mathematica Information Center.