home *** CD-ROM | disk | FTP | other *** search
Text File | 1995-05-19 | 78.1 KB | 1,738 lines |
- _ __ ______ _ __
- ' ) ) / ' ) )
- /--' __. __ , --/ __ __. _. o ____ _, / / _ , , , _
- / \_(_/|_/ (_/_ (_/ / (_(_/|_(__<_/ / <_(_)_ / (_</_(_(_/_/_)_
- / /|
- ' |/
-
- "Light Makes Right"
-
- July 13, 1990
- Volume 3, Number 3
-
- Compiled by Eric Haines, 3D/Eye Inc, 2359 Triphammer Rd, Ithaca, NY 14850
- wrath.cs.cornell.edu!eye!erich or erich@eye.com
- All contents are US copyright (c) 1990 by the individual authors
- Archive locations: anonymous FTP at cs.uoregon.edu (128.223.4.13), /pub and at
- freedom.graphics.cornell.edu (128.84.247.85), /pub/RTNews
- UUCP access: see Vol 3, No 1 or Kory Hamzeh (quad.com!avatar!kory) for info.
-
- Contents:
- Introduction
- Ray Tracing Roundtable Announcement
- New People, Address Changes, etc
- Jarke van Wijk Thesis Availability, by Erik Jansen
- New Name For "Distributed Ray Tracing", by Paul Heckbert et al
- NFF Files from Thierry Leconte
- RADIANCE Software Available, by Greg Ward
- Rayshade Updates & SPD Bug, by Craig Kolb
- New Version of Vort Ray Tracer, by David Hook
- Graphics Interface '90, by Eric Haines
- Real3d Review, Haakan "ZAP" Andersson
- Bits From a Letter by David Jevans
- On Antialiasing, & Light and Such, by Haakan "ZAP" Andersson
- ======== USENET cullings follow ========
- Summary: Uniform Random Distribution of Points on Sphere's Surface,
- Marshall Cline
- Ray Tracing & Radiosity, by Frank Vance, Mark VandeWettering
- Ray-Tracing the Torus, by Prem Subrahmanyam, Bob Webber
- Need Help on Superquadrics, by Wayne McCormick, Robert Skinner
- Ray Tracing Penumbral Shadows, Prem Subrahmanyam
- Ray with Bicubic Patch Intersection Problem, Wayne Knapp, John Peterson,
- Lawrence Kesteloot, Mark VandeWettering, Thomas Williams
- Rendering Intersecting Glass Spheres, by John Cristy, Craig Kolb
- DKBPC Raytracer, by Tom Friedel
- New release of IRIT solid modeller, by Gershon Elber
- Easier Use of Ray Tracers, by Philip Colmer, Mark VandeWettering,
- Jack Ritter
- Raytracer Glass, by F. Ken Musgrave, Michael A. Kelly
- Ray Intersection with Grid, by Alasdair Donald Robert McIntyre, Rick Speer
- Database for DBW-Render, by Prem Subrahmanyam
-
- -------------------------------------------------------------------------------
-
- Introduction
-
- Well, I've been absorbed in quality assurance for the updated version
- of the radiosity/ray tracing software we've done with HP. One thing we've
- added is texture mapping, and I definitely feel a sense of deja vu, since my
- second graphics project at Cornell was to integrate Rikk Carey's texture
- mapping software into the modeller and ray tracer. Here it is six years later
- and we're finally using texture mapping in a commercial product.
-
- I should mention some resources for all of you who have scanners.
- Phil Brodatz's "Textures" book (Dover) is definitely recommended - it's mostly
- nicely photographed images of sand, gravel, fur, wood, paper, straw matting,
- etc etc, perfect for scanning. Another Dover book, "The Grammar of Ornament"
- by Owen Jones, has many colorful designs from a large variety of cultures.
- There are also many other Dover collections of designs which are worth looking
- over.
-
- A related book that just came out is "Computers, Pattern, Chaos, and
- Beauty" by Clifford Pickover (St. Martin's Press). At first I thought this
- was just another fractal book, but there are many other functions and
- algorithms explored here. This book is something like a collection of
- "Computer Recreations" columns, and is worth checking out. One topic mentioned
- in the book is creating sea shells by a series of spheres. This was also
- covered in the IEEE CG&A November 1989 article, pages 8-11. Here's a code
- fragment that outputs a series of spheres in NFF (I leave a good view & lights
- & colors to you). Cut the number of steps way down for a rough idea where
- the surface is located, and have fun playing with the various numbers and
- formulae.
-
- #include <stdio.h>
- #include <math.h>
-
- main(argc,argv)
- int argc; char *argv[];
- {
- static double gamma = 1.0 ; /* 0.01 to 3 */
- static double alpha = 1.1 ; /* > 1 */
- static double beta = -2.0 ; /* ~ -2 */
- static int steps = 600 ; /* ~number of spheres generated */
- static double a = 0.15 ; /* exponent constant */
- static double k = 1.0 ; /* relative size */
- double r,x,y,z,rad,angle ;
- int i ;
-
- for ( i = -steps*2/3; i <= steps/3 ; ++i ) {
- angle = 3.0 * 6.0 * M_PI * (double)i / (double)steps ;
- r = k * exp( a * angle ) ;
- x = r * sin( angle ) ;
- y = r * cos( angle ) ;
- /* alternate formula: z = alpha * angle */
- z = beta * r ;
- rad = r / gamma ;
- printf( "s %g %g %g %g\n", x, y, z, rad ) ;
- }
- }
-
- The interesting thing about the database generated is that it's pretty slow
- for most ray tracers (mine included). There are a lot of spheres in a tiny
- cluster at the start of the shell, and the final spheres are large enough that
- this tiny cluster is a small part of the environment. Because the spheres
- overlap, each octree node, grid cell, or 5D list is going to be pretty long -
- there's a huge amount of depth complexity in this database. Definitely a
- pathological case for most ray tracers, I suspect.
-
- Another book which just came out (as in, I just received my copy
- minutes ago) is the new Foley & van Dam (& Feiner & Hughes) "Computer
- Graphics: Principles and Practice" from Addison Wesley. 1174 pages, with a
- fair number of color plates. Definitely a good place to start in on any
- topic. A must have; enough said.
-
- "Graphics Gems", edited by Andrew Glassner, should also be out soon.
- Mine's on order, but hasn't arrived in time to review this issue. Look for it
- - it should be of interest.
-
- One more thing. I recently created a radiosity bibliography which was
- posted to USENET. If you missed it on comp.graphics, it should be available
- on freedom.graphics.cornell.edu (see the RT News header) soon.
-
- -------------------------------------------------------------------------------
-
- Ray Tracing Roundtable Announcement
-
- There will be a "birds of a feather" room for ray tracers to meet and
- get to match names to faces at SIGGRAPH. We'll meet 5:30 to 6:30 pm on
- Thursday of SIGGRAPH at some room (see the room listings at registration).
- Note that this shouldn't conflict with much, as it's after the sessions and
- before the reception.
-
- As befits ray tracers, we're aiming for a minimal, parallel approach
- for this year's meeting. There won't be any roundtable, since last year's
- meeting had near a hundred people - just going around the room getting names
- and interests took half an hour. So, there is absolutely no agenda for this
- meeting; it's simply a place and time to come and meet others in the field.
- Hope to see you there.
-
- -------------------------------------------------------------------------------
-
- New People, Address Changes, etc
-
-
- Haakan 'ZAP' Andersson - efficiency, texturing, speed, etc.
- EMT AB
- Box 40
- 178 00 Ekeroe
- SWEDEN
- +(46)16 - 964 60
- [no e-mail address for now...]
-
- Working with CAD technology, developing add-ons to the popular AutoCAD,
- doing RayTracing as a personal midnight oil project, and it might even be
- released realsoonow by EMT. Since my computational powers are limited (PC
- style) I enjoy things that make things pretty without bending the clock. I
- love anything that says 3D, but is also interested in other simulations of
- real life (AI, sound and speech synthesis etc.).
-
- P.S. I showed "RayTracker" ( My Program ) at an exhibition and some people
- thought it was darnfast...even though they were using some renderman stuff
- earlier... my suspicion was that my VERY low resolution led them astray
- speed-wise, but I do another nice thing: I trace every 8ighth pixel (Well,
- really every 64th (8x8)) first, so you get a quick look of what's happening
- very quickly. Actually, it's a good timer! When the scan has done the screen
- the FIRST time, a 64th of the image is done, i.e. the amount of seconds
- (minutes) this scan takes, this amount of minutes (hours) will the full image
- take, approximately. That's nice. Well, that IS all for now.
-
- -------
-
- Mark A. Cartwright - 3D Modeling, 3D Human Interface, Ray Tracing, Macintosh.
- University of Texas
- Computation Center
- COM 1
- Austin, Texas 78712-1110
- Phone: (512)-471-3241 ext 306
- email: markc@emx.utexas.edu
-
- My background is mostly graphics work - with a little Numeric Control thrown
- in for good measure. Prior to my position here at the University I worked at
- Byte By Byte here on the Macintosh version of Sculpt 3D. Modeling and all
- that relates to object creation and editing -- and of course ray tracing are
- my main areas of interest.
-
- --------
-
- Pierre Poulin
- Imager
- Dept. of Computer Science
- University of British Columbia
- Vancouver, B.C., Canada
- V6T 1W5
-
- Just in case you might be interested to change it, my new email address is now:
-
- poulin@cs.ubc.ca
-
- I followed my supervisor at the University of British Columbia. The DGP
- group at Toronto kindly kept me on their system, but I would prefer being
- contacted directly rather than each time through Toronto...
-
- --------
-
- Drew Whitehouse
- E-mail: drw900@csc2.anu.edu.au
- Visualization Programmer, Fax : (06) 2473425
- Australian National University, Phone : (06) 2495985
- Supercomputer Facility.
- GPO Box 4, Canberra ACT Australia 2601.
-
- I work at the Australian National University Supercomputer Facility as a
- visualization programmer. My interests are scientific visualization, volume
- rendering and raytracing. Currently I'm keeping myself busy inserting bits
- and pieces into the MTV raytracer. The main thing being some sort of volume
- rendering, both for voxel data and Perlin style hypertexture (what I've really
- got in mind is a tribble teapot..... )
-
- --------
-
- Michael A. Kelly
- 3105 Gateway St. #191
- Springfield, Oregon 97477
- (503) 726-1859 (home)
- (503) 342-2277 (work)
- mkelly@cs.uoregon.edu
-
- Interests: accurate duplication of real-world objects, color, efficiency
-
- Current Project:
- I am attempting to write a rendering program for the Macintosh II series.
- 'Render3D' will be, at least at first, a shareware program. It is a simple
- ray tracer at this point, but by the end of summer it will be considerably
- more. Some of the features I plan to include are:
-
- Accurate surface color definitions using spectral energy distributions
- - color calculated on a wavelength-by-wavelength basis
- (now implemented)
- Radiosity method for diffuse reflections
- Phong and Gouraud shading for polygons
- Support for parametrically defined objects
- (including bicubic surface patches)
- Treat light sources as objects
- any normal object can be treated as a light source
- Texture mapping
- Import and Export several file formats, including RenderMan
- Animation
-
- Of course, I probably won't get to all of these before the end of summer, but
- I hope to finish the first four or five of them by the beginning of fall term.
- (I am currently an undergraduate computer science major at the University of
- Oregon, with one year left to go.)
-
- --------
-
- # Erik Jansen
- # Dept of Industrial Design
- # Delft University of Technology
- # Jaffalaan 9
- # 2628 BX Delft
- # The Netherlands
-
- Erik informs me that the site for a few people has changed:
-
- alias wim_bronsvoort wim@duticg.tudelft.nl
- alias erik_jansen fwj@duticg.tudelft.nl
- alias frits_post frits@duticg.tudelft.nl
-
- -------------------------------------------------------------------------------
-
- Jarke van Wijk Thesis Availability, by Erik Jansen (fwj@duticg.tudelft.nl)
-
- I saw your question about the book of Jarke van Wijk in the [January] issue.
- Jack wrote a thesis book which is nicely printed by the Delft University Press.
-
- The title is:
- "On New Types Of Solid Models and Their Visualization with Ray Tracing".
-
- Subjects that are covered:
- - translational, rotational sweep; also in TOG 3(3) 223-237
- - sphere sweep, also in EG'84 73-82; and in Computers and Graphics 9(3) 283-290
- - blending surfaces; comparable with the work of Middletich and Sears, Sigg'85
- - bicubic patches for non-rectangular meshes; also in CAGD 3(1) 1-13
- - SML, solid modeling language; also in CAD 18(9).
-
- There is no discussion in the thesis about efficiency methods (only bounding
- boxes).
-
- The book can be ordered for Dfl. 36.30 (ca. $20 including send costs) by:
- Delft University Press
- Stevinweg 1
- Delft
- The Netherlands
- fax: +31-15-781661
-
- -------------------------------------------------------------------------------
-
- New Name For "Distributed Ray Tracing", by Paul Heckbert et al
-
- [If you have more comments, please also send them for publication here. -- EAH]
-
- A few weeks ago, I asked the following question of the people on
- the Ray Tracing News mailing list:
-
- From ph@spline.Berkeley.EDU Wed Apr 11 18:48:05 1990
-
- This is a survey. Assuming we could rename "Distributed Ray Tracing",
- what should we call it:
-
- 1) Stochastic Ray Tracing
- 2) Probabilistic Ray Tracing
- 3) Distributed Ray Tracing (old name ok)
- 4) other
-
- THE RESULTS WERE:
-
- 14 stochastic ray tracing
- 3 monte carlo ray tracing
- 2 distributed ray tracing
- 1 probabilistic ray tracing
- 1 rob cook ray tracing
-
- "Stochastic Ray Tracing" is the clear favorite of those who responded.
- Many commented that they've always found the term "distributed ray tracing"
- to be a confusing misnomer. Brian Corrie put it well:
-
- I have a serious problem with the name distributed ray tracing. The
- main reason is the name directly conflicts with the notion of using
- a distributed computer system for ray tracing. Trying to describe
- both of them is a hassle. Because parallel ray tracing is becoming
- quite prominent, this name conflict can be a major pain.
-
- The plot thickens, however. Michael Cohen and Joe Cychosz observed
- that one could distribute rays regularly throughout a distribution, or
- by some other deterministic algorithm, and most people would still call
- it "distributed ray tracing". Wouldn't the proposed new name
- "stochastic ray tracing" then be misleading?
-
- I agree. That's why I've started using the name "distribution ray
- tracing". To me it captures the central idea that you're modeling the
- surface properties as numerical parameters each with a probability
- distribution instead of a single, specific value; analogous to the
- distinction between a random variable and a standard variable.
- There are various numerical integration techniques for simulating this
- distribution: uniform sampling or stochastic sampling, non-adaptive or
- adaptive, etc, but these are implementation details relative to the
- main concept, which is that there's a variable in the shading
- formula with a probability distribution that necessitates integration.
- Another advantage of the name is that it's similar to the old one.
-
- Andrew Glassner pointed out that there is another concept in Cook's and
- Kajiya's papers that deserves a name, and that concept is that the
- stochastic sampling can be done independently in each parameter. Andrew
- suggested "simultaneous multidimensional sampling". Another
- possibility that occurs to me is "independent sampling".
-
- What do y'all think?
-
- What I'd like to know is: why didn't the reviewers of Cook's
- 1984 paper scream when he proposed that title?
-
- Paul Heckbert
- ph@miro.berkeley.edu
-
- -------------------------------------------------------------------------------
-
- NFF Files from Thierry Leconte
-
- [I found some wonderful NFF files at the site irisa.irisa.fr [131.254.2.3] in
- the NFF directory. Particularly good is the Amiga computer model, but
- all of them are pretty worthwhile.
-
- BowlingPin.nff - guess
- amiga.nff - an Amiga 2000 keyboard and computer (no monitor) - very nice
- balls.nff - just a scene generated by SPD ball program
- crypt.nff - a mysterious crypt (with columns and whatnot)
- expresso.nff [sic] - T. Todd Elvins' Utah espresso maker in NFF format
- hangglider.nff - a hang glider
- jaws.nff - don't be afraid, it's just a nff scene
- matchbox.nff - a box of matches and some matches
- room.nff - an office with the desk and others things
- spirale.nff - a spiral spline thingie
- spring.nff - a spring thing
- sps7.nff - a bull sps7 computer box
- teapot.nff - the mythical one
- temple.nff - pseudo-roman pagan temple something
- tpotbis.nff - ye olde teapot, with lid ajar
- watch.nff - a wristwatch
- x29.nff - fighter plane
-
- Unfortunately, there are some problems with some databases. Problems included:
-
- - polygonal patches with normals given as [0,0,0].
- - polygons with no area (usually a triangle with a doubled vertex).
- - inconsistently defined polygons. The NFF format specifies that you
- should output the polygon vertices in a particular order (counter-
- clockwise when viewed from above in a right-handed coordinate
- system). I suspect you use double sided polygons so that it does not
- matter.
- - other minor problems.
-
- The files I had problems with:
-
- amiga.nff - there are a few polygons with no area (doubled vertices). The
- first is around line 1518 of the file.
- jaws.nff - there are tons of polygonal patches with normals of [0,0,0]
- room.nff - polygons with [0,0,0] normals, and some no area polygons. The first
- two polygons in this file are HUGE. I cannot get the normals per
- vertex to display properly on my system, because some of the vertex
- normals differ inconsistently from the polygon normal (I haven't quite
- figured this out).
- spring.nff - the "Shine" and "Transmission" values are switched here, I
- suspect. Shine is 0, while Kt is 30! You should definitely fix the
- material setup line here.
- temple.nff - no area polygon around line 433. I can't get the normals to line
- up properly, similar problem to room.nff.
- watch.nff - lots of [0,0,0] normals here.
- x29.nff - on line 3641 there is an extra vertex - the polygon says it has
- 3 vertices, but 4 vertices appear (possibly my file is corrupt).
-
-
- Some comments I pasted together from Thierry Leconte
- (Thierry.Leconte@irisa.fr), who is the caretaker of the files:
-
- In fact I'm only a novice in ray-tracing area. I work on distributed systems
- and parallelism. But ray-tracers are good applications to test such systems.
- Now I work on a modified version of VM_pRay (the parallel ray-tracer of
- Didier.Badouel@irisa.fr) which run on our own distributed system (called
- GOTHIC). We are writing a motif based window interface for it and I am trying
- to collect as many nff files as I can in order to run nice demos on the Gothic
- system. I have made available most of these files and some utilities (among
- others yours) via anonymous ftp from irisa.irisa.fr. Most of the non
- classicals scenes I have come from a scene designer Xavier Bouquin who works
- on a amiga with the Scult4D program. and Philippe.Joubert@irisa.fr has
- written a sculpttonff converter. But if someone knows other converters or
- interesting nff files I will be happy to add them to my collection!
-
- VM_pRAY (ray tracer) of Didier Badouel is available at the same site.
-
- Feel free to use, copy ,modify and distribute these files provided that they
- are not use for commercial purpose and that the name of the author is
- mentioned.
-
- Most of these scenes was made on an amiga with Scult4D (a truly great modeler)
- then they have been converted to nff file with sc2nff (a PD converter
- available on the same site, same directory in the utils.tar archive).
-
- The author of crypt,jaws,matchbox,room,temple,watch is Xavier Bouquin
- (email to pjoubert@irisa.fr).
-
- teapot, x29 were ftp'ed from cs.uoregon.edu.
-
- amiga, hangglider, teapotbis were PD Scult4D files available on a amiga site
- archive (will try in the future to collect any PD Scult4D file an convert them
- to nff).
-
- sps7 was made by hand.
-
- balls and spirale - generated by program.
-
- -------------------------------------------------------------------------------
-
- RADIANCE Software Available, by Greg Ward (greg@hobbes.lbl.gov)
-
- For a little over a year now I have been distributing a ray tracing lighting
- simulation called RADIANCE through the Sun Academic Software Portfolio. Since
- the software runs on many machines besides the Sun, and not everyone gets the
- portfolio as it is, I thought you might be willing to publicize the software
- through your rtnews mailing list.
-
- RADIANCE was written as a lighting simulation more than a renderer, so it does
- not allow some of the tricks that are permitted in other ray tracing programs.
- (For example, all light sources fall off as 1/r^2.) It has some of the nicer
- features of advanced renderers, such as textures and bump maps (I've always
- argued for calling them patterns and textures, respectively), octree spatial
- subdivision, several surface primitives and hierarchical instancing. It's
- main distinction, however, is its ability to calculate diffuse interreflection
- like a radiosity calculation. (See the article by Ward, Rubinstein and Clear
- in the 1988 Siggraph proceedings.)
-
- The software is free, and comes with all the C source code, but is not
- available through anonymous ftp. We want to keep track of people who have a
- copy of the package so that we can send out update announcements, bug fixes
- and so forth. For this reason we also ask that people do not redistribute the
- package without written permission (e-mail is fine).
-
- Since I am just a mellow Californian who can't handle answering a 24 hour
- support hotline, I want to discourage the idly curious, those who just want to
- check out another ray tracer, from acquiring this software. If you are
- interested primarily in computer graphics, there are plenty of other ray
- tracing programs that do a great job producing attractive imagery. If, on the
- other hand, you are really serious about lighting simulation, this is the
- program for you.
-
- Summary Description of RADIANCE:
-
- Lighting calculation and image synthesis using advanced ray tracing.
- Scenes are built from polygons, cones, and spheres made of plastic,
- metal, and glass with optional patterns and textures.
-
- Detailed Description:
-
- RADIANCE was developed as a research tool for predicting the
- distribution of visible radiation in illuminated spaces. It takes as
- input a three-dimensional geometric model of the physical environment,
- and produces a map of spectral radiance values in a color image. The
- technique of ray tracing follows light backwards from the image plane
- to the source(s). Because it can produce realistic images from a
- simple description, RADIANCE has a wide range of applications in
- graphic arts, lighting design, engineering and architecture.
-
- The reflectance model accurately predicts both diffuse and specular
- interactions, making it a complete simulation applicable to the design
- of unusual electric and day lighting systems. Scenes are described by
- boundary representations with polygons, spheres and cones. Materials
- include plastic, metal, glass, and light. Textures and patterns can
- be described as functions or data. Additional programs (generators)
- produce descriptions of compound objects, and allow regular
- transformations and hierarchical scene construction. A 3D editor is
- being developed.
-
- The software package includes some image processing software and
- display programs for X, SunView, and the AED512, and comes with
- converters to Sun rasterfile and Targa formats. Code is provided for
- writing other drivers, and the list is expected to grow.
-
- Interface Description:
-
- The software is well integrated with the UNIX environment. Many of
- the programs function as filters, with a reasonable degree of
- modularity. An interactive program provides quick views of the scene,
- useful for debugging and view determination. Scenes are described in
- a simple ascii format that is easy to edit and program. Generators
- are provided for boxes, worms, surfaces of revolution, prisms, and
- functional surfaces (eg. bicubic patches). A small library of
- patterns and textures is included. In general, the software is
- sensible but not mouse-based.
-
- Overall Goals of Developer:
-
- The primary goal of the program is the accurate simulation of light in
- architectural spaces. Secondary goals are image synthesis and
- geometric modeling. Efficiency is an important concern in any ray
- tracing method.
-
- Obtaining RADIANCE:
-
- Send a 30+ Mbyte tape cartridge with return envelope and postage to:
-
- Greg Ward
- Lawrence Berkeley Laboratory
- 1 Cyclotron Rd., 90-3111
- Berkeley, CA 94720
-
- If you have any questions regarding the applicability of this software to your
- needs, feel free to call or (preferably) send e-mail to me directly.
-
- Sincerely,
-
- Greg Ward
-
- Lighting Systems Research Group
- GJWard@Lbl.Gov
- (415) 486-4757
-
- -------------------------------------------------------------------------------
-
- Rayshade Updates & SPD Bug, by Craig Kolb
-
- [from various notes to me]
-
- The Rayshade 3.0 ray tracer is now up to patch level 5. Rayshade 3.1 is
- coming along nicely. It fixes some of the major problems in rayshade, and
- adds a bunch of new features.
-
- By the way, while playing with the SPD, I ran across a couple of very minor
- problems. In lib.c, you make mention of OUTPUT_POLYGONS, when you really
- mean OUTPUT_PATCHES.
-
- [I have sent Craig release 2.7 of the SPD package, and it's now available for
- FTP from weedeater.math.yale.edu (130.132.23.17). It has minor typo fixes
- (like the above) and clarifications of the NFF, but no code fixes. - EAH]
-
- Craig also notes that Przemek Prusinkiewicz's book, "The Algorithmic Beauty
- of Plants", will be released at SIGGRAPH this year, complete with lots of
- pretty raytraced pictures using Rayshade. Some of the images generated
- were in the March 1990 issue of IEEE CG&A (including the front cover).
-
- -------------------------------------------------------------------------------
-
- New Version of Vort Ray Tracer, by David Hook (uunet.UU.NET!munnari!dgh)
-
- [the following was pieced together from two notes - EAH]
-
- I have just installed a new version of the ray tracer in
- pub/graphics/vort.tar.Z on munnari.OZ.AU. It's a bit of an improvement on the
- last one, and has some stuff for displaying images as animations on sun's,
- PC's, and X11.
-
- One thing that may be of interest, one of the guys I work with, one Bernie
- Kirby, implemented some marble and wood texturing using in the ray tracer. He
- had the following to say:
-
- It is an implementation of Ken Perlin's noise function as described in
- "Hypertexture, Computer Graphics, Vol 23, No.3, July 1989, pp
- 255-256". Most of the function names are as given in the paper.
- Also, I think that there may be an error in the paper as the given
- formulae of OMEGA would always produce zero if the actual point falls
- on a lattice point. (ie. GAMMA(i, j, k) . (u, v, w) = 0). Anyway,
- I added in a pseudo random value for the noise at each lattice point
- as well as the gradient values (as described in his '85 paper and it
- seems to work.)
-
- The original version (ie. the one that had zeros at the lattice
- points) produced almost exactly the same effects as displayed in Fig 2
- of J. P. Lewis' paper in SIGRAPH '89 "Algorithms for solid noise
- synthesis". The changed algorithm still displays some of these
- artifacts (if you really look for them) but no where near as badly as
- in Lewis's paper.
-
- The only other things of note are that Vort no longer requires
- primitives to be axis-aligned and that most things can have tile patterns
- mapped on to them (this includes toruses, although flat pixel files
- mapped onto a donut can tend to look a little weird). Some people may find
- the mapping functions of some use (although having just got a copy of
- "Introduction to Ray-Tracing" I notice most of them are in there, the book
- shop slugged me $100 bucks for it, sometimes I don't believe this place...)
-
- Regards,
- David.
-
- PS: we ran your standard rings benchmark at four rays per pixel and it took
- two and a half days on a Sun 4 3/90. Is that a record? ( :-) ) Next project
- is to speed the mother up...
-
- --------
-
- [Also, a package called Vogel is also available at munnari - EAH]
-
- From Tom Friedel, tpf@jdyx.UUCP:
-
- With Vogel you get 3-d transformation, 3-d and 2-d clipping,
- perspective, orthogonal views, some patch functions, and back face removal.
- I've wanted to build a bigger package on these routines, some sort of
- .nff previewer, but haven't had the time. Good package because you get
- device independence with X11, postscript, others.
-
- -------------------------------------------------------------------------------
-
- Graphics Interface '90, by Eric Haines
-
- An interesting conference/proceedings which often is overlooked is
- "Graphics Interface". This year's conference, held in Halifax, Nova Scotia,
- Canada, had quite a few papers on ray tracing. I particularly liked Don
- Mitchell's "Robust Ray Intersection with Interval Arithmetic" paper. I'm sure
- we'll be seeing interval analysis applied to more areas of graphics in the
- years ahead, and this is an interesting application of the technique.
- Graphics Interface proceedings can be ordered from: Morgan Kaufmann
- Publishers, (415)-965-4081. What follows is a list of papers that may be of
- interest:
-
- Image and Intervisibility Coherence in Rendering
- Joe Marks, Robert Walsh, Jon Christensen and Mark
- Friedell, Harvard U.
-
- Robust Ray Intersection with Interval Arithmetic
- Don P. Mitchell, AT&T Bell Laboratories, Murray Hill
-
- Approximate Ray Tracing
- David E. Dauenhauer and Sudhanshu K. Semwal, U. Colorado
- at Colorado Springs
-
- Octant Priority for Radiosity Image Rendering
- Yigong Wang and Wayne A. Davis, U. Alberta
-
- Exploiting Temporal Coherence in Ray Tracing
- J. Chapman, T. W. Calvert and J. Dill, Simon Fraser U.
-
- A Ray Tracing Method for Illumination Calculation in
- Diffuse-Specular Scenes
- Peter Shirley, U. Illinois at Urbana-Champaign
-
- Voxel Occlusion Testing: A Shadow Determination Accelerator for
- Ray Tracing
- Andrew Woo and John Amanatides, U. Toronto
-
- Some Regularization Problems in Ray Tracing
- John Amanatides and Don Mitchell, AT&T Bell Laboratories,
- Murray Hill
-
- -------------------------------------------------------------------------------
-
- Real3d Review, Haakan "ZAP" Andersson
-
- I was attending a computer exhibition in Stockholm the other day, and among
- all the printers, PC computers and other boring stuff, there were some
- bright spots. In one stand I saw a screen with a checkerboard pattern and a
- mirrored sphere on it.... I began to Yawn loudly, but as I was going to leave
- a mirrored hand plunged up from the ground and grabbed the sphere, and the
- camera made a spin around the whole scene. It made me interested enough to
- enter and look.
-
- REAL-3D is apparently a new (so new it's a RealSoonNow product) from the
- icy Finland. It's a raytracing program for the Amiga, and it's darn fast
- (for being an Amiga, that is). I talked to the program author and he said he
- did NOT use the math coprocessor, and it was all in assembler...(Good Grief)
- When discussing efficiency he proudly declared that he had NOT looked at others
- for algorithms, because he did not want to be influenced, so he had invented it
- all from scratch. He had been programming full-time for four years, and from
- what I saw, the result was satisfactory, to say the least.
-
- A beautiful, OSF/Motif-like user interface and a great interactive object
- editor that would make Sculpt-Animate 4d go home and hide under a rug. All
- objects were arranged in a hierarchy for animating, and materials and textures
- could be assigned to whole hierarchy tree branches. He could even do solid
- modelling (I saw a cylinder cut out from another before my very eyes) with
- different textures in the 'hole' and the piece the hole was cut out of. It
- was also one of the few Amiga tracers to support texture mapping, i.e. you
- could map any IFF image onto any surface via some different kinds of projective
- mapping (Parallel, Ball, Cylinder)
-
- It had a good hybrid between analytic objects (spheres, cylinders, cones and
- even hyperbolics (!)) and polygon surfaces. A nice entity was the 'sphere-line'
- he used, you simply drew a series of connected lines, and all vertices got
- a sphere, and all connecting lines became a cylinder. [AKA "worms" or "cheese
- logs" in other parts of the world - EAH]
-
- Animation support looked quite straight forward, and he made a simple
- animation of the Real3d logo being flown through before my very eyes (Though
- as a wire frame, but I got the hang of animating).
-
-
- SPEED:
-
- Even though the program ran on an Amiga 2000 (14 Mhz clock) it's speed was
- rather fast. Comparing with my own tracer, running on a 386 machine with full
- math coprocessor support, his program looked faster..(!) The wire frame
- representations, used for placing cameras an so forth was real-time, and he
- traced a hyperbolic with wood texture with a cylindric hole in about a minute.
- He also claimed that finding the colors (for the HAM mode in the Amiga) was
- half the work. He said that an early version used Black&White and it was
- almost twice as fast... (bragging? :-) Upon being asked how it could be that
- fast, he said, "Only me and my brother knows how it works..." then he smiled.
- Heaven knows why...?
-
-
- Conclusion:
-
- REAL3d looks like a speedy hack for the Amiga, and the editor alone makes it a
- joy to watch. I hope this little blond guy from Finland will sell some of
- these programs, so he will be able to continue to develop it into something
- really nice.
-
- [Sorry, I don't have an address for where to get it. Anyone? - EAH]
-
- -------------------------------------------------------------------------------
-
- Bits From a Letter by David Jevans
-
- ...As for the Arnaldi paper on "mailboxes" (keeping a ray_id for each
- object to avoid multiple intersections), I though that was common knowledge!
- Cleary's analysis of ray tracing paper (Visual Computer '88), MacDonald's
- paper and my paper (Graphics Interface '89) all mention the technique and
- reference the paper. It's a good thing that you put in the RTN if people
- really don't know about it!
-
- Anyway, my recent work has some pretty important results for the ray
- tracing community. Essentially I show that further work in reducing
- ray-object intersections is pretty much pointless (we are close to the fastest
- possible time anyway). I'm just writing a section that illustrates that
- hierarchies of 3D voxel grids are superior to bounding volume hierarchies (as
- if anyone will believe me! :-)
-
- David Jevans @ University of Calgary, Department of Computer Science
- Calgary, Alberta, Canada T2N 1N4
- uucp: jevans@cpsc.ucalgary.ca vox: 403-220-7685
-
- -------------------------------------------------------------------------------
-
- On Antialiasing, & Light and Such, by Haakan "ZAP" Andersson (no email)
-
- (Disclamier: Since I havn't read all theses about anti-aliasing, this might
- be known already, so all I claim to be my ideas may be not, so the stupidity
- is solely on my part :-)
-
-
- When raytracing, instead of having one wiz_bang function trace(ray) that
- traces through the entire object list (traversing AHBV's as necessary) and
- pinning down the poor bastard of an object blocking our way of light and
- shining in our face, you might do one little thingy:
-
- Use TWO functions, ONE that traverses the bounding volumes for a ray, building
- an object_list of primitive object this ray (might) intersect, and ONE that
- does the real object intersection. i.e. this:
-
- current_list = traverse_abvh(ray);
- pixel = trace_this_list(ray,current_list);
- clear_list(current_list); /* Get rid of it somehow */
-
- Why da hek do this? Well, when anti-aliasing, you will virtually hit the same
- object(s) inside each pixel, and the 'slack' around the object vs. bbox will
- allow the 'current_list' to contain all objects this ray hits, and any ray
- being very close to this very ray, i.e. all rays within a single pixel. So,
- when anti-aliasing, simply call 'trace_this_list()' with the same list all
- over again, only SLIGHTLY different 'ray's. Ok, there CAN be wrongies some
- places, but since you do this for eye-rays, and _I_say_ that for eye-rays you
- should use 2d bounding boxes on screen INSTEAD of real bboxes, you simply let
- the 2d bboxes be one pixel bigger than they should be, and viola, each pixel
- will always yield AT LEAST the object_list containing all objects to be hit in
- this pixel and the neighbouring ones. Got that?
-
- Any flaws? Well, since current_list() need to be alloced/malloced in some
- way, there might be a speed problem. Another solution is using a static
- object list, and KEEPING the bbox traversal code in 'trace_this_list()' but
- ALSO having a 'traverse_abvh()' function, used only upon eye-rays when
- anti-aliasing is in effect. The fact that the list 'trace_this_list()' gets
- does NOT contain any bboxes once in a while (i.e. when we supply a list made
- by 'traverse_abvh()' instead of the 'full' object list) is not a problem from
- that functions point of view.
-
- Any flaws NOW? Well, you might always run out of static storage space. But
- you can always 'realloc()' :-)
-
- [Comments: this has a certain sense to it. By making a "likely candidate
- list" for a pixel you can stop wasting time traversing the darn hierarchy.
- You could even sort it by the box hit distance, so that when you get do get a
- hit from the candidate list you can then simply test this hit against the
- remaining candidate distances. As soon as you reach a candidate distance that
- is beyond your hit distance, you stop intersecting. This candidate list idea
- is similar in feel to my Light Buffer lists and Jim Arvo's 5D lists.
-
- The trick in all this is to make sure your bounding boxes do not fit too
- tightly that a pixel makes a difference: this is easy enough to calculate for
- eye rays. - EAH]
-
-
- --------
-
- Light and Such
- or
-
- "Something's REALLY wrong,
- with Bui-Thui Phong"
-
- (I think that's the guys name, and since Bui-Thui is his last name,
- Bui-Thui shading is more appropriate than Phong shading, but...)
-
- By Haakan
-
- I have been dissatisfied with Phong's shading model for quite some time, since
- it does not accurately enough apply to reality. There is at least two effects
- in 'real life' that i think is important enough to be mad att ol' mr Phong. I
- have called these 'The Rough bug' and 'The nonlinearity bug'
-
- * The Rough bug
-
- There is many many ways to see The Rough bug in action in real life, and many
- poems have been written about the biggest proof about The Rough bug's, many
- lovers have been sitting under it, many songs written about it, and many a
- astronomer hase gazed upon it: The Moon.
-
- Let's get out late at night, and trying to look straight up. You will see the
- moon, or half of it, or a third, or nothing ("Half moon tonight. At least
- it's better than no moon at all" - Fortune program) But does this moon look
- like a Phong shaded sphere? Were is the ambient, diffuse, and above all,
- specular light? What you (and I) see, is darkness, darkness, more darkness,
- and smack, white moon surface, more white moon surface, swack, Darkness,
- darkness... Who stole Kd and Ka?
-
- The answer lies in the texture of the moon's surface. It's really a VERY
- large amount of small objects, stones, rocks, sand, mountains, e.t.c. So, any
- given spot upon the moon surface, will have normal vectors pointing in every
- possible direction, and (using Phong in a small scale) will be shaded (almost)
- equally, until, of course, it's in shadow! This is The Rough Bug, Rough sur-
- faces are subject to this effect, and the Phong diffuse component gets more
- and more out-of-sync with the actual surface as the surface get's rougher.
-
- Some questions emerge:
-
- Q: Is there any way to let a phong-type shading model take this into account,
- without having to model the surface exactly, either in actual geometry or
- as a bump map?
-
- Another example of this bug you may find outside, at sunset (or almost sunset)
- if you stand on a large, flat surface covered with sand, dirt, concrete or
- something similar. Looking towards the setting sun, the surface you are stan-
- ding on is darker than when you look away from the sun, by the same reason,
- the surface's Roughness. Small rocks and stuff reflect the sun as you look
- away from it (by 'it' i refer to the sun, not the rocks. You will not see
- anything if you look away from the rocks :-) and does not as you look into it
- (same 'it'). So much for Specular reflection. Perhaps some kind of inverted
- specular reflection....??
-
- * The Non Linearity Bug
-
- Without having ANY physicists backing me up, I dare claim that the (very
- linear) equation of the standard Ray Tracing reflection model is goddamnwrong!
- I was wearing a ring the other day, sitting in front of a window, looking out
- into the sun. Since my mind is constantly on RayTracing, i saw the reflection
- in the window of the sun reflecting in my ring. I didn't see myself, nor the
- ring, not even the room I was in, reflecting in the window glass, only the
- (very bright) reflection of the ring (Perhaps the window used adaptive tree
- pruning, filtering away all reflections below 0.1? Nah...don't think so :-)
-
- Another example was when a friend of mine was standing in front of the very
- same window, but it was very very late at night, and the window was black.
- But he was backlit by the light from the room, and as I observed his
- reflection in the glass, I saw it had somehow higher contrast then my direct
- vision of him standing there. The dark parts of his face (where the shadow of
- his nose fell, f'rinstance) was pitch black in the reflection, but the tip of
- the very same nose, being lit from behind, appeared very bright in the
- reflection. There were no such differences in luminosity between nose-tip and
- nose shadow in the true image of him, not even from the windows viewpoint,
- something I verified by crawling up between the window and him, observing him
- accurately (with him thinking I was a complete fool -- which I am).
-
- A question emerges:
-
- Q: Can this 'non linearity' of reflected images somehow be imported into
- the raytracing algorithm, or is this a local effect in the human eye?
- (Perhaps in MY eyes only... ?)
-
- ======== USENET cullings follow ===============================================
-
- Summary: Uniform Random Distribution of Points on Sphere's Surface,
- Marshall Cline, (cline@cheetah.ece.clarkson.edu (Marshall Cline)
- Organization: ECE Dept, Clarkson Univ, Potsdam, NY
-
- The original problem was:
- > I need to uniformly(!) spray a sphere's surface with randomly located dots.
- > We can assume the sphere has radius R and is centered at the origin.
-
- SOLUTION #1 (by far the most popular):
- > Choose 3 Uniform random values: (rand(-R,R), rand(-R,R), rand(-R,R)).
- > If this is inside the sphere, project that vector onto the sphere's surface.
- (Sorry I have no references; many many people suggested this)
-
- SOLUTION #2:
- > Choose 3 Gaussian randoms: <Normal(0,1), Normal(0,1), Normal(0,1)>
- > Project this vector onto the sphere's surface.
- bill@stat.washington.edu (Bill Dunlap, Statistics, U. Washington)
- jd@shamu.wv.tek.com (JD)
-
- (Projecting vector <x,y,z> onto the sphere's surface is done by dividing
- each component by sqrt of sum of squares (ie: the vector's length).)
-
- SOLUTION #3:
- > Pick a random latitude by the inverse sine of a number uniformly
- > distributed over [-1,1]. Pi times another such random number gives
- > you a random longitude, and you're done.
- dougm@rice.edu (Doug Moore)
-
- Several other solutions suggested dividing the sphere's surface into small
- patches and projecting uniformly into a randomly chosen patch.
-
- Thanks to all who answered.
- Marshall Cline
-
- PS: I'm implementing this on the Connection Machine. The SIMD nature of
- the CM makes the first soln difficult, since each processor will have to
- wait until that last straggler finds a point inside the sphere. There are
- ways around this, like a list of cached 3-space points in each processor,
- but there's always a chance that one processor's list will be very short.
- Thus I'm going to try the Normal(0,1) solution first.
-
- PPS: paul@hpldola.HP.COM (Paul Bame) suggested a method (simulated annealing)
- which would "evenly distribute" points on the sphere's surface. Although my
- app requires a uniform random distribution, I'm posting this as it may be
- appealing (though slow) for someone who wants evenly distributed points.
-
- -------------------------------------------------------------------------------
-
- Ray Tracing & Radiosity, by Frank Vance (fvance@airgun.wg.waii.com)
- Organization: Western Geophysical, Houston
-
- The SIGGRAPH '87 proceedings contain three articles (see biblio. below)
- which, taken as a whole, seem to imply that image synthesis will have to
- combine both ray tracing and radiosity in order to be able to accurately
- render images that contain many "real-world" phenomena. Two of the papers
- point out the difficulty of using ray tracing to render such things as
- atmospheric scattering and "participating media".
-
- I have not seen any further discussion of this view (although I have not yet
- seen the SIGGRAPH '89 Proceedings [go easy on me, OK?]), and am wondering what
- other researchers, particularly die-hard ray tracers, thought of this.
- Can ray tracing correctly render such things without resorting to radiosity
- tricks? Or is the distinction between ray tracing and radiosity
- essentially artificial? What's your opinion?
-
- Bibliography:
- All below from SIGGRAPH '87 Proceedings a.k.a. Computer Graphics, July 1987,
- v.21 n.4
-
- Wallace, John R.; Michael F. Cohen; Donald P. Greenberg
- "A Two-Pass Solution to the Rendering Equation: A Synthesis
- of Ray Tracing and Radiosity Methods", pp 311-320
-
- Rushmeier, Holly E.; Kenneth E. Torrance
- "The Zonal Method for Calculating Light Intensities in the
- Presence of a Participating Medium", pp 293-302
-
- Nishita, Tomoyuki; Yasuhiro Miyawaki; Eihachiro Nakamae
- "A Shading Model for Atmospheric Scattering Considering
- Luminous Intensity Distribution of Light Sources", pp 303-310
-
- --------
-
- Re: Ray Tracing & Radiosity, by Mark VandeWettering (markv@gauss.Princeton.EDU)
-
- What I think SHOULD be implied is that normal raytracing techniques are
- inadequate to solve a wide variety of lighting situations, particularly those
- which deal with solutions to the "ambient" light contribution, diffuse
- interreflection, participating media, or color bleeding.
-
- This doesn't mean that raytracing can't be used to solve problems like this.
- As a matter of fact, radiosity can be implemented quite simply using a
- raytracer rather than a zbuffer-er for the hemicube calculations. Raytracing
- was a part of Holly Rushmeier's participating media radiosity solution, where
- rays were used to perform spatial line integrals of the lighting equation. If
- you examine the 88 and 89 Siggraph proceedings, you will see that many
- researchers have shifted to raytracing-like approaches to implement radiosity
- solutions.
-
- >Can ray tracing correctly render such things without resorting to radiosity
- >tricks? Or is the distinction between ray tracing and radiosity
- >essentially artificial? What's your opinion?
-
- The distinctions aren't artificial, but they are subtle. For a while,
- radiosity meant using matrix equations to solve energy transfer between
- Lambertian reflectors. Later, the n^2 memory requirements were relaxed by
- using progressive radiosity, and the algorithm became practical and
- competitive with other methods. Now, integrations of raytracing and radiosity
- are beginning to show further improvements in both speed and the kinds of
- situations they cover (specular reflection). And you can be sure that there
- will continue to be radiosity papers in THIS years Siggraph too. (I can
- hardly wait!)
-
- Raytracing is generally conceived to offer solutions to precisely the
- situations where early radiosity solutions failed: environments with highly
- specular environments. It used to be thought that raytracing was too
- expensive, but improvements in hardware and in algorithms have made raytracing
- tractable and attractive.
-
- Now, I believe that most algorithms "of the future" will have some sort of a
- raytracing core to them, if not for modelling light interactions then probably
- just for checking visibility of points.
-
- How 'bout anyone else? Any more ideas?
-
- -------------------------------------------------------------------------------
-
- Ray-Tracing the Torus, by Prem Subrahmanyam (prem@geomag.gly.fsu.edu)
-
- Ok, I've contributed my quadric ray-tracing code. Now, if someone could tell
- me how to do the above, I would greatly appreciate it. I know it is a 4th
- order equation, but I have not even succeeded in locating the equation for the
- torus in my math textbooks (except for a spherical coordinate version--and I
- don't want to try to convert). Any help would be appreciated.
-
- [this has been answered a few times already in the RT News, but I found Bob
- Weber's reference of interest. He also gives a taste of Pat's explanation
- -- EAH]
-
- --------
-
- Reply from Bob Webber (webber@fender.rutgers.edu):
- Organization: Rutgers Univ., New Brunswick, N.J.
-
- For planar curves we have J. Dennis Lawrence's A Catalog of Special Plane
- Curves (Dover 1972) to satisfy those times when one wakes up in the middle of
- the night, racking one's mind trying to remember the equation for the
- hippopede. However, for 3-d, the best I have seen is Pat Hanrahan's A Survey
- of Ray-Surface Intersection Algorithms that appears in Andrew Glassner's An
- Introduction to Ray Tracing (Academic Press 1989). There we find, among other
- things, the equation for a torus as:
-
- (x**2 + y**2 + z**2 - (a**2 + b**2))**2 = 4 a**2 (b**2 - z**2)
-
- This describes a torus centered at the origin defined by a circle of radius b
- being swept along a center defined by a circle of radius a. It is derived
- from considering the intersection of a plane with a torus that yields the two
- circles:
-
- ((x - a)**2 + z**2 - b**2)((x + a)**2 + z**2 - b**2) = 0
-
- [if you are unfamiliar with this construction, it is worthwhile pausing here
- and savouring how this equation actually works -- sometimes the equations are
- prettier than the pictures] and then spinning this intersection by replacing
- x**2 with x**2 + y**2 (after some algebraic simplification, which converted
- the above to:
-
- (x**2 + z**2 - (a**2 + b**2))**2 = 4 a**2 (b**2 - z**2)
-
- ). The section includes a reference to an unpublished 1982 note by Hanrahan
- entitled: Tori: algebraic definitions and display algorithms. The general
- scheme for a number of variations on the torus is to start with a quartic
- curve of the form f(x**2,y)=0 and then substitute x**2+y**2 for x**2 and z
- for y.
-
- -------------------------------------------------------------------------------
-
- Need Help on Superquadrics, by Wayne McCormick (wayne@cpsc.ucalgary.ca)
-
- A few months ago I read some articles on superquadrics here on
- the net. It interested me and I decided to try to implement a modeler
- based on superquadric shapes. Since the inside-outside functions are
- so easy to use in determining intersections and so forth I thought it would
- be somewhat easy to do. But I stumbled into a small problem.
-
- Parametrically, a superellipsoid is defined by
-
- x = c(u,e1) * c(v,e2)
- y = c(u,e1) * s(v,e2)
- z = s(u,e1)
-
- where -pi <= u <= pi, -2pi <= v <= 2pi, and c(u,e1) = cos(u)^e1,
- s(u,e1) = sin(u)^e1. O.K., this is the easy part. By varying u and v
- through the ranges we generate a bunch of points on the surface of the
- ellipsoid. But, the only place that the functions are defined for real
- numbers is in the positive octant because once the sin or cos function
- becomes negative and e1 and/or e2 are not integers, the function moves out
- into the complex plane.
-
- Then I tried to calculate everything in the complex plane. There
- are two problems here. 1) speed, 2) how do you map back to image space?
-
- Then in Franklin and Barr's paper on "Faster calculation of
- superquadric shapes", they say that using an explicit equation and reflecting
- 47 times is much faster. Sure I can see that, but the patch that is
- generated
- by the explicit equation is small and odd shaped, and what 47 directions does
- one have to reflect it?
-
- --------
-
- From Robert Skinner (robert@texas.esd.sgi.com)
- Organization: Silicon Graphics Inc., Entry Systems Division
-
- I'm going to suggest this without poring over the references, so I'll
- apologize ahead of time:
-
- Try using the same identities for c(u,e) and s(u,e) as for sin() and
- cos():
-
- c(-u,e) == c(u,e)
- s(-u,e) == -s(u,e)
- s(pi/2 - u, e) = c(u,e)
- c(pi/2 - u, e) = s(u,e)
-
- you can make this restriction 0 <= u,v <= pi/2 and solve only the easy
- cases. This also means that you only have to compute 1/4th of u's
- range, and 1/8 of v's range, a reduction of 32. Define
- your basic patch over the range above, then define what the other
- ranges would be in terms of that:
-
- e.g.
- 0 <= v <= pi/2
- -pi/2 <= u' <= 0 (i.e u' = -u)
-
- then
- x' = c(u',e1) * c(v,e2) = c(u,e1) * c(v,e2) = x
- y' = c(u',e1) * s(v,e2) = c(u,e1) * s(v,e2) = y
- z' = s(u',e1) = -s(u,e1) = -z
-
- so just reflect your basic patch by -1 in the Z to draw this one.
-
- Repeat for all other sections of the total range.
- This should work, but it looks like you only get 32 sections, not 48.
-
- -------------------------------------------------------------------------------
-
- Ray Tracing Penumbral Shadows, Prem Subrahmanyam (prem@geomag.gly.fsu.edu)
- Organization: Florida State University Computing Center
-
- I would like to hear how people who have done the above have succeeded at
- this. Presently, I am working with DBW_Render which uses the following basic
- algorithm.
-
- Find the direction to the light source and determine distance to this source
- (for inverse square shading). Now, create a random unit vector and scale this
- into the direction to light vector using the radius of the light source as the
- scaling factor. Test this new vector for shadows, etc.
-
- This generates very poor shadows except when the anti-aliasing is turned way
- up (6 or greater rays per pixel) since we are either in shadow or not (no
- in-betweens). Does anyone else have any usable suggestions as to how this can
- be done where we vary the amount of light depending on how much in shadow it
- is (short of firing multiple rays at the light source--pretty much the same as
- anti-aliasing).
-
- -------------------------------------------------------------------------------
-
- Ray with Bicubic Patch Intersection Problem, Wayne Knapp
- (wayneck@tekig5.PEN.TEK.COM)
- Organization: Tektronix Inc., Beaverton, Or.
-
- Time for a hard problem. Anyone have a great idea on how to compute the
- a ray intersection with a general bicubic patch? The methods I've found in
- papers so far tend to be very slow. Seems like most papers take one of two
- approaches:
-
- 1. Sub-divide the patch in many small polygons and ray-trace that. Works
- but when you have thousands of patches you can end up with millions of
- polygons.
-
- 2. An Iterative numerical approach, chosing a x,y,z point on the ray and
- checking to see if it intersects the patch by using the x,y,z values
- in the system of equations given by the four cubic equations forming
- the patch. This of coarse normally requires many trys.
-
- Does anyone have any better ideas?
-
- --------
-
- John Peterson (jp@Apple.COM)
- Organization: Apple Computer Inc., Cupertino, CA
-
- I did my MS thesis on comparing techniques #1 and #2. #1 was definitely the
- winner, both in terms of speed and robustness. #2 requires root finding,
- which can have convergence problems (not finding a root, finding the wrong
- root, etc). Also, it performs the surface evaluation (which is expensive) in
- the very inner loop of the ray tracing process where it is executed literally
- billions of times for a complex image.
-
- Reducing to polygons first allows the ray tracer to deal strictly with simple,
- fast and stable linear math. It also does the surface evaluation (to generate
- the polygons) only once as a pre-process. Once the polygons are generated,
- there are several very effective schemes for reducing the ray-surface search
- problem for large quantities of small, simple primitives (e.g., octrees,
- bounding volume trees, 5D space, etc).
-
- For the gory details, see "PRT - A System for High Quality Image Synthesis
- of B-Spline Surfaces", MS Thesis, University of Utah, 1988.
-
- --------
-
- Lawrence Kesteloot, (lkestel@gmuvax2.UUCP)
- Organization: George Mason Univ. Fairfax, Va.
-
- Check out the book "An Introduction to Splines for use in Computer Graphics &
- Geometric Modeling", by Richard H. Bartels, John C. Beatty, and Brian A.
- Barsky. (Morgan Kaufmann Publishers, 1987). It has a section entitled
- Ray-Tracing B-Spline Surfaces (p. 414). It goes into several steps to speed
- up the intersection:
-
- (I have not read this yet. I'm summarizing as I read.)
-
- 1. Refinement Preprocessing - This breaks the image down into many smaller
- splines. Each spline covers several 100 pixels.
-
- 2. Tree Construction - Break the new (smaller) spline into a bunch of
- boxes, starting with one box for the whole spline, then break that
- down (put all this into a tree). Intersection with boxes is easy.
- You can find out which of these boxes (check only the leaves of the
- tree) intersects the ray. This will give you the starting point for
- Newton's iterations.
-
- 3. Do newton's iteration to find the exact distance.
-
- I'm sorry if I've made any errors in the above description. You're going to
- have to get the book, of course, to implement it. I'm going to implement it
- in my own ray-tracing program in the next few weeks, so I'll post the source
- if anyone is interested. It seems like a complicated algorithm, but it may
- speed things up quite a bit. [I never did see the source posted - EAH]
-
- --------
-
- Mark VandeWettering (markv@gauss.Princeton.EDU) writes:
-
- Well, there is another solution to this problem which people haven't fleshed
- out a great deal: generate triangles and raytrace those.
-
- I hear groans from the audience, but let me put forth the following reasons:
-
- 1. ray/bicubic patch intersection IS floating point intensive. The
- best figures I have seen quote around 3K floating point operations
- per ray/patch intersection. I have a hard time believing you
- couldn't do better with a good hierarchy scheme + good triangle code.
-
- 2. Even if you can convince me that your bicubic patch intersector
- worked faster than my combination, dicing into triangles is very simple
- and easy to implement. The same code could also be used to generate
- views of nearly any parametric surface with minimal modification.
-
- There are (of course) some difficulties. You would like to subdivide
- appropriately, which means being careful about silhouette edges and shadow
- edges. Barr and Von Herzen had an excellent paper in the 1989 siggraph to
- illustrate how to implement subdivision. You might want to check it out.
-
- (Of course, all this is moot, cuz I never HAVE managed to implement
- real ray/patch intersection code)
-
- --------
-
- Thomas Williams ({ucbvax|sun}!pixar!thaw) replies:
- Organization: Pixar -- Marin County, California
-
- Another problem which I haven't seen solved is subdivision for
- reflections or transmissions which magnify the surface intersection
- of this secondary ray. For example, what is a suitable subdivision
- algorithm for surfaces seen through a magnifying glass? Adaptive techniques
- that use gradient differentials can generate gillions of unneeded polygons.
- Also the continuity you lose by approximating surfaces with triangles for
- curved objects with more than one transmitting surface (like a bottle,
- or thick glass) can cause some pretty horrible artifacts. If it is
- important to avoid these problems the only way I know that you can do
- it it with ray-surface intersection.
-
- --------
-
- Mark VandeWettering (markv@gauss.Princeton.EDU) then replies:
-
- The problems you list are legitimate. However, I would counter with the
- following arguments:
-
- 1. How often do scenes which have magnifications through reflection or
- refraction REALLY occur. The answer to this question for me was: never.
- Much more difficult is to solve problems with shadow edges, which can
- project edges which are irritatingly linear. Two things will help
- soften/alleviate problems which shadow edges:
-
- a. using distributed raytracing to implement penumbras.
- fuzzy boundaries can be more piecewise without causing
- noticeable effects.
- b. We can help eliminate artifacts by treating light sources
- specially, and subdividing on silhouettes with respect
- to the light source as well as the eye.
-
- 2. Remember, your screen has on the order of 1M pixels. Each patch
- will probably cover only a vanishingly small fraction of these pixels.
- If a patch covers 100 pixels, any subdivision beyond 10x10 is probably
- overkill. Use expected screensize as a heuristic to guide subdivision.
-
- --------
-
- Thomas Williams ({ucbvax|sun}!pixar!thaw) then replies:
-
- Don't forget problems with areas of high curvature. Especially animated
- sequences where specular highlights "dance" on sharply curved edges. A hybrid
- approach might work well but, you had better have a _lot_ of memory for all
- the polygons you generate. Thrashing brings the fastest machines to their
- knees. So, I still think there is a place for ray-surface intersections.
-
- Of course, I guess which approach you take depends on the audience your
- playing to.
-
- -------------------------------------------------------------------------------
-
- Rendering Intersecting Glass Spheres, John Cristy (cristy@eplrx7.uucp)
- Organization: DuPont Engineering Physics Lab
-
- I am (still) looking for a renderer (raytracer, radiosity, scanline, etc.)
- that can render two intersecting semi-transparent glass spheres and
- realistically show the area of intra-penetration. I have been looking for a
- couple months now and have not found a renderer that does this well (or at
- all). Suggestions of public domain or commercial renderers that solve this
- problem was welcome. Please send Email to cristy@dupont.com. Thanks in
- advance.
-
- --------
-
- Craig Kolb (craig@weedeater.uucp) replies:
- Organization: Yale University Department of Mathematics
-
- >To accurately model nested objects (for example, if your two
- >spheres had different indices of refraction), you also need to
- >maintain a stack of refraction indices, since you can't assume that
- >when you exit an object, you exit into `air'.
-
- Rayshade does exactly this. But there are still a couple of problems with
- rendering intersecting transparent objects. First, the renderer needs to keep
- track of solid body color in order to achieve the proper "filtering" effect
- of, say, white light passing through green glass and then blue glass.
-
- The second and more fundamental problem is how to treat the volume
- corresponding to the intersection of the two solids. Given that solids A and
- B each have a set of properties (solid body color, index of refraction, etc.),
- what properties should be used in rendering the volume (A ^ B)?
-
- Doing The Right Thing means resorting to CSG techniques so that one can
- specify the properties of (A ^ B) as well as those of A and B.
-
- -------------------------------------------------------------------------------
-
- DKBPC Raytracer, Tom Friedel (tpf@jdyx.UUCP)
- Organization: JDyx Enterprises (Atlanta GA)
-
- The guys on Compuserve seem to have endorsed a (new) ray tracer
- called DKBPC, which is available as source. It appears to
- support CSG and Textures from what little I've seen. Has anyone
- evaluated it (i.e., compared it to rayshade, vort, mtv, etc.) Is it
- archived anywhere?
-
- -------------------------------------------------------------------------------
-
- New release of IRIT solid modeller, Gershon Elber (gershon@cs.utah.edu)
- Organization: University of Utah CS Dept
-
- IRIT is a polygonal C.S.G. based solid modeller originally developed on and
- for the IBM PC family of computers. Version 1.x has been released about a
- year ago for the IBM PC only. Since then, it has been ported to unix
- environment (SGI Irix 3.2 and BSD4.3) using X11, and all known bugs has been
- fixed.
-
- This is release 2.x of the solid modeller and its accompanying utilities which
- include a data viewing program (poly3d), hidden line removal program
- (poly3d-h) and simple renderer (poly3d-r). Thanks to Keith Petersen, all the
- sources (Ansi C) for these programs (and executables for the IBM PC) are
- available on simtel20.arpa, directory PD1:<MSDOS.IRIT> :
-
- IRIT.ZIP Full CSG solid modeller, arbitrary orientation
- IRITS.ZIP Turbo C ver 2.0 sources for IRIT
- IRITLIBS.ZIP Libraries for IRIT sources
- POLY3D.ZIP Display 3D polygonal objects, part of IRIT
- POLY3DS.ZIP Turbo C ver 2.0 sources for POLY3D
- POLY3D-H.ZIP Create hidden line removed pict., part of IRIT
- POLY3DHS.ZIP Turbo C ver 2.0 sources for POLY3D-H
- POLY3D-R.ZIP Render poly data into GIF images, part of IRIT
- POLY3DRS.ZIP Turbo C ver 2.0 sources for POLY3D-R
- DRAWFN3D.ZIP Display 3D parametric surfaces, part of IRIT
- DRAWFN3S.ZIP Turbo C ver 2.0 sources for DRAWFN3D
-
- All above sources are for the unix system as well, but DRAW*.ZIP which has not
- been ported (MSDOS only). In order to unpack ZIP archives in unix environment
- you will need to ftp from directory PD3:<MISC.UNIX> the file UNZIP30.TAR-Z.
-
- [list of changes deleted - EAH]
-
- Elber Gershon gershon@cs.utah.edu
- 918 University village
- Salt Lake City 84108-1180 Tel: (801) 582-1807 (Home)
- Utah Tel: (801) 581-7888 (Work)
-
- -------------------------------------------------------------------------------
-
- Easier Use of Ray Tracers, Philip Colmer, Mark VandeWettering, Jack Ritter
-
-
- Philip Colmer (pcolmer@acorn.co.uk) writes:
-
- As someone who has used QRT and MTV, and is about to try RayShade, could I
- make a couple of suggestions to the authors of these packages, and any other
- budding ray tracer programmers.
-
- ---------
-
- Mark VandeWettering (markv@gauss.Princeton.EDU) answers Philip's points:
-
- In article <...> pcolmer@acorn.co.uk (Philip Colmer) writes:
-
- >1. Please try and provide an option to produce a quick and dirty outline
- > image. This would not do any reflections, shadows or any of the other
- > time consuming elements of ray tracing. Instead, it would just show
- > where the objects are. This would allow the basic picture to be checked
- > for accuracy. Not everyone can cope with visualizing a 3D world!
-
- Yeah, this should be configurable from within the data file,
- or via command line options. Things like raydepth and stuff are
- not run-time configurable on MTV.
-
- >2. MTV has a very nice colour database (pinched from X11). How about a
- > similar database for materials, ie just what ARE the parameters that
- > should be given for metal, glass and so on?
-
- Well, colors are a little easier than things like metals. We should
- actually shift from an RGB representation of color to a more
- realistic wavelength model, and then convert. Somewhere I have a list
- compiled by Andrew Glassner of reflection curves for a number of
- materials. Perhaps these will work their way into Son of MTV.
-
- >3. How about a fixed point integer system? This would make ray tracers go
- > one hell of a lot faster, but I'm not sure if this is a viable option.
-
- Guess what folks, this probably won't help. Mainly because modern
- machines are spending alot more time to do fp multiplies than integer
- multiplies. Note that on a machine like the i860, a double precision
- multiply can be done every two cycles. A 32 bit integer multiply
- takes between four and eleven. Net result: You lose.
- Similar things happen with the MIPS R3000.
-
- Another big lose for most machines, using single precision fp in
- C. Doesn't help one iota in speed for every machine I tested, and
- hurt the accuracy.
-
- --------
-
- Jack Ritter (ritter@versatc.versatec.COM)
- Organization: Versatec, Santa Clara, Ca. 95051
- Summary: speed up tricks for approx ray tracer
-
- In article <2413@acorn.co.uk> pcolmer@acorn.co.uk (Philip Colmer) writes:
-
- >1. Please try and provide an option to produce a quick and dirty outline
- > image.
-
- I have an option to scale the scene into an arbitrary NXM pixel area. For
- initial renderings, where I just want to the overall effect, & make sure
- objects don't penetrate each other, I have found that even a 30X30 pixel
- rendering is revealing. 30X30 sure beats the hell out of 512X512, or whatever
- these darn kids are using these days.
-
- I also bound objects in screen space, which makes things very fast when you're
- not doing reflections & refractions. Some fairly complex scenes have taken
- under a minute with all these trick in use. Screen space bounding is
- described in the upcoming book "Graphics Gems", which will no doubt also
- contain many other speed-up tricks that I will wish I had thought of.
-
- >3. How about a fixed point integer system? This would make ray tracers go
- > one hell of a lot faster, but I'm not sure if this is a viable option.
- >
- > Guess what folks, this probably won't help. Mainly because modern
- > machines are spending alot more time to do fp multiplies than integer
-
- Yes, the latest processors have on-chip floating point, and are fast.
- However, on the processors I have used: Motorola 68000, 68010, 68020, I have
- found that well thought-out fixed point code always beats the floating point
- coprocessor, algorithm for algorithm.
-
- -------------------------------------------------------------------------------
-
- Raytracer Glass, F. Ken Musgrave (musgrave-forest@CS.YALE.EDU)
- Organization: Yale University Computer Science Dept, New Haven CT 06520-2158
-
- In article <...> pwh@bradley.UUCP writes:
- >
- >What are the spectral properties of glass
- >that I could use in a raytracing program?
- >
- >I've a friend who's been working on the problem
- >for a while now, and it's given some interesting results,
- >but nothing that actually looks like glass....
-
- Glass is not so easy to do - I got a Master's degree for doing it!
-
- Three things are necessary: (1) The proper index of refraction (1.5-1.9).
- (2) The proper reflection function - Fresnel's Law. (3) Dispersion. Also,
- you should propagate rays spawned by total internal reflection - many ray
- tracers quash such rays outright; this can lead to ugly artifacts in (glass)
- objects with planar surfaces.
-
- The first two things can be standard features in a ray tracer, the third is
- uncommon. There are two published solutions (that I know of):
-
- Thomas, S. W., "Dispersive Refraction in Ray Tracing", Visual
- Computer, vol. 2, no. 1, pp 3-8, Springer Int'l, Jan. '86
-
- Musgrave, F. K., "Prisms and Rainbows: a Dispersion Model for
- Computer Graphics", Proceedings of the Graphics Interface '89,
- London, Canada, June '89
-
- Neither of these references is easy to get. Perhaps UC Santa Cruz would
- provide a copy of my thesis:
-
- Musgrave, F. K., "A Realistic Model of Refraction for Computer
- Graphics", Master's Thesis, UC Santa Cruz, Santa Cruz CA, Sept. '87
-
- As an alternative, I will put the troff sources for my GI paper where you
- can get them via anonymous ftp on weedeater.math.yale.edu - but you won't get
- any of the nice illustrations.
-
- At any rate to get dispersion into a ray tracer requires some hacking, and
- will in general slow down the rendering a *lot*. Thomas & I used quite
- different approaches; his would probably be faster for scenes without much
- dispersion, and vice-versa.
-
- A future version of Craig Kolb's RayShade may feature dispersion... (I'm
- not at liberty to distribute my ray tracer with dispersion.)
-
- --------
-
- Michael A. Kelly (mkelly@comix.cs.uoregon.edu) replies:
- [Organization: Department of Computer Science, University of Oregon]
-
- In article <8600001@bradley> pwh@bradley.UUCP writes:
- >
- >What are the spectral properties of glass
- >that I could use in a raytracing program?
-
- Try "Color Science" by Wyszecki & Stiles (1982). I don't have the book with
- me but I'm pretty sure it has the information you need.
-
- -------------------------------------------------------------------------------
-
- Ray Intersection with Grid, Rick Speer (speer@boulder.Colorado.EDU)
- Organization: University of Colorado, Boulder
-
- In article 12598 of comp.graphics, aiadrmi@castle.ed.ac.uk
- (Alasdair Donald Robert McIntyre) writes:
-
- > I am trying to raytrace rippling water and need to solve the following
- > problem:
- >
- > Given a surface defined by heights on an square grid, find the
- > closest intersection of a ray with the surface thus defined.
- >
- > I wonder if anyone knows of an efficient method to do this?
- >
- > Replies by mail, or to the net.
- > Thanks in advance
-
-
- You might check the following-
-
- 1. "Shaded Display of Digital Maps", by S. Coquillart and M. Gangnet
- in IEEE Computer Graphics and Applications V. 4 No. 7 (July 1984),
- p. 35-42.
-
- 2. "Vectorized Procedural Models for Natural Terrain: Waves and
- Islands in the Sunset", by N. Max in Computer Graphics V. 15 No. 3
- (Proceedings of SIGGRAPH '81), p. 317-324.
-
- These should give you some good ideas.
-
- [My own two cents: Also look at "The Synthesis and Rendering of Eroded Fractal
- Terrains" by F. Kenton Musgrave, Craig E. Kolb, and Robert S. Mace, SIGGRAPH
- 89. Towards the end they describe their method to ray trace height fields.
- - EAH]
-
- -------------------------------------------------------------------------------
-
- Database for DBW-Render, by Prem Subrahmanyam (prem@geomag.fsu.edu)
- Organization: Florida State University Computing Center
-
- Ok, here is a description file for a trio of balloons over reflective water
- with fractal mountains in the background. It should be pretty interesting.
-
-
- & 0 400
- R 24.0
- a .5
- b .8 .4 .4
- e 0 10 100 0 -5 -200 0 1 0
- w 0 0 -200 7 .1 1 0.00
- w 0 0 0 5 .2 1 0.00
- w 0 0 200 20 .4 1 0.50
- w 200 0 0 2 .1 1 1.00
- w -200 0 0 10 .15 1 1.00
- w 50 0 0 6 .2 1 0.00
- w 30 4 60 15 .3 1 .75
- l 1 1 1 2 10 5
- g .5 0 .8 15 15
- f 4 0.1 0.5 0.7 3
- f 4 .7 .6 .6 3
- f 4 .5 .5 .7 3
- {s 50 .2 0 1 0 0 0 .3 .3 .3 .6 .8 .2 0 29 0 10
- {t 50 .2 0 1 0 0 0 .1 .1 .1 .6 .87 .2 -9 24.2 0 1.7 0 5.3 5.3 -10.2 1.2
- t 50 .2 0 1 0 0 0 .1 .1 .1 .6 .87 .2 -7.3 24.2 5.3 4.5 0 3.3 5 -10.2
- -2
- t 50 .2 0 1 0 0 0 .1 .1 .1 .6 .87 .2 -2.8 24.2 8.6 5.6 0 0 2.8 -10.2
- -4.7
- t 50 .2 0 1 0 0 0 .1 .1 .1 .6 .87 .2 2.8 24.2 8.6 4.5 0 -3.3 -.5 -10.2
- -5.4
- t 50 .2 0 1 0 0 0 .1 .1 .1 .6 .87 .2 7.3 24.2 5.3 1.7 0 -5.3 -3.6
- -10.2 -4.1
- t 50 .2 0 1 0 0 0 .1 .1 .1 .6 .87 .2 -2.3 14 3.2 -1.4 0 -2
- -5 10.2 2
- t 50 .2 0 1 0 0 0 .1 .1 .1 .6 .87 .2 0 14 3.9 -2.3 0 -.7 -2.8 10.2 4.7
- t 50 .2 0 1 0 0 0 .1 .1 .1 .6 .87 .2 2.3 14 3.2 -2.3 0 .7 .5 10.2 5.4
- t 50 .2 0 1 0 0 0 .1 .1 .1 .6 .87 .2 3.7 14 1.2 -1.4 0 2 3.6 10.2
- 4.1}
- {q 0 1 0 1 0 0 0 .1 .1 .1 .1 .1 .1 0 14 3.9 .4 0 0 0 -8 0
- q 0 1 0 1 0 0 0 .1 .1 .1 .1 .1 .1 3.7 14 1.2 .4 0 0 0 -8 0
- q 0 1 0 1 0 0 0 .1 .1 .1 .1 .1 .1 -3.7 14 1.2 .4 0 0 0 -8 0
- q 0 1 0 1 0 0 0 .1 .1 .1 .1 .1 .1 -.8 14 -3.9 .4 0 0 0 -8 0}
- {q 3 .5 0 1 0 0 0 .1 .1 .1 .3 .4 .5 -3.7 6 1.2 3.7 0 2.7 0 -5 0
- q 3 .5 0 1 0 0 0 .1 .1 .1 .3 .4 .5 0 6 3.9 3.7 0 -2.7 0 -5 0
- q 3 .5 0 1 0 0 0 .1 .1 .1 .3 .4 .5 -3.7 6 1.2 2.9 0 -2.7 0 -5 0
- q 3 .5 0 1 0 0 0 .1 .1 .1 .3 .4 .5 -.8 6 -3.9 4.5 0 2.7 0 -5 0}}
-
- r 4 0 .55 1 0 0 0 0 0 0 .1 0 0 0 1 0 1 0 0 0 0 1 0 200
-
- {s 70 .2 0 1 0 0 0 .3 .3 .3 .5 0 .2 20 30 -10 10
- {t 70 .2 0 1 0 0 0 .1 .1 .1 .5 0 .2 11 25.2 -10 1.7 0 5.3 5.3 -10.2 1.2
- t 70 .2 0 1 0 0 0 .1 .1 .1 .5 0 .2 12.7 25.2 -4.7 4.5 0 3.3 5 -10.2
- -2
- t 70 .2 0 1 0 0 0 .1 .1 .1 .5 0 .2 17.2 25.2 -1.4 5.6 0 0 2.8 -10.2
- -4.7
- t 70 .2 0 1 0 0 0 .1 .1 .1 .5 0 .2 22.8 25.2 -1.4 4.5 0 -3.3 -.5 -10.2
- -5.4
- t 70 .2 0 1 0 0 0 .1 .1 .1 .5 0 .2 27.3 25.2 -4.7 1.7 0 -5.3 -3.6
- -10.2 -4.1
- t 70 .2 0 1 0 0 0 .1 .1 .1 .5 0 .2 17.7 15 -6.8 -1.4 0 -2
- -5 10.2 2
- t 70 .2 0 1 0 0 0 .1 .1 .1 .5 0 .2 20 15 -6.1 -2.3 0 -.7 -2.8 10.2 4.7
- t 70 .2 0 1 0 0 0 .1 .1 .1 .5 0 .2 22.3 15 -6.8 -2.3 0 .7 .5 10.2 5.4
- t 70 .2 0 1 0 0 0 .1 .1 .1 .5 0 .2 23.7 15 -8.8 -1.4 0 2 3.6 10.2
- 4.1}
- {q 0 1 0 1 0 0 0 .1 .1 .1 .1 .1 .1 20 15 -6.1 .4 0 0 0 -8 0
- q 0 1 0 1 0 0 0 .1 .1 .1 .1 .1 .1 23.6 15 -8.8 .4 0 0 0 -8 0
- q 0 1 0 1 0 0 0 .1 .1 .1 .1 .1 .1 16.3 15 -8.8 .45 0 0 0 -8 0
- q 0 1 0 1 0 0 0 .1 .1 .1 .1 .1 .1 19.2 15 -13.9 .4 0 0 0 -8 0}
- {q 3 .5 0 1 0 0 0 .1 .1 .1 .3 .4 .5 16.3 7 -11.2 3.7 0 2.7 0 -5 0
- q 3 .5 0 1 0 0 0 .1 .1 .1 .3 .4 .5 20 7 -6.1 3.7 0 -2.7 0 -5 0
- q 3 .5 0 1 0 0 0 .1 .1 .1 .3 .4 .5 16.3 7 -8.8 2.9 0 -2.7 0 -5 0
- q 3 .5 0 1 0 0 0 .1 .1 .1 .3 .4 .5 19.2 7 -13.9 4.5 0 2.7 0 -5 0}}
-
- {s 5 .2 0 1 0 0 0 .3 .3 .3 0 .5 .8 -30 40 -20 10
- {t 5 .2 0 1 0 0 0 .1 .1 .1 0 .5 .8 -39 35.2 -20 1.7 0 5.3 5.3 -10.2 1.2
- t 5 .2 0 1 0 0 0 .1 .1 .1 0 .5 .8 -37.3 35.2 -14.7 4.5 0 3.3 5 -10.2
- -2
- t 5 .2 0 1 0 0 0 .1 .1 .1 0 .5 .8 -32.8 35.2 -11.4 5.6 0 0 2.8 -10.2
- -4.7
- t 5 .2 0 1 0 0 0 .1 .1 .1 0 .5 .8 -27.2 35.2 -11.4 4.5 0 -3.3 -.5 -10.2
- -5.4
- t 5 .2 0 1 0 0 0 .1 .1 .1 0 .5 .8 -22.7 35.2 -14.7 1.7 0 -5.3 -3.6
- -10.2 -4.1
- t 5 .2 0 1 0 0 0 .1 .1 .1 0 .5 .8 -32.2 25 -16.2 -1.4 0 -2
- -5 10.2 2
- t 5 .2 0 1 0 0 0 .1 .1 .1 0 .5 .8 -30 25 -16.1 -2.3 0 -.7 -2.8 10.2 4.7
-
- t 5 .2 0 1 0 0 0 .1 .1 .1 0 .5 .8 -27.7 25 -16.8 -2.3 0 .7 .5 10.2 5.4
- t 5 .2 0 1 0 0 0 .1 .1 .1 0 .5 .8 -26.3 25 -18.8 -1.4 0 2 3.6 10.2
- 4.1}
- {q 0 1 0 1 0 0 0 .1 .1 .1 .1 .1 .1 -30 25 -16.1 .4 0 0 0 -8 0
- q 0 1 0 1 0 0 0 .1 .1 .1 .1 .1 .1 -26.4 25 -18.8 .4 0 0 0 -8 0
- q 0 1 0 1 0 0 0 .1 .1 .1 .1 .1 .1 -33.7 25 -18.8 .4 0 0 0 -8 0
- q 0 1 0 1 0 0 0 .1 .1 .1 .1 .1 .1 -30.8 25 -23.9 .4 0 0 0 -8 0}
- {q 3 .5 0 1 0 0 0 .1 .1 .1 .3 .4 .5 -33.7 17 -18.8 3.7 0 2.7 0 -5 0
- q 3 .5 0 1 0 0 0 .1 .1 .1 .3 .4 .5 -30 17 -16.1 3.7 0 -2.7 0 -5 0
- q 3 .5 0 1 0 0 0 .1 .1 .1 .3 .4 .5 -33.7 17 -18.8 2.9 0 -2.7 0 -5 0
- q 3 .5 0 1 0 0 0 .1 .1 .1 .3 .4 .5 -30.8 17 -23.9 4.5 0 2.7 0 -5 0}}
- x 60 0 0 1 0 0 0 .1 .1 .1 .4 .4 .4 -100 0 -170 0 30 -200 100 0 -170
- x 61 0 0 1 0 0 0 .1 .1 .1 .4 .4 .4 -50 0 -170 -150 50 -132 -180 0 -85
- x 62 0 0 1 0 0 0 .1 .1 .1 .4 .4 .4 50 0 -170 160 30 -132 180 0 -85
- k .8 0 .9 5 5 5 0 0 0
-
- -------------------------------------------------------------------------------
- END OF RTNEWS
-