The files included on the disk that accompanies the book are available on Addison-Wesley's Web page.
Mathematica is an exceptionally flexible and powerful tool for producing mathematical graphics. Mathematica makes it easy to create graphs of functions, plots of data, pictures of geometric solids, and other mathematical illustrations either with built-in functions or with simple programs of your own. This book tells you what you need to know to make the most of the graphics capabilities of Mathematica. Whether you are a beginner, an experienced user of Mathematica, or even someone who doesn't use Mathematica at all but wants to use pictures produced by Mathematica in your publications, you will find information in this book that will help you.
Cameron Smith, a long-time expert on Mathematica graphics, conceived this guide to satisfy user demand for more detailed graphics information than is elsewhere available. This book was written with the assistance of Nancy Blachman, a well-known author and lecturer on Mathematica. Readers will find this book offers both a thorough tutorial introduction to Mathematica graphics and a comprehensive reference manual for the graphics functions. This book is filled with examples illustrating the software's graphics capabilities. A DOS disk in the back of the book contains Mathematica Notebooks with the input needed to reproduce the examples in this book.
Since the original reason for writing this book was the lack of documentation for many features of Mathematica graphics, you won't be surprised to learn that Mr. Smith and Ms. Blachman didn't write the book simply by referring to other printed sources. They started with Stephen Wolfram's book "Mathematica: A System of Doing Mathematics by Computer" (Addison-Wesley), but whenever it was vague or unclear, or whenever they saw Mathematica producing results that differed from what Stephen Wolfram's book led them to expect, they pursued other sources of information in an attempt to understand fully what was happening so that they could explain it to you. They interviewed the developers at Wolfram Research who write and maintain the graphics code in Mathematica. In a few cases they were even vouchsafed a glimpse of Mathematica's source code! They didn't stop there, either. All the information they include in this book has been substantiated by extensive testing; they created at least a dozen trial graphics for each one that appears in the book. They exercised some hitherto unexplored aspects of Mathematica's graphics. For this reason, the information here records Mathematica's actual performance. If this book disagrees with other references on some point, it is safe to assume that the other book is describing what Mathematica was intended to do, and this book describes what Mathematica actually does. As Mathematica evolves, this book may fall out of step with future versions, but, for now, it is as accurate and complete a description of Mathematica's graphics as you will find anywhere.
Anyone who uses Mathematica can benefit from the information in this book. For example, scientists and engineers who work with large data sets find that a single well-designed plot is far more informative than a huge table of numbers. Teachers attempting to convey complicated ideas can capture students' attention by using still and animated displays to enliven lectures, handouts, and textbooks. Researchers can turn abstruse concepts into pictures that make mathematics almost tangible, stimulating the imagination in ways that symbol manipulations never could. One of Mathematica's greatest strengths is its smooth integration of symbolic, numerical, and graphical capabilities. Even if your work is primarily involved with numbers or formulas, you will quickly come to appreciate the ability to translate your ideas into vivid and accurate images.
Cameron Smith is a recognized authority on Mathematica graphics. He was formerly affiliated with Wolfram Research, Inc., and he now consults independently on computer graphics and computer typesetting. He is a particularly popular resource for authors and publishers converting Mathematica files to LaTeX and other formats.
Nancy Blachman, the founder of Variable Symbols, Inc., provides both individual and group training in the use of Mathematica and teaches Mathematica classes at Stanford University. She is a prolific author of books, help software, and articles on Mathematica.
Pages: 342 List price: $36.95 Publisher: Addison-Wesley Title: The Mathematica Graphics Guidebook Authors: Cameron Smith and Nancy Blachman ISBN: 0-201-53280-8
The list price for the Mathematica Graphics Guidebook is $36.95. This guidebook can be ordered from your local bookstore, from Addison-Wesley (telephone 800-447-2226, fax 617 944 8964), or from Variable Symbols, Inc., 6537 Chabot Road, Oakland, CA 94618-1618, 510-652-8462, fax 510-652-8461.
1. The Design of Mathematica's Graphics Commands 1 1.1 Easy to Use 3 1.2 General Purpose 6 1.3 The Evolution of Mathematica's Graphics 7 2. Data Types 9 2.1 Two-Dimensional Graphics Objects 10 2.1.1 Graphics 10 2.1.2 GraphicsArray 12 2.2 Three-Dimensional Graphics Objects 16 2.3 Optimized Surface Graphics Objects 18 Combining SurfaceGraphics Objects 19 Erroneous Values 20 Surface Shading 22 2.4 Mixed 2D and 3D Graphics Objects 22 2.5 Print Forms of Graphics Objects 23 2.6 Displaying Graphics Objects 25 2.6.1 Graphics Option Settings and Show 25 2.6.2 What Show Really Does 27 2.6.3 What Show Returns 28 2.6.4 How Show Combines Objects 28 2.7 Graphics Type Conversions 31 2.7.1 Conversion Quirks 32 2.7.2 Saving Time 34 2.8 Summary 35 3. Graphics Primitives and Directives 37 3.1 Localization 38 3.2 Primitives and Directives for 2D Graphics 39 3.2.1 Colors 40 GrayLevel 40 RGBColor 40 CMYKColor 41 Hue 42 Other Color Specifications 43 Why So Many Systems? 43 3.2.2 Points 44 Point 44 PointSize 44 AbsolutePointSize 45 3.2.3 Lines and Curves 46 Line 46 Circle 46 Thickness and AbsoluteThickness 48 Dashing and AbsoluteDashing 49 3.2.4 Filled Regions 49 Polygon 49 Rectangle 52 Raster 54 RasterArray 57 Disk 57 3.2.5 Text 58 A Quirk in Text Offsets 59 Text in Different Directions 60 Text in Different Fonts 64 Multiple Lines of Text 66 Truncated Text 68 3.2.6 PostScript 69 3.3 Primitives and Directives for 3D Graphics 70 3.3.1 Colors 71 3.3.2 Points 71 3.3.3 Lines 71 3.3.4 Cuboids 72 3.3.5 Polygons 72 Polygon 72 EdgeForm 74 Lighting and SurfaceColor 74 FaceForm 77 3.4 Summary 78 4. Commands for Producing Graphics 79 4.1 Two-Dimensional Function Plotting 80 4.1.1 Plot 81 Plotting More Than One Function 82 Taking Control of Plot 82 4.1.2 ParametricPlot 85 4.1.3 Sampling 86 Using Caution with the Sampling Algorithm 87 Graphing the Same Function on Different Machines 88 Adaptive Sampling 89 Aliasing: One Function Impersonating Another 93 Why Is the Right Half Sometimes Better Than the Left Half? 95 4.1.4 No Plot 97 The Order of Evaluation 97 Single versus Multiple Expressions 100 4.2 Three-Dimensional Function Plotting 102 4.2.1 Plot3D 102 Options Accepted by Plot3D 104 4.2.2 ParametricPlot3D 106 4.2.3 Options Shared by Plot3D and ParametricPlot3D 109 Viewpoint 109 Bounding Box and Axes 112 Lighting 113 4.3 Mixed 2D and 3D Plots 114 4.3.1 ContourPlot 114 4.3.2 DensityPlot 118 4.4 Plotting Data Sets: The ListPlot Functions 121 4.4.1 ListPlot 122 4.4.2 ListPlot3D 124 4.4.3 ListContourPlot and ListDensityPlot 127 4.5 Summary 128 5. Graphics Packages 129 5.1 Working with Packages 130 5.1.1 Loading a Package 130 5.1.2 Package Names 132 5.1.3 Context 132 The Current Context and the Default Context 134 Where to Look for Symbols 134 5.1.4 Forgetting to Load a Package 135 5.1.5 Master Packages 137 Making Your Own Master Packages 140 5.2 A Sampling of Graphics Packages 140 5.2.1 General Graphics Manipulations 142 Colors 142 Combined Graphics 145 Labeled Plots 146 Animations 148 5.2.2 Two-Dimensional Graphics 152 Logarithmic Scales 152 Arrows 153 Splines 155 Filled Plots 155 Complex Mappings 156 5.2.3 Data Graphics 157 Bar Charts and Pie Charts 157 Labeled Data 162 Error Bars 164 Multiple Data Sets 164 5.2.4 Three-Dimensional Graphics 165 Scatter Plots 165 Parametrized Curves and Surfaces 166 Surfaces of Revolution 167 Contour Surfaces 168 Mathematical Solids 169 5.2.5 Mixed 2D and 3D Graphics 171 Curves Defined Implicitly (Plots of Equations) 171 Vector Fields 172 5.2.6 Application Areas 173 Graph Theory and Combinatorics 173 Computational Geometry 173 Maps of the World 173 Mathematica and AutoCAD 176 5.3 Summary 177 6. Coordinate Systems 179 6.1 Two-Dimensional Graphics 180 6.1.1 The Coordinate Systems 180 Object Coordinates 180 Scaled Coordinates 181 Text Coordinates 183 PlotRegion 185 6.1.2 An Extended Example 185 6.1.3 Display of 2D Graphics 188 6.2 Three-Dimensional Graphics 190 6.2.1 Coordinate Systems for Specifying Objects 190 Object Coordinates 190 Scaled Coordinates 190 Text Coordinates 191 6.2.2 Coordinate Systems for Perspective Projection 192 The Theory of Perspective Projection 192 Perspective Projection Coordinates 195 6.2.3 Coordinate Systems for Simulated Illumination 199 6.2.4 Converting Coordinates From Three to Two Dimensions 201 6.3 Summary 203 7. Options 205 7.1 Options Used by All Graphics Functions 206 7.1.1 Options for Scaling Graphics 206 AspectRatio 206 PlotRegion 210 PlotRange 212 7.1.2 Options for Overlays and Underlays 218 Background 219 Prolog 219 Epilog 221 PlotLabel 222 7.1.3 Options for Axes 223 Axes 223 AxesLabel 224 AxesStyle 225 Ticks 226 7.1.4 Options for Generating PostScript Code 229 ColorOutput 229 DefaultColor 232 DefaultFont 233 DisplayFunction 233 StringConversion 235 7.2 Additional Axis Options for 2D Graphics 237 AxesOrigin 237 Frame, FrameStyle, FrameTicks, FrameLabel and RotateLabel 241 7.3 Other 2D Graphics Options 244 GridLines 244 GraphicsSpacing 246 7.4 Options Used by All 3D Graphics 247 7.4.1 The Bounding Box 247 AxesEdge 247 Boxed 248 BoxRatios 249 BoxStyle 250 FaceGrids 251 7.4.2 Polygon Shading 252 Shading and Lighting 252 AmbientLight and LightSources 254 7.4.3 Perspective Projection 261 ViewPoint 261 ViewVertical 263 ViewCenter 263 SphericalRegion 264 7.5 Special 3D Graphics Options 267 7.5.1 Options for Graphics3D Objects 267 PolygonIntersections 267 RenderAll 269 7.5.2 Options for Special 3D Graphics Types 269 ColorFunction 269 MeshRange 271 7.5.3 Mesh Options for Surface and Density Graphics 272 7.5.4 Options for Contour Plots 274 ContourLines 274 Contours 275 ContourShading 276 ContourSmoothing 276 ContourStyle 277 7.5.5 Options for SurfaceGraphics 278 HiddenSurface 278 ClipFill 279 7.6 Options for Plotting Functions 280 7.6.1 Options Used by All Sampling Plot Functions 281 Compiled 281 PlotPoints 282 7.6.2 Options Controlling Two-Dimensional Adaptive Sampling 282 MaxBend 282 PlotDivision 283 7.6.3 A Line Style Option for Two-Dimensional Plotters 284 7.6.4 A Special Option for ListPlot 285 7.7 Default Values for Graphics Options 285 DefaultFont 285 Display and DisplayFunction 286 SoundDisplay and SoundDisplayFunction 286 StringConversion 286 7.8 Obsolete Graphics Options 287 7.9 Option Manipulation 288 7.9.1 Commands for Reading Option Settings 289 Options 289 FullOptions and FullGraphics 291 PlotRange as a Function 293 7.9.2 Commands for Setting Options 294 SetOptions 294 Show 295 Options 295 ClearAll and Remove 296 7.9.3 Commands for Filtering Options 296 7.10 Summary 298 Appendix: Code to Produce the Figures 299 Tables of Graphics Symbols 317 Suggested Readings 327 Index 331 Colophon 341
Nancy Blachman
Variable Symbols
May 17, 2003