home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #18 / NN_1992_18.iso / spool / comp / graphics / 8911 < prev    next >
Encoding:
Internet Message Format  |  1992-08-17  |  27.2 KB

  1. Xref: sparky comp.graphics:8911 news.answers:2535
  2. Newsgroups: comp.graphics,news.answers
  3. Path: sparky!uunet!stanford.edu!ames!elroy.jpl.nasa.gov!ufo!grieggs
  4. From: grieggs@jpl-devvax.jpl.nasa.gov (John T. Grieggs)
  5. Subject: (17aug92) comp.graphics Frequently Asked Questions (FAQ)
  6. Message-ID: <1992Aug17.194222.3588@jpl-devvax.jpl.nasa.gov>
  7. Followup-To: poster
  8. Sender: grieggs@jpl-devvax.jpl.nasa.gov (John T. Grieggs)
  9. Reply-To: grieggs <grieggs@jpl-devvax.jpl.nasa.gov>
  10. Organization: Jet Propulsion Laboratory, Pasadena, CA
  11. Date: Mon, 17 Aug 1992 19:42:22 GMT
  12. Approved: news-answers-request@MIT.edu
  13. Expires: Mon, 31 Aug 1992 19:42:23 GMT
  14. Lines: 625
  15.  
  16. Archive-name: graphics/faq
  17.  
  18. This message is automatically posted once a week in an effort to cut
  19. down on the repetitive junk in comp.graphics.  It was last changed on
  20. 17aug92.  If you have answers to other frequently asked questions that
  21. you would like included in this posting, please send me mail.  If you
  22. don't want to see this posting every week, please add the subject line
  23. to your kill file.  Thank you.
  24. ---
  25. _john
  26.  
  27.     John Grieggs grieggs@jpl-devvax.jpl.nasa.gov JohnG@portal.com
  28. ---
  29. Last update: 08/17/92
  30.  
  31. The FAQ continues to be brought up to date, based on e-mailed input from
  32. a variety of comp.graphics participants.
  33.  
  34. I do read the newsgroup, and if I happen to notice that some Question is
  35. Frequently Asked but not covered in my FAQ, I will most likely seek out an
  36. answer and add it.  What I will not do is wade through 50-message flame
  37. threads looking for kernels of possible updates - contributions will be
  38. accepted via e-mail ONLY.
  39.  
  40. I am hoping for the following contributions currently:
  41.  
  42.     A good reference and a good, short answer for "How to ray trace
  43.     height fields".  This has been asked several times, and I'd like
  44.     to know too.  :-)
  45.  
  46.     Specific literature refs for "Drawing three-dimensional objects
  47.     on a two-dimensional screen".  I am hoping for something like "see
  48.     Baldersnath and Whitefield, pp 167-213".  Specific, that is.
  49.  
  50.     Opinions on which current books should be added to the FAQ - I
  51.     would especially like to add one or more of the many file format
  52.     books which have been appearing lately.  Which is the best?  Also,
  53.     are there any others currently in the general reference list which
  54.     should be nuked due to their hoary old age and obsolesence?
  55.  
  56. Rayshade mailing list (ddebry@dsd.es.com).
  57.  
  58. IP address added for coral.cs.jcu.edu.au (len@mel.dit.csiro.au).
  59.  
  60. Eric Haines ray tracing and radiosity/global illumination bibs (erich@eye.com).
  61.  
  62. Tom Wilson's ray tracing abstracts (wilson@eola.cs.ucf.edu).
  63.  
  64. Lightwave mailing list (erich@eye.com).
  65.  
  66. Comments on Pixar video availability (ab@nova.cc.purdue.edu).
  67.  
  68. John Bradley's "Diversity Algorithm" (joseph@joebloe.maple-shade.nj.us).
  69.  
  70. General re-formatting and tweaking (me).
  71.  
  72.         grieggs@jpl-devvax.jpl.nasa.gov
  73.  
  74.  
  75.  
  76. Contents:
  77.  
  78.     1) General references for graphics questions.
  79.     2) Drawing three-dimensional objects on a two-dimensional screen.
  80.     3) Quantizing 24 bit images down to 8 bits.
  81.     4) Converting color into grayscale.
  82.     5) Quantizing grayscale to black&white.
  83.     6) Rotating a raster image by an arbitrary angle.
  84.     7) Free image manipulation software.
  85.     8) Format documents for GIF, TIFF, IFF, BIFF, NFF, OFF, FITS, etc.
  86.     9) Converting between vector formats.
  87.     10) How to get Pixar films.
  88.     11) How do I draw a circle as a Bezier (or B-spline) curve?
  89.     12) How to order standards documents.
  90.     13) How to FTP by email.
  91.     14) How to tell whether a point is within a planar polygon.
  92.     15) How to tessellate a sphere.
  93.     16) Specific references on ray-tracing and global illumination.
  94.     17) SIGGRAPH information online
  95.     18) SIGGRAPH Panels Proceedings available
  96.     19) Graphics mailing lists
  97.  
  98.  
  99. 1) General references for graphics questions:
  100.  
  101.     Computer Graphics: Principles and Practice (2nd Ed.), J.D. Foley,
  102.       A. van Dam, S.K. Feiner, J.F. Hughes, Addison-Wesley 1990, ISBN
  103.       0-201-12110-7
  104.     Procedural Elements for Computer Graphics, David F. Rogers, McGraw
  105.       Hill 1985, ISBN 0-07-053534-5
  106.     Mathematical Elements for Computer Graphics 2nd Ed., David F. Rogers
  107.       and J. Alan Adams, McGraw Hill 1990, ISBN 0-07-053530-2
  108.     Applied Concepts in Microcomputer Graphics, Bruce Artwick, Prentice-Hall
  109.       1984, ISBN 0-13-039322-3
  110.     Digital Picture Processing, vols. 1&2, Azriel Rosenfeld and Avi Kak,
  111.       Academic Press 1976
  112.     Three Dimensional Computer Graphics, Alan Watt, Addison-Wesley 1990, ISBN
  113.       0-201-15442-0
  114.     An Introduction to Ray Tracing, Andrew Glassner (ed.), Academic Press
  115.       1989, ISBN 0-12-286160-4
  116.     Graphics Gems, Andrew Glassner (ed.), Academic Press 1990, ISBN
  117.       0-12-286165-5
  118.     Graphics Gems II, James Arvo (ed.), Academic Press 1991, ISBN
  119.       0-12-64480-0
  120.     Graphics Gems III, David Kirk (ed.), Academic Press 1992, ISBN
  121.       0-12-409670-0 (with IBM disk) or 0-12-409671-9 (with Mac disk)
  122.  
  123. An automatic mail handler at Brown University allows users of "Computer
  124. Graphics: Principles and Practice," by Foley, van Dam, Feiner, and
  125. Hughes, to obtain text errata and information on distribution of the
  126. software packages described in the book.  Also, users can send the
  127. authors feedback, to report text errors and software bugs, make
  128. suggestions, and submit exercises.  To receive information describing
  129. how you can use the mail handler, simply mail graphtext@cs.brown.edu
  130. and put the word "Help" in the Subject line.  Use the Subject line
  131. "Software-Distribution" to receive information specifically concerning
  132. the software packages SRGP and SPHIGS.
  133.  
  134. Errata for "An Introduction to Ray Tracing" is available on
  135. wuarchive.wustl.edu in graphics/graphics/books/IntroToRT.errata.
  136.  
  137. All C code from the "Graphics Gems" series is available via anonymous ftp
  138. from princeton.edu.  Look in the directory pub/Graphics/GraphicsGems for
  139. the various volumes (Gems, GemsII, GemsIII), and get the README file first.
  140.  
  141.  
  142. 2) Drawing three-dimensional objects on a two-dimensional screen.
  143.  
  144. The simple answer is, you divide by the depth.  For a more verbose
  145. explanation, see any of the above references.
  146.  
  147.  
  148. 3) Quantizing 24 bit images down to 8 bits.
  149.  
  150. Find a copy of "Color Image Quantization for Frame Buffer Display" by
  151. Paul Heckbert, SIGGRAPH '82 Proceedings, page 297.  There are other
  152. algorithms, but this one works well and is fairly simple.  Implementations
  153. are included in most raster toolkits (see item 7 below).
  154.  
  155. A variant method is described in "Graphics Gems", p. 287-293.  Note that
  156. the code from the "Graphics Gems" series is all available from an FTP site,
  157. as described above.
  158.  
  159. Check out John Bradley's "Diversity Algorithm", which is incorporated into
  160. the xv package and described in the back of the manual.
  161.  
  162.  
  163. 4) Converting color into grayscale.
  164.  
  165. The NTSC formula is:
  166.  
  167.     luminosity = .299 red + .587 green + .114 blue
  168.  
  169.  
  170. 5) Quantizing grayscale to black&white.
  171.  
  172. The only reference you need for this stuff is:
  173.  
  174.     Digital Halftoning, Robert Ulichney, MIT Press 1987, ISBN 0-262-21009-6
  175.  
  176. But before you go off and start coding, check out the image manipulation
  177. software mentioned in item 7 below.  All of the packages mentioned can do
  178. some form of gray to b&w conversion.
  179.  
  180.  
  181. 6) Rotating a raster image by an arbitrary angle.
  182.  
  183. The obvious but wrong method is to loop over the pixels in the source
  184. image, transform each coordinate, and copy the pixel to the destination.
  185. This is wrong because it leaves holes in the destination.  Instead,
  186. loop over the pixels in the destination image, apply the *reverse*
  187. transformation to the coordinates, and copy that pixel from the source.
  188. This method is quite general, and can be used for any one-to-one
  189. 2-D mapping, not just rotation.  You can add anti-aliasing by doing
  190. sub-pixel sampling.
  191.  
  192. However, there is a much faster method, with antialising included,
  193. which involves doing three shear operations.  The method was originally
  194. created for the IM Raster Toolkit (see below); an implementation is
  195. also present in PBMPLUS.  Reference: "A Fast Algorithm for Raster
  196. Rotation", by Alan Paeth (awpaeth@watcgl.waterloo.edu) Graphics
  197. Interface '86 (Vancouver).  An article on the IM toolkit appears in
  198. the same journal.  An updated version of the rotation paper appears
  199. in "Graphics Gems" (see section [1]) under the original title.
  200.  
  201.  
  202. 7) Free image manipulation software.
  203.  
  204. There are a number of toolkits for converting from one image format to
  205. another, doing simple image manipulations such as size scaling, plus
  206. the above-mentioned 24 -> 8, color -> gray, gray -> b&w conversions.
  207. Here are pointers to some of them:
  208.  
  209.     PBMPLUS, by Jef Poskanzer.  Comprehensive format conversion and image
  210.     manipulation package.  The latest version is always available via
  211.     anonymous FTP as ftp.ee.lbl.gov:pbmplus*.tar.Z,
  212.     wuarchive.wustl.edu:graphics/graphics/packages/pbmplus/pbmplus*.tar.Z,
  213.     and export.lcs.mit.edu:contrib/pbmplus*.tar.Z.
  214.  
  215.     IM Raster Toolkit, by Alan Paeth (awpaeth@watcgl.uwaterloo.ca).
  216.     Provides a portable and efficient format and related toolkit.  The
  217.     format is versatile in supporting pixels of arbitrary channels,
  218.     components, and bit precisions while allowing compression and machine
  219.     byte-order independence.  The kit contains more than 50 tools with
  220.     extensive support of image manipulation, digital halftoning and format
  221.     conversion.  Previously distributed on tape c/o the University of
  222.     Waterloo, an FTP version will appear someday.
  223.  
  224.     Utah RLE Toolkit.  Conversion and manipulation package, similar to
  225.     PBMPLUS.  Available via FTP as cs.utah.edu:pub/urt-*,
  226.     princeton.edu:pub/Graphics/urt-*, and freebie.engin.umich.edu:pub/urt-*.
  227.  
  228.     Fuzzy Pixmap Manipulation, by Michael Mauldin <mlm@nl.cs.cmu.edu>.
  229.     Conversion and manipulation package, similar to PBMPLUS.  Version 1.0
  230.     available via FTP as nl.cs.cmu.edu:/usr/mlm/ftp/fbm.tar.Z,
  231.     uunet.uu.net:pub/fbm.tar.Z, and ucsd.edu:graphics/fbm.tar.Z.
  232.  
  233.     Img Software Set, by Paul Raveling <raveling@venera.isi.edu>.  Reads and
  234.     writes its own image format, displays on an X11 screen, and does some
  235.     image manipulations.  Version 1.3 is available via FTP as
  236.     export.lcs.mit.edu:contrib/img_1.3.tar.Z, and
  237.     venera.isi.edu:pub/img_1.3.tar.Z along with a large collection of color
  238.     images.
  239.  
  240.     Xim, by Philip R. Thompson.  Reads and writes its own image format,
  241.     displays on an X11 screen, and does some image manipulations.
  242.     Available in your nearest X11R4 source tree as contrib/clients/xim.
  243.     A more recent version is available via ftp from video.mit.edu.  It uses
  244.     x11r4 and the OSF/Motif toolkit to provide basic interactive image
  245.     manipulation and reads/writes GIF, xwd, xbm, tiff, rle, xim, and other
  246.     formats.
  247.  
  248.     xloadimage, by Jim Frost <madd@std.com>.  Reads in images in various
  249.     formats and displays them on an X11 screen.  Available via FTP as
  250.     export.lcs.mit.edu:contrib/xloadimage*, and in your nearest comp.sources.x
  251.     archive.
  252.  
  253.     TIFF Software, by Sam Leffler <sam@okeeffe.berkeley.edu>.  Nice
  254.     portable library for reading and writing TIFF files, plus a few tools
  255.     for manipulating them and reading other formats.  Available via FTP as
  256.     ucbvax.berkeley.edu:pub/tiff/*.tar.Z or uunet.uu.net:graphics/tiff.tar.Z
  257.  
  258.     xtiff, an X11 tool for viewing a TIFF file.  It was written to handle
  259.     as many different kinds of TIFF files as possible while remaining
  260.     simple, portable and efficient.  xtiff illustrates some common problems
  261.     with building pixmaps and using different visual classes.  It is
  262.     distributed as part of Sam Leffler's libtiff package and it is also
  263.     available on export.lcs.mit.edu, uunet.uu.net and comp.sources.x.
  264.     xtiff 2.0 was announced in 4/91; it includes Xlib and Xt versions.
  265.  
  266.     ALV, a Sun-specific image toolkit.  Version 2.0.6 posted to
  267.     comp.sources.sun on 11dec89.  Also available via email to
  268.     alv-users-request@cs.bris.ac.uk.
  269.  
  270.     popi, an image manipulation language.  Version 2.1 posted to
  271.     comp.sources.misc on 12dec89.
  272.  
  273.     ImageMagick, an X11 package for display and interactive manipulation
  274.     of images.  Uses its own format (MIFF), and includes some converters.
  275.     Available via FTP as export.lcs.mit.edu:contrib/ImageMagick.tar.Z
  276.  
  277.     Khoros, a huge (~100 meg) graphical development environment based on
  278.     X11R4.  Khoros components include a visual programming language, code
  279.     generators for extending the visual language and adding new application
  280.     packages to the system, an interactive user interface editor, an
  281.     interactive image display package, an extensive library of image and
  282.     signal processing routines, and 2D/3D plotting packages.  Available via
  283.     FTP as pprg.eece.unm.edu:pub/khoros/*.
  284.  
  285.     LaboImage, a SunView-based image processing and analysis package.  It
  286.     includes more than 200 image manipulation, processing and measurement
  287.     routines, on-line help, plus tools such as an image editor, a color
  288.     table editor and several biomedical utilities.  Available via anonymous
  289.     FTP as ads.com:pub/VISION-LIST-ARCHIVE/SHAREWARE/LaboImage_3.1.tar.Z
  290.  
  291.     The San Diego Supercomputer Center Image Tools, software tools for
  292.     reading, writing, and manipulating raster images.  Binaries for some
  293.     machines available via anonymous FTP in sdsc.edu:sdscpub.
  294.  
  295.     The Independent JPEG Group has written a package for reading and
  296.     writing JPEG files.  FTP to uunet.uu.net:graphics/jpeg/jpegsrc.v?.tar.Z
  297.  
  298. Don't forget to set binary mode when you FTP tar files.  For you MILNET
  299. folks who still don't have name servers, the IP addresses are:
  300.  
  301.     ads.com            128.229.30.16
  302.     cs.utah.edu            128.110.4.21
  303.     coral.cs.jcu.edu.au        137.219.17.4
  304.     export.lcs.mit.edu        18.24.0.12
  305.     freebie.engin.umich.edu    141.212.103.21
  306.     ftp.ee.lbl.gov        128.3.112.20
  307.     gondwana.ecr.mu.oz.au    128.250.1.63
  308.     karazm.math.uh.edu        129.7.7.6
  309.     nic.funet.fir        128.214.6.100
  310.     nl.cs.cmu.edu        128.2.222.56
  311.     pprg.eece.unm.edu        129.24.24.10
  312.     princeton.edu        128.112.128.1
  313.     sdsc.edu            132.249.20.22
  314.     ucbvax.berkeley.edu        128.32.133.1
  315.     venera.isi.edu        128.9.0.32
  316.     wuarchive.wustl.edu        128.252.135.4
  317.     zamenhof.cs.rice.edu    128.42.1.75
  318.  
  319. Please do *not* post or mail messages saying "I can't FTP, could someone
  320. mail this to me?"  There are a number of automated mail servers that will
  321. send you things like this in response to a message.  See item 13 below for
  322. details on some.
  323.  
  324. Also, the newsgroup alt.graphics.pixutils is specifically for discussion
  325. of software like this.  You may find useful information there.
  326.  
  327.  
  328. 8) Format documents for GIF, TIFF, IFF, BIFF, NFF, OFF, FITS, etc.
  329.  
  330. You almost certainly don't need these.  Read the above item 7 on free
  331. image manipulation software.  Get one or more of these packages and
  332. look through them.  Chances are excellent that the image converter you
  333. were going to write is already there.  But if you still want one of the
  334. format documents, many such files are available by anonymous ftp from
  335. zamenhof.cs.rice.edu in directory pub/graphics.formats.
  336.  
  337. These files were collected off the net and are believed to be correct.
  338. This archive includes pixel formats, and two- and three-dimensional object
  339. formats.  The future of this archive is uncertain at the moment, as Mark
  340. Hall <foo@cs.rice.edu> will apparently no longer be maintaining it.
  341.  
  342. FITS stands for Flexible Image Transport System, it's an image file
  343. format most often used in astronomy.  Refer to the sci.space FAQ for
  344. more information if needed.
  345.  
  346.  
  347. 9) Converting between vector formats.
  348.  
  349. A lot of people ask about converting from HPGL to PostScript, or MacDraw
  350. to CGM, or whatever.  It is important to understand that this is a very
  351. different problem from the image format conversions in item 7.  Converting
  352. one image format to another is a fairly easy problem, since once you
  353. get past all the file header junk, a pixel is a pixel -- the basic objects
  354. are the same for all image formats.  This is not so for vector formats.
  355. The basic objects -- circles, ellipses, drop-shadowed pattern-filled
  356. round-cornered rectangles, etc. -- vary from one format to another.
  357. Except in extremely restricted cases, it is simply not possible to do
  358. a one-to-one conversion between vector formats.
  359.  
  360. On the other hand, it is quite possible to do a close approximation,
  361. rendering an image from one format using the primitives from another.
  362. As far as I know, no one has put together a general toolkit of such
  363. converters, but two different HPGL to PostScript converters have been
  364. posted to comp.sources.misc.  Check the index on your nearest archive
  365. site.
  366.  
  367. A related frequent question is how to convert from some vector format
  368. to a bitmapped image - from PostScript to Sun raster format, or HPGL to
  369. X11 bitmap.  For example, some of the commercial PostScript clones for
  370. PC's allow you to render to a disk file as well as a printer.  Also,
  371. the PostScript interpreters in the NeXt box and in Sun's X11/NeWs can
  372. be used to render to a file if you're clever.  But in general, the
  373. answer is no.  However, if someone were to put together a vector to
  374. vector conversion toolkit, adding a vector to raster converter would be
  375. trivial.
  376.  
  377.  
  378. 10) How to get Pixar films.
  379.  
  380. The various John Lasseter / Pixar computer animated shorts are available
  381. on video tape.  You can order them from Direct Cinema Limited:
  382.  
  383.     Film                           Individual Price      Institutional Price
  384.     Luxo, Jr.                $14.95            $50.00
  385.     Red's Dream                $19.95            $75.00
  386.     Tin Toy                $24.95            $75.00
  387.     Knickknack                $24.95            $75.00
  388.     Luxo, Jr./Red's Dream/Tin Toy    $39.95            $100.00
  389.  
  390. All tapes are on 1/2" VHS NTSC.  Add $10/tape for PAL format.  Also
  391. available:
  392.  
  393.     Tin Toy T-shirt            $15.00
  394.     Knickknack 3D T-shirt        $15.00 (includes glasses)
  395.  
  396. For individual orders, add $5 S&H for the first tape or shirt, $2 for
  397. each additional tape or shirt.  For institutional orders, add $5 S&H
  398. for the first tape, $3 for each additional tape.  Foreign shipping, add
  399. $3/tape or shirt.  Call 800-525-0000 (213-396-4774 international,
  400. 213-396-3233 FAX) to charge to your credit card.  Call first to verify
  401. prices and availability.  Or, just write to:
  402.  
  403.     Direct Cinema Limited
  404.     1749 14th Street
  405.     Santa Monica, CA 90404-4342
  406.  
  407. Allan Braunsdorf has this to say:
  408.  
  409. At SIGGRAPH they were selling a tape with all four shorts
  410. for $25.  That was a sale price.  You can get it for slightly
  411. more than that normally.  ($35 maybe.)  I believe it's
  412. available from RenderMan Retail (at Pixar's address).
  413.  
  414. Does anyone know this address and the real price?
  415.  
  416.  
  417. 11) How do I draw a circle as a Bezier (or B-spline) curve?
  418.  
  419. The short answer is, "You can't."  Unless you use a rational spline you
  420. can only approximate a circle.  The approximation may look acceptable,
  421. but it is sensitive to scale.  Magnify the scale and the error of
  422. approximation magnifies.  Deviations from circularity that were not
  423. visible in the small can become glaring in the large.  If you want to
  424. do the job right, consult the article:
  425.  
  426.   "A Menagerie of Rational B-Spline Circles"
  427.   by Leslie Piegl and Wayne Tiller
  428.   in IEEE Computer Graphics and Applications, volume 9, number 9,
  429.   September, 1989, pages 48-56.
  430.  
  431. For rough, non-rational approximations, consult the book:
  432.  
  433.   Computational Geometry for Design and Manufacture
  434.   by I. D. Faux and M. J. Pratt,
  435.   Ellis Horwood Publishers, Halsted Press, John Wiley 1980.
  436.  
  437. For the best known non-rational approximations, consult the article:
  438.  
  439.   "Good Approximation of Circles by Curvature-continuous Bezier Curves"
  440.   by Tor Dokken, Morten Daehlen, Tom Lyche, and Knut Morken
  441.   in Computer Aided Geometric Design, volume 7, numbers 1-4 (combined),
  442.   June, 1990, pages 33-41 [Elsevier Science Publishers (North-Holland)]
  443.  
  444.  
  445. 12) How to order standards documents.
  446.  
  447. The American National Standards Institute sells ANSI standards, and also
  448. ISO (international) standards.  Their sales office is at 1-212-642-4900,
  449. mailing address is 1430 Broadway, NY NY 10018.  It helps if you have the
  450. complete name and number.
  451.  
  452. Some useful numbers to know:
  453.  
  454. CGM (Computer Graphics Metafile) is ISO 8632-4 (1987).  GKS (Graphical
  455. Kernel System) is ANSI X3.124-1985.  PHIGS (Programmer's Hierarchical
  456. Interactive Graphics System) is ANSI X3.144-1988.  IGES is ASME/ANSI
  457. Y14.26M-1987.  Language bindings are often separate but related numbers;
  458. for example, the GKS FORTRAN binding is X3.124.1-1985.
  459.  
  460. Standards-in-progress are made available at key milestones to solicit
  461. comments from the graphical public (this includes you!).  ANSI can let
  462. you know where to order them; most are available from Global Engineering
  463. at 1-800-854-7179.
  464.  
  465.  
  466. 13) How to FTP by email.
  467.  
  468. There are a number of sites that archive the Usenet sources newsgroups
  469. and make them available via an email query system.  You send a message
  470. to an automated server saying something like "send comp.sources.unix/fbm",
  471. and a few hours or days later you get the file in the mail.
  472.  
  473. In addition, there is at least one FTP-by-mail server.  Send mail to
  474. ftpmail@decwrl.dec.com saying "help" and it will tell you how to use
  475. it.  Note that this service has at times been turned off due to abuse.
  476.  
  477.  
  478. 14) How to tell whether a point is within a planar polygon.
  479.  
  480. Consider a ray originating at the point of interest and continuing to
  481. infinity.  If it crosses an odd number of polygon edges along the way,
  482. the point is within the polygon.  If the ray crosses an even number of
  483. edges, the point is either outside the polygon, or within an interior
  484. hole formed from intersecting polygon edges.  This idea is known in
  485. the trade as the Jordan curve theorem; see Eric Haines' article in
  486. Glassner's ray tracing book (above) for more information, including
  487. treatment of special cases.
  488.  
  489. Another method is to sum the absolute angles from the point to all
  490. the vertices on the polygon.  If the sum is 2 pi, the point is inside,
  491. if the sum is 0 the point is outside.  However, this method is about an
  492. order of magnitude slower than the previous method because evaluating the
  493. trigonometric functions is usually quite costly.
  494.  
  495. Code for both methods can be had from Eric Haines (erich@eye.com), and will
  496. appear in the Ray Tracing News, Vol. 5, No. 2, available from princeton.edu:
  497. pub/Graphics/RTNews/RTNv5n2.Z.
  498.  
  499.  
  500. 15) How to tessellate a sphere.
  501.  
  502. One simple way is to do recursive subdivision into triangles.  The
  503. base of the recursion is an octahedron, and then each level divides
  504. each triangle into four smaller ones.  Jon Leech <leech@cs.unc.edu>
  505. has posted a nice routine called sphere.c that generates the coordinates.
  506. It's available for FTP on ftp.ee.lbl.gov and princeton.edu.
  507.  
  508. 16) Specific references on ray-tracing and global illumination.
  509.  
  510. Rick Speer maintains a cross-indexed ray-tracing bibliography:
  511.  
  512. Highlights of this edition-
  513.  
  514.     i) more than 500 citations spanning the period from 1968 through
  515.        November '91;
  516.     ii) papers from all Siggraph, Graphics Interface, Eurographics, CG
  517.         International and Ausgraph proceedings through December, '91;
  518.     iii) all citations keyworded for easy lookup;
  519.     iv) cross-indices by keyword and author;
  520.     v)  glossary of the 119 keywords used.
  521.  
  522. The bib is in the form of a PostScript file.  The printout is 41 pages long.
  523. Below is a list of ftp sites and the dirs that contain the file. It's named
  524. "speer.raytrace.bib.ps.Z" and is compressed at most sites-
  525.  
  526.              Site                             Dir
  527.     wuarchive.wustl.edu    graphics/graphics/bib/RT.BIB.Speer/
  528.     karazm.math.uh.edu    pub/Graphics/
  529.     gondwana.ecr.mu.oz.au    pub/papers/
  530.     nic.funet.fi        pub/sci/papers/graphics
  531.     coral.cs.jcu.edu.au     graphics/papers/
  532.  
  533. Eric Haines (erich@eye.com) maintains ray tracing and radiosity/global
  534. illumination bibliographies.  These are in "refer" format, and so can be
  535. searched electronically (a simple awk script to search for keywords is
  536. included with each).  The bibliographies are available at most of the
  537. sites listed above, and the most current versions are maintained at
  538. princeton.edu: pub/Graphics/Papers as "RayBib.*" and "RadBib.*".
  539.  
  540. Tom Wilson (wilson@cs.ucf.edu) has collected over 300 abstracts from ray
  541. tracing related research papers and books.  The information is essentially
  542. in plaintext, and Latex and troff formatting programs are included.  This
  543. collection is available at most of the sites above as "rtabs.*".
  544.  
  545. 17) SIGGRAPH information online
  546.  
  547. [from Steve Cunningham and Ralph Orlick]
  548.  
  549. ACM-SIGGRAPH announces its online information site at  siggraph.org
  550. (128.248.245.250).  This site now provides SIGGRAPH information via both
  551. anonymous ftp and an electronic mail archive server.
  552.  
  553. The anonymous ftp service is very standard, and the ftp directory includes
  554. both conference and publications subdirectories.
  555.  
  556. To retrieve information by electronic mail, send mail to
  557.      archive-server@siggraph.org
  558. and in the subject or the body of the message include the message  send
  559. followed by the topic and subtopic you wish.  A good place to start is with
  560. the command
  561.      send index
  562. which will give you an up-to-date list of available information.
  563.  
  564.  
  565. 18) SIGGRAPH Panels Proceedings available
  566.  
  567. [from Steve Cunningham and Bob Judd]
  568.  
  569. ACM SIGGRAPH announces the availability of the SIGGRAPH '91 Panels Proceedings
  570. at the  siggraph.org  site (128.248.245.250).  The proceedings are available
  571. in three formats:
  572.      text   (ASCII)
  573.      rtf    (rich text format, suitable for many word processors)
  574.      word   (MS Word for the Macintosh)
  575. They may be retrieved from siggraph.org in two ways:
  576.  
  577. (1) by anonymous ftp
  578.     change to one of the directories
  579.        publications/s91/panels_proceedings/[text|rtf|word]
  580.     The text and rtf files may be downloaded in ASCII mode, while the word
  581.     files are stored in MacBinary format and must be downloaded in binary 
  582.     mode.
  583.  
  584.     Each directory contains a Table of Contents file (TOC) that describes the
  585.     contents of each panel file.
  586.  
  587. (2) by electronic mail
  588.     send mail to
  589.        archive-server@siggraph.org
  590.     You can retrieve either the  text  or  rtf  files.  We suggest that you
  591.     first retrieve the index files by putting one of the messages
  592.        send panel91-txt index
  593.        send panel91-rtf index
  594.     in the subject or body of the message.  You will get the necessary
  595.     information to retrieve the actual transcript files.
  596.  
  597.  
  598. 19) Graphics mailing lists
  599.  
  600. There are a variety of graphics-related mailing list out there, each
  601. covering either a single product or a single topic.  I have been an
  602. active participant in one of these for some time now, and find the
  603. focus and expertise which can be brought to bear on an isolated topic
  604. to be nothing short of amazing.
  605.  
  606. Please send me the appropriate information if you have any others you
  607. would like to see added.
  608.  
  609. Name:        Imagine mailing list
  610. Description:    Discussion forum for users of the Imagine 3D Rendering and
  611.         Animation package by Impulse, Inc.
  612. Platforms:    Amiga
  613. Subscription:    imagine-request@email.sp.unisys.com
  614. Posting:    imagine@email.sp.unisys.com
  615.  
  616. Name:        DCTV mailing list
  617. Description:    Discussion forum for users of the Digital Creations DCTV
  618.         box, software, and file formats
  619. Platforms:    Amiga
  620. Subscription:    DCTV-request@nova.cc.purdue.edu
  621. Posting:    DCTV@nova.cc.purdue.edu
  622.  
  623. Name:        Rayshade Users mailing list
  624. Description:    Discussion forum for users of the Rayshade raytracer
  625. Platforms:    Most UNIX boxes, Amiga, Mac, IBM
  626. Subscription:    rayshade-request@cs.princeton.edu
  627. Posting:    rayshade-users@cs.princeton.edu
  628.  
  629. Name:        Lightwave software for Toaster mailing list
  630. Description:    Discussion forum for users of Lightwave, the Video
  631.         Toaster modelling and rendering package
  632. Platforms:    Amiga
  633. Subscription:    lightwave-request@bobsbox.rent.com
  634. Posting:    lightwave@bobsbox.rent.com
  635.  
  636. -- 
  637. John T. Grieggs (Telos @ Jet Propulsion Laboratory)
  638. 4800 Oak Grove Drive, Pasadena, Ca. 91109 M/S 525-3660    (818) 306-6506
  639. Uucp: {cit-vax,elroy,chas2}!jpl-devvax!grieggs
  640. Arpa: ...jpl-devvax!grieggs@cit-vax.ARPA
  641.