ojt@cs.brown.edu (Oren J. Tversky) (10/28/90)
To whom it may concern- I have been thinking over ways to ray trace super quadrics (including super-toroids). Despite possessing an implicit form, I couldn't come up with any obvious method for doing this. I would be interested in any method anybody has of accomplishing this. If anyone has any ideas, please mail me at: ojt@cs.brown.edu ______________________________________________________________________________ Oren Tversky "Tastes great, less filling" ojt@cs.brown.edu -Miller Brewing Company ..!brunix!ojt
speer@boulder.Colorado.EDU (Rick Speer) (10/29/90)
In Article 14754 of comp.graphics, ojt@cs.brown.edu (Oren J. Tversky) writes- ---------------------------------------------------------------- From: ojt@cs.brown.edu (Oren J. Tversky) Newsgroups: comp.graphics Subject: ray tracing super quadrics Date: 28 Oct 90 01:21:00 GMT To whom it may concern- I have been thinking over ways to ray trace super quadrics (including super-toroids). Despite possessing an implicit form, I couldn't come up with any obvious method for doing this. I would be interested in any method anybody has of accomplishing this. If anyone has any ideas, please mail me at: ojt@cs.brown.edu ---------------------------------------------------------------- I've sent mail to Oren but am posting my reply too in case others are interested. --------------------------------------------------- Oren, Here's some material that may be of assistance. The following paper- "An Introduction to Ray Tracing", by Roman Kuchkuda, pp. 1039-60 in Theoretical Foundations of Computer Graphics and CAD, R. A. Earnshaw, Ed., Springer-Verlag, 1988. is a good introduction to the tracing of superquadrics. In addition to the usual overview material it gives actual source code, in C. This paper- "Robust Ray Tracing with Interval Arithmetic", by Don Mitchell, pp. 68-74 in the Proceedings of Graphics Interface '90, Canadian Infor- mation Processing Society (Toronto), 1990. focuses in particular on root-finding when intersecting a ray with an implicit surface. Mathematical and pictorial examples of tracing super- quadrics are given, along with data on the time-cost of intersections (when run on a SPARCstation). There's also some discussion of using the method for CSG. Finally, this thesis- "Implementation of a Ray-Tracing Algorithm for Rendering Superquadric Solids", Bruce Edwards, Masters Thesis and Technical Report TR-82018, Rensselaer Polytechnic Institute (Troy, NY), December 1982. probably goes into more detail than either of the papers mentioned above. Hope this helps. ------------------------------------------------------------------------------ | Rick Speer | "Can I try another world?" - Question overheard | | speer@anchor.colorado.edu| from a guy trying out the system at the VPL | | | Research (virtual reality) booth at Siggraph. | ------------------------------------------------------------------------------
erich@eye.com ( Eric Haines) (10/29/90)
Rick gave a good answer to a request for information on how to ray trace superquadrics. Here are some comments on his references. In article <28825@boulder.Colorado.EDU> speer@boulder.Colorado.EDU (Rick Speer) writes: > > "An Introduction to Ray Tracing", by Roman Kuchkuda, pp. 1039-60 in > Theoretical Foundations of Computer Graphics and CAD, R. A. Earnshaw, > Ed., Springer-Verlag, 1988. > >is a good introduction to the tracing of superquadrics. In addition to >the usual overview material it gives actual source code, in C. This code can be found in electronic form in Craig Kolb (& Roman Kuchkuda's and others) RayShade ray tracer. It works for the simple test cases I tried, but I wouldn't bet my life on its stability for concave superquadrics. The site weedeater.math.yale.edu [130.132.23.17] has RayShade available via anonymous FTP. > "Robust Ray Tracing with Interval Arithmetic", by Don Mitchell, pp. > 68-74 in the Proceedings of Graphics Interface '90, Canadian Infor- > mation Processing Society (Toronto), 1990. Interesting paper, though I admit to not having tried its method yet. Looks like a great general method for superquadrics and whole families of surfaces. My favorite paper of this proceedings. >Finally, this thesis- > > "Implementation of a Ray-Tracing Algorithm for Rendering Superquadric > Solids", Bruce Edwards, Masters Thesis and Technical Report TR-82018, > Rensselaer Polytechnic Institute (Troy, NY), December 1982. > >probably goes into more detail than either of the papers mentioned >above. My recollection of this thesis (I wanted to add superquadrics to the ray tracer when I first got to Cornell in 1983) is that there is less than a page on actually intersecting the beasts! Essentially, it says something like "use Newton's method to find the roots" and gives a reference. The reference says "private discussions with Al Barr". Not exactly revealing. Eric Haines, erich@eye.com
markv@gauss.Princeton.EDU (Mark VandeWettering) (10/30/90)
>> "Robust Ray Tracing with Interval Arithmetic", by Don Mitchell, pp. >> 68-74 in the Proceedings of Graphics Interface '90, Canadian Infor- >> mation Processing Society (Toronto), 1990. > > Interesting paper, though I admit to not having tried its method yet. >Looks like a great general method for superquadrics and whole families of >surfaces. My favorite paper of this proceedings. Very interesting paper, but I believe that the convergence of the method is quite slow, even slower than bisection. I coded up a version of it for the MTV raytracer, and was testing it out when it was clear it was converging VERY slowly. If anyone has some hints, or wants to discuss this further, send me some email. The reason I was interested in this scheme is that it would allow you to trace non-linear rays (rays could be generalized to space curves) which would allow more generic transformations of objects (ala Al Barr). You can use geometrical properties of the superquadric to figure out intersections. There can be at most two intersections in any octant of the superquad, so a primitive method would be to handle each octant separately and then use some favorite numerical method (Newtons or bisection) to home in on the roots. Mark (markv@acm.princeton.edu) Mark VandeWettering markv@acm.princeton.edu
carter@IASTATE.EDU (Carter Michael Brannon) (10/31/90)
I was just digging through my literature and finally came up with the reference that was stuck in the back of my mind. I cannot vouch for the speed of this method, but here's the ref. Kalra, Devendra, and Alan H. Barr, "Guaranteed Ray Intersections with Implicit Surfaces," Computer Graphics, Vol. 23, No. 3, July 1989. This method uses Lipschitz conditions to intersect ANY implicit surface. It always finds the closest (or subsequent) intersection points -- even in badly behaved functions. There are also some really neat pictures of blended objects in the paper. -- Michael B. Carter