comp.graphics.misc FAQ
Last update: 04Mar97
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 comp.graphics.misc.
If your copy of the FAQ is more than a couple of months old, you may want to
seek out the most recent version. The latest non-HTML version of this FAQ is
always available on rtfm.mit.edu as
/pub/usenet/news.answers/graphics/faq.
In case you're reading the ASCII version of the FAQ, the HTML version is
at http://www.primenet.com/~grieggs/cg_faq.html.
Send your updates to me at grieggs@primenet.com. I reserve the right to
reject or modify submissions based on my interpretation of the
role of the FAQ.
Contents
Editorial
It's been a long time since the last update. I am sorry about that, but
my life has been very busy since then. Things seem a little quieter now,
so hopefully updates will happen a bit more frequently.
Assume that any updates sent to me since the last FAQ update have been
lost one way or another and need to be resubmitted.
_john
Copyright
The comp.graphics.misc 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 venture.
Links to the HMTL version are welcome and even encouraged. The canonical
location is http://www.primenet.com/~grieggs/cg_faq.html.
Changes since last revision
The FAQ has been comatose, but is now awake.
Don't forget to send your contributions to grieggs@primenet.com! If
you just post, I may not see it for one reason or another.
Other Graphics-related FAQs
and FAQ-like documents
The comp.graphics.misc 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.
- comp.graphics.algorithms FAQ
- Maintained by Jon Stone (jdstone@destin.dazixco.ingr.com), the
comp.graphics.algorithms 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 rtfm.mit.edu as
/pub/usenet/news.answers/graphics/algorithms-faq.
- comp.graphics.animation FAQ
- Maintained by Francisco X DeJesus (dejesus@vislab.navy.mil), the
comp.graphics.animation FAQ contains questions and answers about computer
graphics animation. He maintains a HTML version at
http://www.ridgecrest.ca.us/fx/cga-faq.html.
The non-HTML version is still available on rtfm.mit.edu as
/pub/usenet/news.answers/graphics/animation-faq.
- Graphics File Formats FAQ
- Maintained by James Murray (jdm@netcom.com), 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 rtfm.mit.edu as
/pub/usenet/news.answers/graphics/fileformats-faq.
- Color Space FAQ
- Maintained by David Bourgin (david.bourgin@ufrima.imag.fr),
the Color Space FAQ contains questions and answers about colors and color
spaces. It is available on rtfm.mit.edu as
/pub/usenet/news.answers/graphics/colorspace-faq.
- 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,
http://www.inforamp.net/~poynton/ in a variety of formats. Text versions
may be obtained at ftp.inforamp.net in the /pub/users/poynton/doc/colour
directory.
- Computer Graphics Resource Listing
- Maintained by Nick Fotis (nfotis@theseas.ntua.gr),
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 rtfm.mit.edu as
/pub/usenet/news.answers/graphics/resources-list/part[1-6], or get the
auto-HTMLed version at
http://www.cis.ohio-state.edu/hypertext/faq/usenet/graphics/resources-list/top.html.
General References
Books
- Computer Graphics: Principles and Practice (2nd Ed.), J.D. Foley,
A. van Dam, S.K. Feiner, J.F. Hughes, Addison-Wesley 1990, ISBN
0-201-12110-7
- 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
0-12-286165-5
- Graphics Gems II, James Arvo (ed.), Academic Press 1991, ISBN
0-12-064480-0
- 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
Eratta
Errata for "An Introduction to Ray Tracing" is available on
wuarchive.wustl.edu as
/graphics/graphics/books/erratas/IntroToRt.
Errata for "Digital Image Warping" is available on wuarchive.wustl.edu as
/graphics/graphics/books/erratas/Digital-Image-Warping.
Errata for "Photorealism and Ray Tracing in C" is available on
wuarchive.wustl.edu as
/graphics/graphics/books/erratas/Photorealism-and-ray-tracing-in-C.
Errata for the "Graphics Gems" series are available on
wuarchive.wustl.edu 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 graphtext@cs.brown.edu
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 princeton.edu. 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, jk87377@cs.tut.fi.
Specific References
Ray-Tracing and Global Illumination
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 wuarchive.wustl.edu as
/graphics/graphics/bib/RT.BIB.Speer/speer.rt.bib.ps.Z, and on
plaza.aarnet.edu.au as /graphics/graphics/bib/RT.BIB.Speer/speer.rt.bib.ps.gz.
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
hobbes.lbl.gov as /pub/doc/RadBib95.Z. There are also some other
interesting papers in the same directory.
Tom Wilson (twilson@dab.ge.com) 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 "rtabs.*".
- 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 gbook@iecc.cambridge.ma.us.
- 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 separately.
- 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:
orders@ora.com. 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
(tgl@sss.pgh.pa.us) 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 dubious."
Spatial Data Structures
- 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.
PEX and PHIGS
- 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 (casebound)
- 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 sgi.sgi.com as
/sgi/opengl/doc/analysis.ps.Z.
- OpenGL Programming Guide, Neider, Davis & Woo, Addison-Wesley, 1993
- 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 sgi.sgi.com as
/sgi/opengl/doc/analysis.ps.Z.
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 marsh.cs.curtin.edu.au
in the directory pub/graphics/bibliography/Morph. There are three files:
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
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.
How do I draw 3D objects on a 2D screen?
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 which.
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 manual.
The ImageMagick package contains another quantizing algorithm which is
presented as "doing a better job than the other algorithms, but slower".
Ian Ashdown (Ledalite@mindlink.bc.ca) is maintaining a bibliography of
color quantization papers and articles that is available at hobbes.lbl.gov 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 Journal.
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 0-262-21009-6
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 (awpaeth@watcgl.waterloo.edu) 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 princeton.edu 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 princeton.edu as
/pub/Graphics/GraphicsGems/GemsIV/GGemsIV.tar.Z.
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 <leech@cs.unc.edu>
has posted a nice routine called sphere.c that generates the coordinates.
It's available for FTP on ftp.ee.lbl.gov and princeton.edu.
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
princeton.edu, as /pub/Graphics/Papers/musg88.ms.Z.
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
How do I find the area of a 3D polygon?
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
site.
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
ftpmail@decwrl.dec.com 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 comp.graphics.misc FAQ!" get
a toe-hold in my reality. :-)
Where can I get format documents for
TIFF, IFF, GIF, etc.?
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:
- zamenhof.cs.rice.edu:/pub/graphics.formats
- ftp.ncsa.uiuc.edu:/misc/file.formats/graphics.formats
- telva.ccu.uniovi.es:/pub/graphics/file.formats
- peipa.essex.ac.uk:/ipa/file-formats
- avalon.vislab.navy.mil:/pub/format_specs
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 conversions.
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:
- Use archie or a similar tool to locate an ftp site close to you, rather
than fighting the frothing hordes for access to wuarchive.
- 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 ftp.cis.upenn.edu as
/pub/xv/xv-3.10a.tar.gz.
- PBMPLUS by Jef Poskanzer
- Comprehensive format conversion and image
manipulation package. It is available at ftp.ee.lbl.gov as
/pbmplus10dec91.tar.Z
and at wuarchive.wustl.edu as
/graphics/graphics/packages/pbmplus/pbmplus10dec91.tar.Z.
- NETPBM
- This is a Usenet community supported version of the PBMPLUS toolkit,
including many new and updated converters. It is available at
wuarchive.wustl.edu as
/graphics/graphics/packages/NetPBM/netpbm-1mar1994.tar.gz. A mailing list exists as well.
- IM Raster Toolkit by Alan Paeth (awpaeth@watcgl.uwaterloo.ca)
- 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 obsolete?
- Utah RLE Toolkit
- Conversion and manipulation package, similar to
PBMPLUS. Available via FTP as cs.utah.edu:pub/urt-*,
princeton.edu:pub/Graphics/urt-*, and freebie.engin.umich.edu:pub/urt-*.
- Fuzzy Pixmap Manipulation by Michael Mauldin <mlm@nl.cs.cmu.edu>
- Conversion and manipulation package, similar to PBMPLUS. Version 1.0
available via FTP at network.ucsd.edu as
/graphics/fbm.tar.Z.
- 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
gis.mit.edu as
/pub/xim3i.tar.Z.
- xloadimage by Jim Frost <madd@std.com>
- Reads in images in various formats and displays them on an X11
screen. Available via FTP as in your nearest comp.sources.x archive.
- xli, by Graeme Gill
- This is an updated xloadimage with numerous improvements
in both speed and in the number of formats supported. Available at
ftp.x.org as /contrib/applications/xli.1.16.tar.gz.
- TIFF Software by Sam Leffler <sam@okeeffe.berkeley.edu>
- Nice portable library for reading and writing TIFF files, plus a few
tools for manipulating them and reading other formats. Available via FTP as
sgi.com:graphics/tiff/*.tar.Z.
- xtiff
- 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 ftp.uu.net and comp.sources.x. xtiff 2.0 was announced
in 4/91; it includes Xlib and Xt versions.
- ALV
- This is a Sun-specific image toolkit. Version 2.0.6 was posted to
comp.sources.sun on 11dec89. Also available via email to
alv-users-request@cs.bris.ac.uk.
- popi
- This is an image manipulation language. Version 2.1 posted to
comp.sources.misc on 12dec89.
- ImageMagick
- 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 ftp.x.org as
/contrib/applications/ImageMagick/ImageMagick-3.7.tar.gz.
- Khoros
- 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
ftp.eece.unm.edu as /pub/khoros/*. A newsgroup exists for the
discussion of khoros and khoros-related topics, comp.soft-sys.khoros.
- LaboImage
- 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 nic.funet.fi in /pub/graphics/packages.
- 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 sdsc.edu 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 ftp.uu.net:graphics/jpeg/jpegsrc.v?.tar.gz
- 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 monte.svec.uh.edu in /pub/bit.
- "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 ftp.uniovi.es as
/uniovi/mathdept/src/liblug.tar.gz.
- 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 sunsite.unc.edu, where it may be
found in pub/packages/development/graphics/Dore as pdore-6.0.tar.Z.
- XMegaWave
- 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 ftp.dis.ulpgc.es 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 alt.graphics.pixutils is specifically for discussion
of software like this. You may find useful information there.
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 dartmouth.edu in /pub/gnuplot. More information is available from
the USENET newsgroup comp.graphics.gnuplot 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 ftp.teleport.com
in /pub/users/pturner/acegr. There is also a WWW page for this package at
http://www.teleport.com/~pturner/acegr/.
robotx (Robot) is a general purpose plotting and data analysis program.
Requires XView, X-terminal or workstation. Available from ftp.x.org as
/R5contrib/robotx0.48.tar.gz. There is a much improved version in beta
testing as well. Contact corbet@bastet.gsfc.nasa.gov 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 ftp.cs.umn.edu, 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 ftp.archie.au 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 ftp.x.org 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
ftp.x.org as
/contrib/applications/Plotmtv1.4.1.tar.Z.
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 avalon.vislab.navy.mil. The site administrators request
that major downloads be kept to non-peak hours. Their official mirror
site is ftp.kpc.com.
Volume data sets are available from the University of North Carolina at
omicron.cs.unc.edu (152.2.128.159) 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 Ribonuclease.
Where can I get MPSC and AOEGA info?
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 organization.
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 ftp.netcom.com:/pub/mp/mpsc839 via anonymous
ftp.
For further information, contact them at mpsc839@netcom.com.
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 imagine-request@email.sp.paramax.com 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 DCTV-request@nova.cc.purdue.edu 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 rayshade-request@cs.princeton.edu 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 lightwave-request@bobsbox.rent.com 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 toaster-request@bobsbox.rent.com 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 mp-render-request@icase.edu 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 oliver@fysik4.kth.se 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 listserv@vm3090.ege.edu.tr 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 listserv@cornell.edu 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
compgeom-request@research.att.com 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 compgeom-request@research.att.com 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 photshop@bgu.edu 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 majordomo@autodesk.com with "Subscribe 3dstudio
<address>" in the body of your message. The <address> section is
optional, and should not include the <>.
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 listserv@netcom.com 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 listserv@info.kodak.com with the command
"SUBSCRIBE PHOTO-CD <first-name> <last-name>", 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 software.
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) platforms.
To subscribe, send mail to truespace-request@cs.uregina.ca 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 environments.
To subscribe, send a message to globillum-request@imag.fr containing your
name, affiliation, and 2 lines describing your interests. There is also
an affiliated Global Illumination WWW page,
http://safran.imag.fr/Membres/Francois.Sillion/globillum.html
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 listserv@netcom.com.
SIGGRAPH
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 siggraph.org
(128.248.245.250). 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
archive-server@siggraph.org
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 at
http://www.siggraph.org.
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 publication).
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, 1995.
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 "siggraph.org". Users may download the BibTeX
files via FTP and peruse them offline, or telnet to "siggraph.org" 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
http://siggraph.org/library/bibliography/bibliography.html.
Additions/corrections/suggestions may be directed to the admin,
"bibadmin@siggraph.org".
Check out John Grieggs' Home Page
grieggs@primenet.com