Search the FAQ Archives

3 - A - B - C - D - E - F - G - H - I - J - K - L - M
N - O - P - Q - R - S - T - U - V - W - X - Y - Z - Internet FAQ Archives

(16Oct95) Frequently Asked Questions (FAQ)

[ Usenet FAQs | Web FAQs | Documents | RFC Index | Houses ]
Archive-name: graphics/faq

See reader questions & answers on this topic! - Help others by sharing your knowledge
                            COMP.GRAPHICS.MISC FAQ
   Last update: 16Oct95
   This document answers a number of the most frequently asked questions
   about graphics on the Internet. To avoid wasting bandwidth and as a
   matter of politeness please look for the answer to your question in
   this document BEFORE posting to
   If your copy of the FAQ is more than a couple of weeks old, you may
   want to seek out the most recent version. The latest non-HTML version
   of this FAQ is always available on as
   In case you're reading the ASCII version of the FAQ, the HTML version
   is at
   Send your updates to me at I reserve the right
   to reject or modify submissions based on my interpretation of the role
   of the FAQ.

     * Editorial
     * Copyright
     * Changes since last revision
     * Other Graphics-related FAQs and FAQ-like documents
     * General References
          + Books
          + Eratta
          + Other
     * Specific References
          + Ray-Tracing and Global Illumination
          + Graphics File Formats
          + Spatial Data Structures
          + PEX and PHIGS
          + OpenGL
          + Morphing
          + Radiosity
     * How do I ...
          + draw 3D objects on a 2D screen?
          + quantize 24-bit images down to 8 bits?
          + convert color to grayscale?
          + convert grayscale to black & white?
          + rotate a raster image by an arbitrary angle?
          + draw a circle as a Bezier (or B-spline) curve?
          + tell whether a point is within a planar polygon?
          + tessellate a sphere?
          + ray-trace height fields?
          + find the area of a 3D polygon?
          + convert between vector formats?
          + get files if I can't ftp?
     * Where can I get ...
          + format documents for TIFF, IFF, GIF, etc.?
          + free image manipulation software?
          + free plotting software?
          + standards documents?
          + 3D objects?
          + MRI and CT scan volume data?
          + MPSC and AOEGA info?
     * Graphics-related Mailing Lists
          + Imagine mailing list
          + DCTV mailing list
          + Rayshade Users mailing list
          + Lightwave mailing list
          + Video Toaster mailing list
          + Mailing List For Massive Parallel Rendering
          + Netpbm mailing list
          + POV-Ray mailing list
          + RayDream mailing list
          + Computational Geometry mailing list
          + Photoshop mailing list
          + 3DStudio mailing list
          + KPT mailing list
          + KODAK Photo CD mailing list
          + Caligari TrueSpace mailing list
          + Global Illumination mailing list
          + Fractal Design Painter mailing list
          + SIGGRAPH information online
          + How to join ACM/SIGGRAPH
          + SIGGRAPH Online Bibliography Project

   I've decided to add a copyright notice to the FAQ. I've had several
   requests to include portions of the FAQ in various compilations and
   books and while I don't mind, I would like to make sure that readers
   of such excerpts can find the latest version of the actual FAQ. I'd
   also like to tone down the activities of those who try to make money
   from the volunteer work of others...
   As far as I am concerned, the FAQ has never been available for
   publication without permission anywhere but on the Internet.

   The FAQ is Copyright (c) 1995 John T. Grieggs. It
   may be freely distributed electronically on the Usenet and via the
   Internet, but may not be reprinted in whole or in part in
   non-electronic form without prior permission of the editor (me).
   What this means in English is that if you want to reprint or quote the
   FAQ or part of it in a book or on a CD-ROM, I want to know about it,
   in advance, and reserve the right to put conditions on such
   activities. To date I have allowed 6 or 7 authors to do what they
   wanted, and refused permission to 1 blatantly tacky commercial
   Links to the HMTL version are welcome and even encouraged.
Changes since last revision

   Copyright notice (me). It's pretty innocent, but I'm sure I'll hear
   about it if anyone finds it offensive...
   New version of ImageMagick (me). also sent in a
   version update, but by the time I checked, it had already incremented
   to yet another. :-)
   Fractal Design Painter mailing list (
   Significantly updated ACR/gr info (
   New xgraph info (me).
   New robotx version and location (
   New plotting packages: XGobi, XgPlot, and PLOTMTV (which obsoletes
   Drawplot) (
   Special thanks to for sharing his research
   on net-available plotting packages!
   New address, and WWW page, for Global Illumination mailing list
   Fixed broken URLs (
   Small correction to the SIGGRAPH Online Bibliography section (me).
   Don't forget to send your contributions to! If you
   just post, I may not see it for one reason or another...
Other Graphics-related FAQs and FAQ-like documents

   The FAQ attempts to cover a wide range of
   material. If you don't find what you need here, try one of these more
   focused documents. FAQ
          Maintained by Jon Stone (, the
 FAQ contains questions and answers
          about computer graphics algorithms. There is some overlap
          between this document and the one you are reading, for
          historical reasons. It is available on as
          Maintained by Francisco X DeJesus (,
          the FAQ contains questions and answers
          about computer graphics animation. He maintains a HTML version
          at The non-HTML
          version is still available on as
   Graphics File Formats FAQ
          Maintained by James Murray (, the Graphics File
          Formats FAQ contains information on graphics file formats,
          including raster, vector, metafile, PDL, 3D object, animation,
          and multimedia formats. It is available on as
   Color Space FAQ
          Maintained by David Bourgin (, the
          Color Space FAQ contains questions and answers about colors and
          color spaces. It is available on as
   Frequently Asked Questions about Gamma and Colour
          Charles Poynton has written FAQs on Gamma and Color Spaces. His
          FAQs are available from his web page,
 in a variety of formats.
          Text versions may be obtained at in the
          /pub/users/poynton/doc/colour directory.
   Computer Graphics Resource Listing
          Maintained by Nick Fotis (, the CGRL
          contains questions and answers about general graphics
          documents, sort of like this document. It came into existence
          for political reasons. There is no clear division of
          responsibility between his document and mine, but I do tend to
          keep this one a bit more terse and free of commercial material.
          As a result, the CGRL is much larger and is stored in six
          parts. You can get the parts at as
          /pub/usenet/news.answers/graphics/resources-list/part[1-6], or
          get the auto-HTMLed version at

General References

     * Computer Graphics: Principles and Practice (2nd Ed.), J.D. Foley,
       A. van Dam, S.K. Feiner, J.F. Hughes, Addison-Wesley 1990, ISBN
     * Procedural Elements for Computer Graphics, David F. Rogers, McGraw
       Hill 1985, ISBN 0-07-053534-5
     * Mathematical Elements for Computer Graphics (2nd Ed)., David F.
       Rogers and J. Alan Adams, McGraw Hill 1990, ISBN 0-07-053530-2
     * Fundamentals of Three-Dimensional Computer Graphics, Alan Watt,
       Addison-Wesley 1990, ISBN 0-201-15442-0
     * An Introduction to Ray Tracing, Andrew Glassner (ed.), Academic
       Press 1989, ISBN 0-12-286160-4
     * Graphics Gems, Andrew Glassner (ed.), Academic Press 1990, ISBN
     * Graphics Gems II, James Arvo (ed.), Academic Press 1991, ISBN
     * Graphics Gems III, David Kirk (ed.), Academic Press 1992, ISBN
       0-12-409670-0 (with IBM disk) or 0-12-409671-9 (with Mac disk)
     * Graphics Gems IV, Paul Heckbert (ed.), Academic Press 1994, ISBN
       0-12-336156-7 with MAC floppy, ISBN 0-12-336155-9 with PC floppy
     * Digital Image Processing (3rd Ed.), Rafael C. Gonzalez, Richard E.
       Woods, Addison-Wesley 1992, ISBN 0-201-50803-6
     * A Programmer's Geometry, Adrian Bowyer, John Woodwark,
       Butterworths 1983, ISBN 0-408-01242-0 Pbk
     * Advanced Animation and Rendering Techniques, Alan Watt, Mark Watt,
       Addison-Wesley 1992, ISBN 0-201-54412-1
   Errata for "An Introduction to Ray Tracing" is available on as /graphics/graphics/books/erratas/IntroToRt.
   Errata for "Digital Image Warping" is available on
   as /graphics/graphics/books/erratas/Digital-Image-Warping.
   Errata for "Photorealism and Ray Tracing in C" is available on as
   Errata for the "Graphics Gems" series are available on in /graphics/graphics/books.
   An automatic mail handler at Brown University allows users of
   "Computer Graphics: Principles and Practice," by Foley, van Dam,
   Feiner, and Hughes, to obtain text errata and information on
   distribution of the software packages described in the book. Also,
   users can send the authors feedback, to report text errors and
   software bugs, make suggestions, and submit exercises. To receive
   information describing how you can use the mail handler, simply mail and put the word "Help" in the Subject line.
   Use the Subject line "Software-Distribution" to receive information
   specifically concerning the software packages SRGP and SPHIGS.
   All C code from the "Graphics Gems" series is available via anonymous
   ftp from Look in the directory
   pub/Graphics/GraphicsGems for the various volumes (Gems, GemsII,
   GemsIII, GemsIV), and get the README file first.
   A list of computer graphics, computational geometry and image
   processing journals is available from Juhana Kouhia,
Specific References

   Rick Speer maintains a cross-indexed ray-tracing bibliography. The
   bib is in the form of a PostScript file. The printout is 41 pages
   long. It may be found on as
   /graphics/graphics/bib/RT.BIB.Speer/, and on as
   While useful, this document has not been updated since 1991. Is there
   a more recent version out there somewhere that I don't know about?
   Ian Ashdown maintains ray tracing and radiosity/global illumination
   bibliographies. These are in "refer" format, and so can be searched
   electronically (a simple awk script to search for keywords is included
   with each). The bibliographies have been combined, and are available
   on as /pub/doc/RadBib95.Z. There are also some other
   interesting papers in the same directory.
   Tom Wilson ( has collected over 300 abstracts from
   ray tracing related research papers and books. The information is
   essentially in plaintext, and Latex formatting programs are included.
   This collection is available at most of the sites mentioned above as
     * Graphics File Formats, David Kay and John Levine,
       Windcrest/McGraw-Hill 1992, ISBN 0-8306-3060-0 $36.95 hardcover,
       ISBN 0-8306-3059-7 $24.95 paper. Comments - 26 formats, no
       software (this is good, IMHO - I prefer books which are not
       platform-dependent). Questions about this book may be sent to
     * Programming for Graphics Files in C and C++, by John Levine, J.
       Wiley & Sons, 1994, ISBN 0-471-59854-2 $29.95 softcover. A good
       complement to Kay & Levine's book: less text info about the
       formats, but working code (IBM PC code) is given for many of the
       basic operations for each type of format. Diskette can be ordered
     * Encyclopedia of Graphics File Formats by James D. Murray and
       William vanRyper, O'Reilly & Associates, Sebastopol, CA July,
       1994, 900 pages, $59.95 (includes a CD-ROM) Softcover ISBN:
       1-56592-058-9, Email: Good introduction to
       graphics file format issues for both vector and raster formats,
       plus specific descriptions of nearly 100 file formats. CD-ROM
       includes sample images, original format spec documents where
       available, and C code snippets. Also a lot of free and shareware
       image conversion/manipulation software for Unix, DOS, Windows, and
       Mac. Much of this is available on the net (and indeed the book
       tells you where), but having it all pulled together is very
       useful. Tom Lane ( says: "My only complaint is
       that there are too many typos in the printed text. Check the
       original spec document whenever you find something unclear or
     * The Design and Analysis of Spatial Data Structures, H. Samet,
       Addison-Wesley, Reading, MA, 1990. ISBN 0-201-50255-0.
     * Applications of Spatial Data Structures: Computer Graphics, Image
       Processing, and GIS, H. Samet, Addison-Wesley, Reading, MA, 1990.
       ISBN 0-201-50300-0.
     * PEXlib Programming Manual, Tom Gaskins, 1154 pages, O'Reilly &
       Associates, ISBN 1-56592-028-7
     * PEXlib Reference Manual, edited by Steve Talbott, 577 pages,
       O'Reilly & Associates, ISBN 1-56592-029-5
     * PHIGS Programming Manual, Tom Gaskins, 908 pages, O'Reilly &
       Associates, ISBN 0-937175-85-4 (softcover), ISBN 0-937175-92-7
     * PHIGS Reference Manual, edited by Linda Kosko, 1099 pages,
       O'Reilly & Associates, ISBN 0-937175-91-9
     * A Primer for PHIGS, Hopgood, Duce & Johnston, 298 pages, Wiley,
       ISBN 0-471-93330-9
   There is an analysis of OpenGL vs. PEX, Analysis of PEX 5.1 and OpenGL
   1.0, Allen Akin, available on as
     * OpenGL Programming Guide, Neider, Davis & Woo, Addison-Wesley,
     * OpenGL Programming Guide, The Official Guide to Learning OpenGL,
       Release 1", Addison-Wesley, ISBN 0-201-63274-8
   There is an analysis of OpenGL vs. PEX, Analysis of PEX 5.1 and OpenGL
   1.0, Allen Akin, available on as
   Warping is the deformation of an image by mapping each pixel to a new
   location. Morphing is blending from one image or object to another
   one. Valerie Hall has written an excellent introduction to warping and
   morphing. This is available for anonymous ftp from in the directory
   pub/graphics/bibliography/Morph. There are three files:
     * /pub/graphics/bibliography/Morph/ (PostScript
       version, many pictures)
     * /pub/graphics/bibliography/Morph/morph_intro.txt.Z (text version)
     * /pub/graphics/bibliography/Morph/m_responses.Z (Responses to
       morphing questions)
   The files are compressed, so you must use binary transfer and
   uncompress them afterwards.
   The definitive book on the topic:
     * Digital Image Warping, George Wolberg, IEEE Computer Society Press
       Monograph 1990, ISBN 0-8186-8944-7
   Radiosity is a technique for generating very realistic scenes using
   global illumination (a radiative transfer problem).
     * Radiosity and Realistic Image Synthesis, Michael F. Cohen, John R.
       Wallace, Academic Press, 1993, ISBN 0-12-178270-0
     * Radiosity and Global Illumination, Francois Sillion, Claude Puech,
       Morgan Kaufmann, 1994, ISBN 1-55860-277-1
     * Radiosity: A Programmer's Perspective, Ian Ashdown, John Wiley &
       Sons, 1994, ISBN 0-471-30444-1 (book only), ISBN 0-471-30488-3
       (with diskette)
How do I ...

   This section provides brief answers to some of the most frequently
   asked how-to questions. More verbose answers can generally be found in
   the literature mentioned in the General References section. 
   There are many ways to do this. Some approaches map the viewing
   rectangle onto the scene, by shooting rays through each pixel center
   and assigning color according to the object hit by the ray. Other
   approaches map the scene onto the viewing rectangle, by drawing each
   object into the region, keeping track of which object is in front of
   The mapping mentioned above is also referred to as a "projection", and
   the two most popular projections are perspective projection and
   parallel projection. For example, to do a parallel projection of a
   scene onto a viewing rectangle, you can just discard the Z coordinate
   (divide by depth), and "clip" the objects to the viewing rectangle
   (discard portions that lie outside the region).
   For details on 3D rendering, the Foley, van Dam, Feiner and Hughes
   book, "Computer Graphics: Principles and Practice" would be a good
   place to start reading. Chapter 6 is "Viewing in 3D", and chapter 15
   is "Visible-Surface Determination". For more information go to chapter
   16 for shading, chapter 19 for clipping, and branch out from there.
   Find a copy of "Color Image Quantization for Frame Buffer Display" by
   Paul Heckbert, SIGGRAPH '82 Proceedings, page 297. There are other
   algorithms, but this one works well and is fairly simple.
   Implementations are included in most raster toolkits (check out the
   various free image manipulation software available).
   A variant method is described in "Graphics Gems", p. 287-293 (but no
   code), and there is further information in "Graphics Gems II", p.
   126-133 (code available online but not in book). Spencer Thomas'
   article in Gems II on Efficient Inverse Color Map Computation (p.
   116-125) is also relevant, and code is provided in the book and
   online, as well as in the Utah Raster Toolkit. Note that the code from
   the "Graphics Gems" series is all available from an FTP site, as
   described above.
   Also check out John Bradley's "Diversity Algorithm", which is
   incorporated into the xv package and described in the back of the
   The ImageMagick package contains another quantizing algorithm which is
   presented as "doing a better job than the other algorithms, but
   Ian Ashdown ( is maintaining a bibliography of
   color quantization papers and articles that is available at as /pub/doc/cquant95.Z. It includes both the original
   presentations of the algorithms and their implementation in popular
   computer magazines such as Dr. Dobb's Journal and The C/C++ Users
   The NTSC formula is:
   luminosity = .299 red + .587 green + .114 blue
   For additional information, please refer to the Color Space FAQ.
   The definitive book on the topic:
     * Digital Halftoning, Robert Ulichney, MIT Press 1987, ISBN
   But before you go off and start coding, check out the variety of free
   image manipulation software available. Almost all of the packages
   mentioned can do some form of gray to b&w conversion.
   For additional information, please refer to the Color Space FAQ.
   The obvious but wrong method is to loop over the pixels in the source
   image, transform each coordinate, and copy the pixel to the
   destination. This is wrong because it leaves holes in the destination.
   Instead, loop over the pixels in the destination image, apply the
   *reverse* transformation to the coordinates, and copy that pixel from
   the source. This method is quite general, and can be used for any
   one-to-one 2-D mapping, not just rotation. You can add anti-aliasing
   by doing sub-pixel sampling.
   However, there is a much faster method, with antialising included,
   which involves doing three shear operations. The method was originally
   created for the IM Raster Toolkit; an implementation is also present
   in PBMPLUS. Reference: A Fast Algorithm for Raster Rotation", by Alan
   Paeth ( Graphics Interface '86
   (Vancouver). An article on the IM Raster Toolkit appears in the same
   journal. An updated version of the rotation paper appears in "Graphics
   Gems" under the original title.
   The short answer is, "You can't." Unless you use a rational spline
   you can only approximate a circle. The approximation may look
   acceptable, but it is sensitive to scale. Magnify the scale and the
   error of approximation magnifies. Deviations from circularity that
   were not visible in the small can become glaring in the large. If you
   want to do the job right, consult the article:
   "A Menagerie of Rational B-Spline Circles" by Leslie Piegl and Wayne
   Tiller in IEEE Computer Graphics and Applications, volume 9, number 9,
   September, 1989, pages 48-56.
   For rough, non-rational approximations, consult the book:
   Computational Geometry for Design and Manufacture by I. D. Faux and M.
   J. Pratt, Ellis Horwood Publishers, Halsted Press, John Wiley 1980.
   For the best known non-rational approximations, consult the article:
   "Good Approximation of Circles by Curvature-continuous Bezier Curves"
   by Tor Dokken, Morten Daehlen, Tom Lyche, and Knut Morken in Computer
   Aided Geometric Design, volume 7, numbers 1-4 (combined), June, 1990,
   pages 33-41 [Elsevier Science Publishers (North-Holland)]
   Consider a ray originating at the point of interest and continuing to
   infinity. If it crosses an odd number of polygon edges along the way,
   the point is within the polygon. If the ray crosses an even number of
   edges, the point is either outside the polygon, or within an interior
   hole formed from intersecting polygon edges. This idea is known in the
   trade as the Jordan curve theorem; see Eric Haines' article in
   Glassner's ray tracing book (above) for more information, including
   treatment of special cases.
   Another method is to sum the absolute angles from the point to all the
   vertices on the polygon. If the sum is 2 pi, the point is inside, if
   the sum is 0 the point is outside. However, this method is about an
   order of magnitude slower than the previous method because evaluating
   the trigonometric functions is usually quite costly.
   Code for both methods (plus barycentric triangle testing) can be found
   in the Ray Tracing News, Vol. 5, No. 3, available from
   as /pub/Graphics/RTNews/RTNv5n3.Z.
   This code has been updated and expanded. A long article on the topic
   appears in _Graphics Gems IV_ and the code (along with a timing test
   program) is available from as
   One simple way is to do recursive subdivision into triangles. The
   base of the recursion is an octahedron, and then each level divides
   each triangle into four smaller ones. Jon Leech has posted a nice
   routine called sphere.c that generates the coordinates. It's available
   for FTP on and
   Height fields are a special case in ray-tracing. They have a number
   of uses, such as terrain rendering, and some optimization is possible.
   Thus, they get their own FAQ section. Note that further references can
   no doubt be located via the ray-tracing bibs in section 16 above.
   The following paper seems to be the definitive reference: "Grid
   Tracing: Fast Ray Tracing For Height Fields", F. Kenton Musgrave,
   July, 1988.
   This is available as "Research Report YALEU/DCS/RR-639" from Yale
   University, it's also in the SIGGRAPH '91 Fractal Modeling in 3D
   Computer Graphics and Imaging course notes, and (best of all) it's
   available on the net, at, as
   An implementation of this paper may be found in Rayshade.
   Another paper exists: "Parametric Height Field Ray Tracing", D. W.
   Paglieroni, S. M. Peterson, Proceedings of Graphics Interface '92,
   Canadian Information Processing Society, Toronto, Ontario, May 1992,
   p. 192-200
   And still one more: "The Synthesis and Rendering of Eroded Fractal
   Terrains", Musgrave, Kolb, Mace, Computer Graphics Vol 23, No. 3
   (SIGGRAPH '89 Proceedings) p. 41-50 
   The area of a triangle is given by (in C notation)

     area = 0.5 * ( ( x[0] * y[1] ) + ( x[1] * y[2] ) + ( x[2] * y[0] ) -
                    ( x[1] * y[0] ) - ( x[2] * y[1] ) - ( x[0] * y[2] ) );

   and the area of a planar polygon is given by

     area = 0.0;

     for ( i = 0; i <n - 1; i++ )
         area += ( x[i] * y[i + 1] ) - ( x[i + 1] * y[i] );
     area += ( x[n - 1] * y[0] ) - ( x[0] * y[n - 1] );
     area /= 2.0;

   or, equivalently but more quickly

    area = 0.0;

    for ( i = 0; i <n - 1; i++ )
        area += ( x[i] - x[i + 1] ) * ( y[i + 1] + y[i] );
    area += ( x[n - 1] - x[0] ) * ( y[0] + y[n - 1] );
    area /= 2.0;

   If the area is a negative number, the polygon or triangle is
   clockwise, if positive, it is counterclockwise.
   From Ronald Goldman's Gem (in Graphics Gems II - see section 1 above),
   "Area of Planar Polygons and Volume of Polyhedra:"
   The area of a polygon P0, P1, P2, ... Pn, not in the x-y plane, is
   given by

     Area(Polygon) = 1/2 * | N . Sigma { Pk x Pk+1 } |

   where N is the unit vector normal to the plane and P is a polygonal
   vertex. The . represents the dot product operator and the x represents
   the cross product operator. Sigma represents the summation operator. |
   | represents the absolute value operator. Pn+1 is equal to P0.
   A lot of people ask about converting from HPGL to PostScript, or
   MacDraw to CGM, or whatever. It is important to understand that this
   is a very different problem from that addressed by the free image
   manipulation software below. Converting one image format to another
   is a fairly easy problem, since once you get past all the file header
   junk, a pixel is a pixel -- the basic objects are the same for all
   image formats. This is not so for vector formats. The basic objects --
   circles, ellipses, drop-shadowed pattern-filled round-cornered
   rectangles, etc. -- vary from one format to another. Except in
   extremely restricted cases, it is simply not possible to do a
   one-to-one conversion between vector formats.
   On the other hand, it is quite possible to do a close approximation,
   rendering an image from one format using the primitives from another.
   As far as I know, no one has put together a general toolkit of such
   converters, but two different HPGL to PostScript converters have been
   posted to comp.sources.misc. Check the index on your nearest archive
   A related frequent question is how to convert from some vector format
   to a bitmapped image - from PostScript to Sun raster format, or HPGL
   to X11 bitmap. For example, some of the commercial PostScript clones
   for PC's allow you to render to a disk file as well as a printer.
   Also, the PostScript interpreters in the NeXT box and in Sun's
   X11/NeWs can be used to render to a file if you're clever. But in
   general, the answer is no. However, if someone were to put together a
   vector to vector conversion toolkit, adding a vector to raster
   converter would be trivial.
   GNU ghostscript (from the FSF - current version 2.6.1) includes
   drivers for both ppm and gif format files, thus it can be used as a
   PostScript to ppm or a PostScript to GIF filter. (It implements
   essentially all of PostScript level 1 and alot of Display PostScript
   and level 2).
   There is a package called hp2xx, which includes a fairly nice HP-GL
   previewer/converter, and which can convert to several formats,
   including PBM. The latest version is hp2xx-3.1.2.tar. It's available
   on many archive sites.
   There are a number of sites that archive the Usenet sources
   newsgroups and make them available via an email query system. You send
   a message to an automated server saying something like "send
   comp.sources.unix/fbm", and a few hours or days later you get the file
   in the mail.
   In addition, there is at least one FTP-by-mail server. Send mail to saying "help" and it will tell you how to use
   it. Note that this service has at times been turned off due to abuse.
Where can I get ...

   This section provides information on how to obtain frequently sought
   items. I tend to shy away from commercial products other than books so
   as to remain as neutral as possible. I don't want to see things like
   "... the paint program recommended in the FAQ!" get
   a toe-hold in my reality. :-) 
   You almost certainly don't need these due to the existence of a large
   quantity of very good free image manipulation software. Get one or
   more of these packages and look through them. Chances are excellent
   that the image converter you were going to write is already there.
   But if you still want one of the format documents, many such files are
   available by anonymous ftp from the following sites:
   There are many files in each of these directories. Your best bet is to
   go there and look around.
   FITS stands for Flexible Image Transport System. It's a file format
   most often used in astronomy. Despite the name, it can contain not
   only images but other things as well. There is a regular monthly FITS
   basics and information posting on sci.astro.fits - read it if you want
   to know more.
   There are a number of toolkits for converting from one image format
   to another, doing simple image manipulations such as size scaling,
   plus the above-mentioned 24 -> 8, color -> gray, gray -> b&w
   While there is a full URL listed for many of these packages, this is
   really quite misleading. Most of these packages are available from
   numerouse sites. I highly recommend two things:
    1. Use archie or a similar tool to locate an ftp site close to you,
       rather than fighting the frothing hordes for access to wuarchive.
    2. ftp to your chosen site manually, change to the directory listed
       in the FAQ for your chosen package, and look around. You will
       often find newer versions or additional, related files.
   That being said, here are the packages:
   xv by John Bradley
          X-based image display, manipulation, and format conversion
          package. XV displays many image formats and permits editing of
          GIF files, among others. The latest version is 3.10a, and may
          be found at John's site as
   PBMPLUS by Jef Poskanzer
          Comprehensive format conversion and image manipulation package.
          It is available at as /pbmplus10dec91.tar.Z and
          at as
          This is a Usenet community supported version of the PBMPLUS
          toolkit, including many new and updated converters. It is
          available at as
          /graphics/graphics/packages/NetPBM/netpbm-1mar1994.tar.gz. A
          mailing list exists as well.
   IM Raster Toolkit by Alan Paeth (
          Provides a portable and efficient format and related toolkit.
          The format is versatile in supporting pixels of arbitrary
          channels, components, and bit precisions while allowing
          compression and machine byte-order independence. The kit
          contains more than 50 tools with extensive support of image
          manipulation, digital halftoning and format conversion.
          Previously distributed on tape c/o the University of Waterloo,
          an FTP version will appear someday.
          Ed. Note: This is a very old blurb. Is this kit available on
          the net? If so, where? If not, how does one get it? Is it
   Utah RLE Toolkit
          Conversion and manipulation package, similar to PBMPLUS.
          Available via FTP as*,
*, and
   Fuzzy Pixmap Manipulation by Michael Mauldin
          Conversion and manipulation package, similar to PBMPLUS.
          Version 1.0 available via FTP at as
   Xim (X Image Manipulator) by Philip R. Thompson
          It does essential interactive image manipulations and uses
          x11r4 and the OSF/Motif toolkit for the interface. It supports
          images in 1, 8, 24 and 32 bit formats. Reads/writes and
          converts to/from GIF, xwd, xbm, tiff, rle, xim, and other
          formats. Writes level 2 postscript. Other utilities and image
          application library are included. Not a paint package.
          Available at as /pub/xim3i.tar.Z.
   xloadimage by Jim Frost
          Reads in images in various formats and displays them on an X11
          screen. Available via FTP as in your nearest comp.sources.x
   xli, by Graeme Gill
          This is an updated xloadimage with numerous improvements in
          both speed and in the number of formats supported. Available at
 as /contrib/applications/xli.1.16.tar.gz.
   TIFF Software by Sam Leffler
          Nice portable library for reading and writing TIFF files, plus
          a few tools for manipulating them and reading other formats.
          Available via FTP as*.tar.Z.
          This is an X11 tool for viewing a TIFF file. It was written to
          handle as many different kinds of TIFF files as possible while
          remaining simple, portable and efficient. xtiff illustrates
          some common problems with building pixmaps and using different
          visual classes. It is distributed as part of Sam Leffler's
          libtiff package and it is also available on and
          comp.sources.x. xtiff 2.0 was announced in 4/91; it includes
          Xlib and Xt versions.
          This is a Sun-specific image toolkit. Version 2.0.6 was posted
          to comp.sources.sun on 11dec89. Also available via email to

          This is an image manipulation language. Version 2.1 posted to
          comp.sources.misc on 12dec89.
          This is an X11 package for display and interactive manipulation
          of images. Includes tools for image conversion, annotation,
          compositing, animation, and creating montages. ImageMagick can
          read and write many of the more popular image formats.
          Available from as
          This is a huge (~100 meg) graphical development environment
          based on X11R4. Khoros components include a visual programming
          language, code generators for extending the visual language and
          adding new application packages to the system, an interactive
          user interface editor, an interactive image display package, an
          extensive library of image and signal processing routines, and
          2D/3D plotting packages. Available at as
          /pub/khoros/*. A newsgroup exists for the discussion of khoros
          and khoros-related topics, comp.soft-sys.khoros.
          This is a SunView-based image processing and analysis package.
          It includes more than 200 image manipulation, processing and
          measurement routines, on-line help, plus tools such as an image
          editor, a color table editor and several biomedical utilities.
          Available via anonymous FTP on in
   The San Diego Supercomputer Center Image Tools
          These are software tools for reading, writing, and manipulating
          raster images. Binaries for some machines are available at
 as /pub/sdsc/graphics/imtools/*.
   Independent JPEG Group's free JPEG software
          The Independent JPEG Group has written a package for reading
          and writing JPEG files. FTP to

   bit (Bitmap Image Touchup) by T.C. Zhao
          This is a full color viewer/editor with a variety of features.
          SGI only. It may be obtained via FTP at in
   "Libreria de Utilidades Graficas" or "Graphic Utilities Library"
          This is a library of subroutines for image manipulation. It has
          routines for loading, viewing and manipulationg a variety of
          formats. It may be obtained at as
   Dore' (Dynamic Object Rendering Environment)
          Dore' is a powerful 3D graphics subroutine library. It provides
          a comprehensive set of tools for creating graphics
          applications. It is also easy to use, portable, and extendable.
          This version has interfaces/drivers to X11, PEX, IrisGL,
          OpenGL, Postscript and more. It is known to run on NetBSD 1.0,
          Linux, FreeBSD, Solaris 2.3, and OSF/1. It has also been ported
          to Windows NT 3.5. The official distribution site is
, where it may be found in
          pub/packages/development/graphics/Dore as pdore-6.0.tar.Z.
          XMegaWave is a graphics window environment oriented to image
          processing. It is based in the collaboration between
          researchers from the University of Balear Islands (U.I.B.), The
          University of Las Palmas (U.L.P.G.C.) and the University of
          Paris IX Dauphine (U.P.D.). XMW is oriented to UNIX
          workstations which work with X11R4 and Motif1.1 libraries (this
          XMW version). Currently, it is available for HP-Apollo and SGI
          workstations. Full source is not available as of yet, but the
          authors say they will cooperate in getting other versions
          built. XMW may be obtained on in the
          /investigacion/ami/XMegaWave directory.
   Please do *not* post or mail messages saying "I can't FTP, could
   someone mail this to me?" There are a number of automated mail servers
   that will send you things like this in response to a message. Refer to
   the section of this document titled How do I get files if I can't ftp?
   for more help.
   Also, the newsgroup is specifically for
   discussion of software like this. You may find useful information
   Gnuplot is a command-driven interactive data/function plotting
   program. It runs on just about any machine, and is very flexible in
   terms of supported output devices. The official North American
   distribution site for the latest version is in
   /pub/gnuplot. More information is available from the USENET newsgroup and its FAQ, graphics/gnuplot-faq.
   ACE/gr (xmgr - Motif/xvgr - XView) is a data/function plotting tool
   for workstations or X-terminals using X. Available from in /pub/users/pturner/acegr. There is also a WWW page
   for this package at
   robotx (Robot) is a general purpose plotting and data analysis
   program. Requires XView, X-terminal or workstation. Available from as /R5contrib/robotx0.48.tar.gz. There is a much improved
   version in beta testing as well. Contact
   for info.
   Xgraph is a popular two-dimensional plotting program that accepts data
   in a form similar to the unix program graph and displays line graphs,
   scatter plots, or bar charts on an X11 display. Available from a
   multitude of sites, including, as xgraph-11.3.2.tgz.
   XGobi is an interactive dynamic graphics program for data
   visualization in the X Window System. It is especially designed for
   the exploration of multivariate data. It may be found at
   in /graphics/graphics/packages/XGobi.
   XgPlot is a 3d plotting packages which supports linear, log, and
   probability scaling of axes, as well as division marker lines in the
   graph. It can plot up to 20 datasets on a single graph, and the graph
   may be saved to or loaded from an ascii graph description file. It may
   be found at as /R5contrib/XgPlot-4.4.tar.Z.
   PLOTMTV is a multipurpose X11 plotting program. It's capabilities
   include 2D line and scatter plots (x-vs-y), contour plots, 3D surface,
   line and scatter plots as well as vector plots. The program has an
   rough but functional Graphical User Interface, through which it is
   possible to zoom in, zoom out, pan, toggle between 2D and 3D plots,
   and rotate 3D plots. Both color and grayscale postscript output are
   supported. It may be found at as
   The American National Standards Institute sells ANSI standards, and
   also ISO (international) standards. Their sales office is at
   1-212-642-4900, mailing address is 1430 Broadway, NY NY 10018. It
   helps if you have the complete name and number.
   Some useful numbers to know:
     * CGM (Computer Graphics Metafile) is ISO 8632-4 (1987)
     * GKS (Graphical Kernel System) is ANSI X3.124-1985
     * PHIGS (Programmer's Hierarchical Interactive Graphics System) is
       ANSI X3.144-1988
     * IGES is ASME/ANSI Y14.26M-1987
   Language bindings are often separate but related numbers; for example,
   the GKS FORTRAN binding is X3.124.1-1985.
   Standards-in-progress are made available at key milestones to solicit
   comments from the graphical public (this includes you!). ANSI can let
   you know where to order them; most are available from Global
   Engineering at 1-800-854-7179.
   So far, I know of only one really large clump of them on the net. It
   is located at The site administrators request
   that major downloads be kept to non-peak hours. Their official mirror
   site is
   Volume data sets are available from the University of North Carolina
   at ( in /pub/softlab/CHVRTD.
   (Commercial use is prohibited.)
     * Head data - A 109-slice MRI data set of a human head.
     * Knee data - A 127-slice MRI data set of a human knee.
     * HIPIP data - The result of a quantum mechanical calculation of a
       SOD data of a one-electron orbital of HIPIP, an iron protein.
     * SOD data - An electron density map of the active site of SOD
       (superoxide dismutase).
     * CT Cadaver Head data - A 113-slice MRI data set of a CT study of a
       cadaver head.
     * MR Brain data - A 109-slice MRI data set of a head with skull
       partially removed to reveal brain.
     * RNA data - An electron density map for Staphylococcus Aureus
   The Motion Picture Screen Cartoonists and Affiliated Optical
   Electronic and Graphic Arts, Local 839 IATSE is pleased to announce
   the availability by anonymous FTP of information files about our
   Local 839 IATSE is the largest local union of motion picture graphic
   artists in the world. We have over 1,500 active members employed in
   animation and CGI in Southern California.
   These files are available at via
   anonymous ftp.
   For further information, contact them at
Graphics-related Mailing Lists

   There are a variety of graphics-related mailing list out there, each
   covering either a single product or a single topic. I have been an
   active participant in several of these for some time now, and find the
   focus and expertise which can be brought to bear on an isolated topic
   to be nothing short of amazing.
   Please send corrections if you notice outdated or erroneous
   information in this list! Also, feel free to send me any other lists
   you would like to see added.
   The Imagine mailing list provides a discussion forum for users of the
   Imagine 3D Rendering and Animation package from Impulse. Currently,
   Imagine runs on the Amiga and the PC.
   To subscribe, send mail to with
   the word "subscribe" in the subject line.
   The DCTV mailing list provides a discussion forum for users of the
   Digital Creations DCTV box, software, and file formats. DCTV is an
   Amiga graphics module.
   To subscribe, send mail to with the
   word "subscribe" in the subject line.
   The Rayshade Users mailing list provides a discussion forum for users
   of the Rayshade raytracer. Rayshade is a public domain raytracer, with
   source available on the net. It runs on most Unix boxes, as well as
   the Amiga, Mac and PC platforms. To subscribe, send mail to with the word "subscribe" in the
   subject line.
   The Lightwave mailing list provides a discussion forum for users of
   the Lightwave 3D Rendering and Animation package from Newtek.
   Currently, Lightwave runs on the Amiga, but it will soon be available
   on various other platforms.
   To subscribe, send mail to with the
   "subscribe lightwave-l address" in your message.
   The Video Toaster mailing list provides a discussion forum for users
   of the Video Toaster product from Newtek. The Video Toaster is an
   Amiga board which includes Lightwave and a lot of video functionality.
   To subscribe, send mail to with
   "subscribe toaster-l address" in your message.
   This list title seems pretty self-explanatory. I believe it is
   primarly a Unix-oriented list.
   To subscribe, send mail to with the word
   "subscribe" in the subject line.
   The Netpbm mailing list provides a discussion forum for the
   net-supported netpbm package. I believe this to be largely a developer
   forum. Netpbm runs on just about any platform you could name.
   To subscribe, send mail to with the word
   "subscribe" in the subject line.
   The POV-Ray mailing list provides a discussion forum for users of the
   POV-Ray raytracer. POV-Ray is a public domain raytracer, with source
   available on the net. It runs on most Unix boxes, as well as the
   Amiga, Mac and PC platforms. To subscribe, send mail to with "subscribe dkb-l" in the subject line.
   The Ray Dream mailing list provides a discussion forum for users of
   the Ray Dream Rendering and Animation package. Currently, Ray Dream
   runs only on the Mac.
   To subscribe, send mail to with "subscribe
   raydream-l address" in your message.
   The Computational Geometry mailing lists are meant for those working
   or interested in computational geometry. There are actually three
   separate but related lists:
     * compgeom-announce: for announcements about professional activities
     * compgeom-discuss: for discussion or questions
     * compgeom-tribune: a newsletter in LaTeX.
   To subscribe to one of these lists, send mail to with the message "subscribe xxxx" in
   the message body or subject line, where xxxx is the name of one of the
   three lists.
   The compgeom list also provides some other neat stuff, such as a
   bibliographic search service. Send mail to with the message "send readme" for
   more information.
   The Photoshop mailing list provides a discussion forum for users of
   the Photoshop image conversion and manipulation package from Adobe.
   Adobe Photoshop runs on Windows, Macintosh, and SGI platforms. The
   latest version, 3.0, does not work properly under OS/2 and Adobe
   refuses to address the problem (editorial comment).
   To subscribe, send mail to with "subscribe" in the
   body of your message.
   The 3dstudio mailing list provides a discussion forum for users of
   the 3D Studio modelling and rendering package from Autodesk. Autodesk
   3D Studio runs only on the PC platform, AFAIK.
   To subscribe, send mail to with "Subscribe
   3dstudio &LTaddress&GT" in the body of your message. The &LTaddress&GT
   section is optional, and should not include the &LT&GT.
   The KPT mailing list provides a discussion forum for users of Kai's
   Power Tools, a set of cool texture plugins for Adobe Photoshop and
   other packages. Kai's Power Tools work on Windows and the Mac.
   To subscribe, send mail to with "subscribe
   kpt-list" in the body of your message.
   The KODAK Photo CD mailing list is a public mailing list for
   discussion of the Photo CD format and related topics.
   To subscribe, send mail to with the command
   "SUBSCRIBE PHOTO-CD &LTfirst-name&GT &LTlast-name&GT", substituting
   your own first and last names in the obvious spots. Both these names
   and the address you subscribe from will be used by the mailing list
   The Caligari mailing list provides a discussion forum for users of
   the Caligari TrueSpace Rendering and Animation package from Caligari.
   I believe Caligari currently runs on the Amiga and PC (Windows)
   To subscribe, send mail to with
   "subscribe" in your message.
   The Global Illumination mailing list is a forum for the discussion of
   research issues pertaining to the simulation of 'global illumination',
   that is the balance of radiant energy between a set of surfaces of
   radiatively active media. This is not a list for the newbie or the
   dabbler - 75% of the current members are researchers in academic
   To subscribe, send a message to containing
   your name, affiliation, and 2 lines describing your interests. There
   is also an affiliated Global Illumination WWW page,
   The Fractal Design Painter mailing list provides a discussion forum
   for users of the Fractal Design Painter package. I believe Fractal
   Design Painter currently runs on the PC (Windows) and Mac platforms.
   To subscribe, send the message "subscribe painter-list" to

   SIGGRAPH, the Special Interest Group for Graphics of the Association
   for Computing Machinery, is the premiere professional organization in
   the computer graphics world. It is so active and so pervasive that I
   feel it deserves its own section.
   ACM-SIGGRAPH provides an online information site at
   ( This site provides SIGGRAPH information via both
   anonymous ftp and an electronic mail archive server.
   The anonymous ftp service is very standard, and the ftp directory
   includes both conference and publications subdirectories.
   To retrieve information by electronic mail, send mail to and in the subject or the body of the
   message include the message send followed by the topic and subtopic
   you wish. A good place to start is with the command send index which
   will give you an up-to-date list of available information.
   The coolest way to get SIGGRAPH info, of course, is via their WWW page
   Probably the easiest way to join ACM/SIGGRAPH is to trot over to your
   local technical library and find a copy of Communications of the ACM.
   Somewhere within the first few pages will be an application blank.
   Fill it out and mail it in. ACM membership for students costs $24.00,
   Voting or Associate Membership $79.00 (yearly).
   SIGGRAPH student membership costs an additional $50.00, $59.00 for
   Voting or Associate Members (also yearly). To get TOG (Transactions on
   Graphics) it's another $27.00 for students and $32.00 for Voting or
   Associate Members (TOG is an ACM publication, not a SIGGRAPH
   If you just want to join SIGGRAPH without joining ACM, it'll cost you
   $85.00 (no student discount).
   There are surcharges for overseas airmailing of publications.
   ACM Member services may be contacted via email at
   acmhelp@acmvm.bitnet. Their phone number is (212) 626-0500. FAX number
   (212) 944-1318. Snailmail address ACM, PO Box 12114, Church Street
   Station, NY, NY 10257
   SIGGRAPH `95 will be held in Los Angeles, California, August 6-11,
   The ACM SIGGRAPH Online Bibliography Project is a database of over
   15,000 unique computer graphics and computational geometry references
   in BibTeX format, available to the computer graphics community as a
   research and educational resource.
   The database is located at "". Users may download the
   BibTeX files via FTP and peruse them offline, or telnet to
   "" and log in as "biblio" and interactively search the
   database for entries of interest, by keyword.
   Web users may also access the SIGGRAPH Online Bibliography Project via
   the URL
   Additions/corrections/suggestions may be directed to the admin,
   Check out John Grieggs' Home Page
   / /

User Contributions:

Comment about this article, ask questions, or add new information about this topic:

[ Usenet FAQs | Web FAQs | Documents | RFC Index ]

Send corrections/additions to the FAQ Maintainer: (John T. Grieggs)

Last Update March 27 2014 @ 02:11 PM