home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Programming / Assembler / dse-src3.dms / in.adf / Text / jello.txt < prev   
Encoding:
Text File  |  1993-01-06  |  8.0 KB  |  207 lines

  1. RAY TRACING JELL-O BRAND GELATIN
  2.  
  3. Copyright 1988 ACM
  4. Reprinted with permission from Communications of the ACM, February 1988.
  5.  
  6. New technology is presented for imaging a restricted class of
  7. dessert foods.
  8.  
  9. Paul S. Heckbert
  10.  
  11. Ray tracing has established itself in recent years as the most general
  12. image-synthesis algorithm [10].  Researchers have investigated
  13. ray-surface intersection calculations for a number of surface
  14. primitives.  These have included checkerboards [Whitted 80]; chrome
  15. balls [Whitted 80]; glass balls [Whitted 80]; robot arms [Barr 82];
  16. blue abstract things [Hanrahan 82]; more glass balls [Watterberg 83];
  17. mandrills [Watterberg 83]; more mandrills [Sweeney 83]; green fractal
  18. hills [Kajiya 83]; more glass balls [SEDIC 83]; aquatic blobby things
  19. [Kaw 83]; more chrome balls [Heckbert 83]; pool balls [Portner 84];
  20. more glass balls [Kajiya 86].
  21.  
  22. Unfortunately, nobody has ray traced any food.  So far, the most
  23. realistic foods were Blinn's classic orange and strawberry images, but
  24. these were created with a scan-line algorithm [2].  The Dessert
  25. Realism Project at Pixar is addressing this problem.  This article
  26. presents new technology for ray tracing a restricted class of dessert
  27. foods, in particular Jell-O(1) brand gelatin.  We believe this method
  28. may have application to other brands of gelatin and, perhaps, pudding
  29. as well.
  30.  
  31. This article is divided into three parts:  methods for modeling static
  32. Jell-O, simulation of Jell-O motion using impressive mathematics, and
  33. ray-Jell-O intersection calculations.
  34.  
  35. JELL-O SHAPE
  36.  
  37. To model static Jell-O, we employ a new synthesis technique wherein
  38. attributes are added one at a time using abstract object-oriented
  39. classes we call ingredients.  Ingredient attributes are combined
  40. during a preprocessing pass to accumulate the desired set of material
  41. properties (consistency, taste, torsional strength, flame resistance,
  42. refractive index, etc.).  We use the RLS orthogonal basis (rasberry,
  43. lime, and strawberry), as shown in the figure below, from which any
  44. type of Jell-O can be synthesized [9].
  45.  
  46. Ingredients are propagated through a large 3-D lattice using
  47. vectorized pipeline SIMD parallel processing in a systolic array
  48. architecture that we call the Jell-O Engine.  Furthermore, we
  49. can compute several lattice points simultaneously.  Boundary
  50. conditions are imposed along free-form surfaces to control the Jell-O
  51. shape, and the ingredients are mixed using relaxation and
  52. annealing lattice algorithms until the matrix is chilled and
  53. ready-to-eat.
  54.  
  55. JELL-O DYNAMICS
  56.  
  57. Previous researchers have observed that, under certain conditions.
  58. Jell-O wiggles [8].  We have been able to simulate these unique
  59. and complex Jell-O dynamics using spatial deformations [1] and other
  60. hairy mathematics.  From previous research with rendering systems, we
  61. have learned that a good dose of gratuitous partial differential
  62. equations is needed to meet the paper quota for impressive formulas.
  63.  
  64. Therefore, we solve the Schrodinger wave equation for the Jell-O field
  65. J:
  66.  
  67. .nf
  68.   _2    2m
  69.   V J + -- (E - V)J = 0.
  70.         h
  71. .fi
  72.  
  73. Transforming to a spherical coordinate system [7],
  74.  
  75. .nf
  76.   _       dJ      1 dJ        1   dJ
  77.   VJ = E  -- + E  - -- + E  ----- --
  78.         x dr    y r dO    z rsinO dP
  79.                                                        2
  80.   _2    1  d    2 dJ      1    d        dJ      1     d J
  81.   V J = -- -- (r  --) + ------ -- (sinO --) + ------- ---
  82.          2 dr     dr     2     dO       dO     2   2    2
  83.         r               r sinO                r sin O dP
  84. .fi
  85.  
  86. [Many of the symbols used don't appear in ASCII -- ed]
  87.  
  88. Fuller has given a concise and lucid explanation of the deviation form
  89. here:
  90.  
  91.   The "begetted" eightness as the system-limit number of the nuclear
  92.   uniqueness of self-regenerative symmetrical growth may well account
  93.   for the fundamental octave of unique interpermutative integer
  94.   effects identified as plus one, plus two, plus three, plus four,
  95.   respectively; and as minus four, minus three, minus two, minus one,
  96.   characterizing the integers five, six, seven, and eight,
  97.   respectively [3].
  98.  
  99. In other words, to a first approximation:
  100. .nf
  101. ----------------------------------------
  102.       |         J = 0.          |
  103.       |  The Jell-O(r) Equation |
  104. ----------------------------------------
  105. .fi
  106.  
  107. RAY-JELL-O INTERSECTION CALCULATION
  108.  
  109. The ray-Jell-O intersection calculations fortunately require the
  110. solution of integral equations and the simulation of Markov chains
  111. [6], so they cannot be computed efficiently.  In fact, we have proved
  112. that their solution is linear-time reducible to the traveling-salesman
  113. problem, where In is the number of Jell-O molecules, so we can be
  114. sure that ray tracing Jell-O will be practical only on a supercomputer
  115. [5].
  116.  
  117. IMPLEMENTATION
  118.  
  119. A preliminary implementation has been completed on a VAX 11/780
  120. running the UNIX(2) operating system.  To create a picture using the
  121. full Jell-O Engine simulation, we estimate that 1 CPU eon of CRAY time
  122. and a lot of hard work would be required.  We made several simplifying
  123. approximations, however, since the article is due today.  As a first
  124. approximation, we have modeled a gelatin cube governed by the
  125. first-order Jell-O equation with judiciously selected surface
  126. properties; that is, color = (0, 255, 0).  The frontispiece for this
  127. article was created with this model.
  128.  
  129. Work is underway on a complete Jell-O Engine implementation using Lisp
  130. flavors.  We will shortly begin computing a 100-by-100 image of
  131. a bowl of lime Jell-O using a roomful of Amigas [4].  The picture
  132. should be ready in time for SIGGRAPH with hours to spare.
  133.  
  134. CONCLUSIONS
  135.  
  136. Jell-O goes well with a number of other familiar objects, including
  137. mandrills, glass balls, and teapots.  The composition and animation
  138. possibilities are limited only by your imagination (personal
  139. communication by Lance Williams, 1980).  The Dessert Foods Division is
  140. generalizing the methods described here to other brands of gelatin.
  141. Future research areas include the development of algorithms for ray
  142. tracing puddings and other dessert foods.  Another outstanding problem
  143. is the suspension of fruit in Jell-O, in particular, fresh pineapple
  144. and kiwifruit.
  145.  
  146. Jell-O is:
  147.   * visually appealing
  148.   * futuristic
  149.   * hydrodynamically captivating
  150.   * tasty
  151.   * goes well with other objects.
  152.  
  153. Acknowledgements.  Thanks to Paul Haeberli for tipping back a few
  154. with me on this research and to H. B. Siegel for key observations.
  155. The SIGGRAPH technical committee also deserves thanks for recognizing
  156. that "there's always room for Jell-O.".
  157.  
  158. (1) Jell-O is a registered trademark of General Foods.
  159. (2) UNIX is a registered trademark of AT&T Bell Laboratories.
  160.  
  161. REFERENCES
  162.  
  163. 1.  Barr, a. H.  Ray tracing deformed surfaces.  SIGGRAPH 86 Proc. 20,
  164. 4 (Aug. 1986), 287-296.
  165.  
  166. 2.  Blinn, J. F.  Computer display of curved surfaces.  Ph. D. thesis.
  167. Computer Science Dept., Univ. of Utah, Salt Lake City, 1978.
  168.  
  169. 3.  Fuller, R. B.  Synergetics.  MacMillan, New York, 1975, p.
  170. 125.
  171.  
  172. 4.  Graham, E.  Graphic scene simulatons.  Amiga World (May-June
  173. 1987), 18-95.
  174.  
  175. 5.  Haeberli, P., and Heckbert, P.  A Jell-O calculus.  ACM Trans.
  176. Graph. (special issue on ray tracing moist surfaces).  Submitted 1872.
  177. To be published.
  178.  
  179. 6.  Kajiya, J. T.  The rendering equation.  SIGGRAPH 86 Proc. 20, 4
  180. (Aug. 1986), 143-150.
  181.  
  182. 7.  Plastock, R. A., and Kalley, G.  Schaum's Outline of Computer
  183. Graphics.  McGraw-Hill, New York, 1986.
  184.  
  185. 8.  Sales, S.  The Soupy Sales Show.  1966.
  186.  
  187. 9.  Weller, T.  Science Made Stupid.  Houton Mifflin, Boston
  188. Mass., 1985.
  189.  
  190. 10.  Whitted, T.  An improved illumination model for shaded display.
  191. Commun. ACM 23, 6 (June 1980), 343-349.
  192.  
  193. CR Categories and Subject Descriptors:  C.1.2 [Processor
  194. Architectures]:  Multiple Data Stream Architectures (Multiprocessors)
  195. -- array and vector processors; I.3.7 [Computer Graphics]:
  196. Three-dimensional Graphics and Realism -- color, shading,
  197. shadowing, and texture; J.3 [Computer Applications]:  Life and
  198. Medical Sciences -- health
  199.  
  200. General Terms:  Algorithms, Design, Theory
  201.  
  202. Additional Key Words And Phrases:  Food, gelatin, Jell-O, lattice
  203. algorithm, ray tracing
  204.  
  205. Author's Present Address:  Paul S. Heckbert, Dessert Foods Division,
  206. Pixar, San Rafael, CA  94913-3719.
  207.