home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1998 April A / Pcwk4a98.iso / PROGRAM / DELPHI16 / Disp3d / TEAPOT.DOC < prev    next >
Text File  |  1995-10-08  |  6KB  |  175 lines

  1.              Drawing the Utah Teapot
  2.                    10-08-95
  3.                   Michael Day
  4.  
  5. The Utah Teapot is the classic 3D object used to teach 3D 
  6. techniques. It was originally digitized by M. Newell in 1975. 
  7. The original teapot can be found in the Boston Computer Museum. 
  8.  
  9. For more information see:
  10.  
  11. Crow F.C. (1987) The Origins of the Teapot. IEEE Computer 
  12. Graphics and Applications, 7(1), 8-19.
  13.  
  14.  
  15. The Teapot data consists of 306 world coordinate data points.
  16. The data points are divided into bicubic Bezier patches.
  17. There are a total of 32 patches. Twelve patches for the body, 
  18. four patches for the handle, four patches for the spout, eight 
  19. patches for the lid, and four patches for the bottom.
  20.  
  21. The Teapot data can be found in the file TEAPOT.DAT. The file 
  22. consists of 306 lines of text. Each line contains the vertex 
  23. number and the X, Y, and Z world coordinate value respectively.
  24.  
  25. The 32 bicubic patches are found in the file TEAPOT.PAT. The 
  26. patch file contains the 32 bicubic patches as 32 lines of text 
  27. each of which contains the 16 vertex points that define the 
  28. patches. Note that some points in the patches are null points. 
  29. You can tell these because all four points are the same value. 
  30. It's not overly important other than to be aware that they exist.
  31.  
  32.  
  33. That's all well and fine, but what's a bicubic Bezier patch? 
  34. A bicubic patch is a way of breaking down an object into easily 
  35. definable pieces. The bicubic patch contains the minimum number 
  36. of data points that can be used to define the surface. Each patch 
  37. consists of 16 data points. The points are arranged in a 4x4 
  38. matrix representing the points on a square surface. Using 16 
  39. points instead of only 4 allows the curve of the surface to be 
  40. defined. 
  41.  
  42. The bicubic points are arranged like this:
  43.  
  44.      13--14--15--16
  45.       |   |   |   |
  46.       9--10--11--12
  47.       |   |   |   |
  48.       5---6---7---8
  49.       |   |   |   |
  50.       1---2---3---4
  51.  
  52. There are any number of ways that the information can be used to 
  53. draw the object. The simplest way is to only draw the data 
  54. points. This is the fastest method since it requires minimal 
  55. math. Unfortunately, the object is typically difficult to 
  56. visualize since it requires the viewer to connect the dots in 
  57. their own mind. 
  58.  
  59. The next level up is to draw lines between the data points 
  60. defined by the bicubic patches. This connects the dots for the 
  61. observer, but doesn't provide a visual surface. There is also a 
  62. problem in that all the lines that represent the surfaces are 
  63. visible, including the surfaces that would not be visible in a 
  64. real object.
  65.  
  66. There are any number of ways to implement hidden line removal and 
  67. hidden suface removal. They are more complex subjects. I would 
  68. recommend studying various graphics texts if you are interested 
  69. in the subject. 
  70.  
  71.  
  72.  
  73.                      Graphics books
  74.  
  75. Programmers's Guide to PC and PS/2 Video Systems
  76.   ISBN: 1-55615-103-9
  77.   by Richard Wilton
  78.   Comments: The best book out there for figuring out 
  79.             how to program PC video cards. Very well
  80.             laid out and easy to read.  
  81.  
  82. Programmer's Guide to the EGA and VGA Cards
  83.   by Richard Ferraro
  84.   Comments: The book to have for SuperVGA good companion
  85.             book with the Wilton book. Use the Wilton book
  86.             for the basic stuff, use this book for the 
  87.             SuperVGA stuff.
  88.  
  89. Computer Graphics Principles and Practice (2nd ed)
  90.   ISBN: 0-201-12110-7
  91.   by Foley, vanDam, Feiner, Hughes
  92.   Comments: The Bible. Describes the whys and wherefors 
  93.             of graphics. Very little code, lots of descriptions.
  94.             If you want to know how and why things are done the
  95.             way they are, this is the book to get.  
  96.             If you are serious about doing graphics, get this book.
  97.  
  98. Graphics Gems I,II,III,IV (four books)
  99.   pub: Academic Press
  100.   Comments: Sample code for every graphic function 
  101.             your fevered mind can think of.  
  102.  
  103. Bitmapped Graphics
  104.   ISBN: 0-8306-3558-0
  105.   by Steve Rimmer
  106.   Comments: Are you doing bitmapped picture stuff 
  107.             (PCX/TIFF/etc)? Get this book.
  108.  
  109. 3D Graphics in Pascal 
  110.   ISBN: 0-471-92451-2
  111.   by G. Bielig-Schulz 
  112.   Comments: Good 3D primer (graphics 101)
  113.             If you haven't got a clue about what 3D graphics
  114.             is about, but you know Pascal. Try this book. 
  115.  
  116. Fundamentals of Three-Dimentional Computer Graphics
  117.   ISBN: 0-201-15442-0
  118.   by Alan Watt
  119.   Comments: Excellant book on ray tracing.
  120.             If you want to start doing ray tracing stuff, 
  121.             get this book.
  122.  
  123. An Introduction to Ray Tracing
  124.   ISBN: 0-12-286160-4
  125.   by Andrew Glassner
  126.   Comments: Heavy on the Math. If you want to know the 
  127.             math behind ray tracing this is the book to get. 
  128.  
  129. Advanced Graphics Programming In Turbo Pascal 
  130.   ISBN: 1-55851-131-8
  131.   by Roger Stevens
  132.   Comments: Turbo Pascal code for doing 3D graphics.
  133.  
  134. Fractal Programming in Turbo Pascal
  135.   ISBN: 1-55851-107-5
  136.   by Roger Stevens
  137.   Comments: Worth having if you are doing fractals
  138.  
  139. CRC Handbook of Mathmatical Curves and Surfaces
  140.   ISBN: 0-8493-0155-6
  141.   by David H. von Seggern
  142.   Comments: If you can't figure out what this is 
  143.             from the title, you don't want it. 
  144.  
  145. Computer Graphics a Programming Approach
  146.   ISBN: 0-07-026753-7
  147.   by Steven Harrington
  148.   Comments: Good advanced 3D info. If you can't figure 
  149.             out the other 3D books, try this one.
  150.  
  151. Computer Graphics
  152.   ISBN: 0-13-165382-2
  153.   by Donald Hearn, Pauline Baker
  154.   Comments: Graphics 102. If you find the primers too 
  155.             insulting and the advanced text too hard
  156.             try this book. 
  157.  
  158. Tricks of the Graphics Gurus
  159.   ISBN: 0-672-30308-6
  160.   by Dick Oliver, Scott Anderson, James McCord, 
  161.      Spyro Gumas, and Bob Zigon
  162.   Comments: Describes the popular graphics formats 
  163.             (TIFF, PCX, GIF, and a few others.
  164.             Has good description of doing 2D and 3D animation.
  165.             Get this one with the included software to really
  166.              be useful.
  167.  
  168. Practical Ray Tracing in C
  169.   ISBN: 0-471-57301-9
  170.   by Craig A. Lindley
  171.   Comments: Want to learn how to do ray tracing? Try this book.
  172.  
  173.  
  174.  
  175.