home *** CD-ROM | disk | FTP | other *** search
/ Virtual Reality Zone / VRZONE.ISO / mac / PC / PCGLOVE / GLOVE / OBJGLV.ZIP / PROGRAMS / SOLAR / README!.NOW < prev    next >
Text File  |  1993-04-12  |  11KB  |  253 lines

  1.         Documentation for Solar System World
  2.  
  3.  
  4.  
  5. Table of Contents
  6.  
  7.  
  8.  
  9. Section 1 - Getting a black background
  10. Section 2 - General Info about the Solar System World
  11. Section 3 - If you liked this world....
  12. Section 4 - How this world was created (briefly).
  13.  
  14.  
  15. --------------------------------------------
  16.  
  17. Section 1 - Getting a black background
  18.  
  19.  
  20.  
  21. The solar system world looks a lot better with a completely
  22. black background!  I have recently released a version of
  23. demo4.zip that fixes this problem and also allows you to use TWO
  24. gloves at the same time!  This file is DEMO4B.ZIP.  You should
  25. be able to find it at the same place you found this file (or
  26. demo4.zip).  (Footnote:  DEMO4B is not yet available.  It will
  27. be available at the end of April.  Thank you for your patience.)
  28.  
  29. If you have a compiler, you can recompile devel4.zip in order to
  30. fix the problem.  Do the following to devel4.zip and recompile:
  31.  
  32. Change line 347 in world.c to read:
  33.  
  34.             sscanf(buff, "%*s %d", &sky_color);
  35.  
  36. add the following lines AFTER line 347 of world.c:
  37.  
  38.         else if (match(buff, "screenclearcolor ")) /* can have
  39. optional r,g,b at end of line */
  40.             sscanf(buff, "%*s %d", &screen_clear_color);
  41.  
  42. That's it. Black as night.
  43.  
  44.  
  45. --------------------------------------------
  46.  
  47. Section 2 - General Info about the Solar System World
  48.  
  49.  
  50. Are the planets scaled correctly?  Yes, in a sense.  It is
  51. important to realize that if the planets were scaled exactly as
  52. in real life, you'd really only be able to see one planet at a
  53. time (in any detail.)  For example, we're on planet Earth right
  54. now, and the other planets appear only as points of light.  Of
  55. course, the sun is fairly big. (See below)  The point is, if the
  56. planets were scaled EXACTLY, you would not be able to see most
  57. of the planets in the same scene.  You would need some kind of a
  58. "warp drive" vehicle to get to the other planets, or something.
  59.  
  60.  
  61. So I cheated a little bit.  I got a chart of the distances from
  62. the sun and diameters of the planets.  I decided that if I just
  63. changed the RATIO of "distance miles" to "diameter miles" I
  64. could get something that was based at least partly in fact.
  65. Relative to each other, the distance of the planets to the sun
  66. is correct.  (Example:  The distance from Jupiter to the Sun is
  67. 5 times the distance from Earth to the Sun.  This holds true in
  68. my model.)  Relative to each other, the diameter of the planets
  69. is also correct.  (Example:  The diameter of Jupiter is 11 times
  70. the diameter of Earth.  This holds true in my model.)  What is
  71. NOT proportional is the ratio of the distance from the sun to
  72. the diameter of the planet.  (Example: Distance from Earth to
  73. sun is 92,956,000 miles and diameter of Earth is 7,926 miles.
  74. The ratio of distance to diameter is 11,728.  This does not hold
  75. true in my model.)  I should also mention the sun is actually
  76. much bigger (proportionally) than I made it in the model.  It
  77. was just way too big so I shrunk it by a factor of 10 or
  78. something, I don't remember now.  In reality the Sun is way, way
  79. larger than Jupiter.  Such are the sacrifices in low-end VR.
  80.  
  81.  
  82. How about the rotational period?  It may not be immediately
  83. apparent, but even the larger planets are traveling around the
  84. Sun (watch them for minute at a close distance).  Again, the
  85. orbits are correct relative to the other planets.  It takes
  86. almost 12 "Earth" years (in "real" reality) for Jupiter to
  87. travel around the Sun.  In this "virtual" reality, Jupiter makes
  88. a complete circle once for every twelve times that the earth
  89. makes a complete circle.  Fortunately, in VR you do not have to
  90. wait 365 days for the Earth to orbit the Sun (as you do in
  91. "real" reality)!
  92.  
  93.  
  94. By the way, you have to travel out pretty far in order to get to
  95. Pluto.  You can't even see it unless you go way out to Neptune.
  96. It appears as a small white dot that moves against the
  97. stationary "stars".  If you go toward it, it will eventually
  98. materialize into a "planet."  Cool, huh?
  99.  
  100.  
  101. There are a lot of things about the solar system that are
  102. blatantly wrong.  First, there are no moons around any of the
  103. planets, no asteroid belt, no comets, and obviously the colors
  104. are very crude.  Also, the planets are "tilted" slightly in
  105. their orbits (relative to the plane of the Earth) and I didn't
  106. have the time / patience to model this.  Pluto's tilt is in fact
  107. 17.2 degrees which would be very noticeable.  The planet's
  108. orbits are elliptical in real reality, and this was not modeled.
  109.  Pluto actually gets closer to the Sun than Neptune during a
  110. large part of its orbit.  I used "average" distance from the
  111. Sun.  Saturn is not the only planet with rings, and in fact
  112. Saturn's rings are a very crude approximation.  You should be
  113. getting the picture by now.  I tried to make the model accurate
  114. enough to hold people's interest for at least a few minutes.  It
  115. might be useful educationally as introduction to the solar
  116. system but this model is by no means definitive.  You win some,
  117. you lose some.
  118.  
  119.  
  120.  
  121. --------------------------------------------
  122.  
  123. Section 3 - If you liked this world....
  124.  
  125.  
  126. Why not hire me to create your own custom world for REND386?
  127. The solar system world took me about four days.  I will
  128. guarantee that I can create ANY world with less than 1000
  129. polygons in five working days or less.  This includes object
  130. rotation as well, within the limits of "demo4.exe."  My rate for
  131. this type of work is $20/hr.  So your company can have its own
  132. custom designed world for $800.  I do not work from blueprints
  133. but rather from a general description of the world.  That is,
  134. you could order something that resembles a roller coaster but
  135. you can't order an accurate model of a B-17 bomber.  Contact
  136.  
  137.  
  138. Mark Pflaging, President
  139. Flage Labs
  140. 10 Marathon Place
  141. Romney, WV 26757
  142. (304)-822-7617
  143.  
  144. email: 70233.1552@CompuServe.COM
  145.  
  146.  
  147.  
  148. --------------------------------------------
  149.  
  150. Section 4 - How this world was created (briefly).
  151.  
  152.  
  153. First, I made some general observations about the task I had to
  154. perform.  I realized I was limited to a fixed number of
  155. polygons, somewhere between 500 and 1000.  My first thought was
  156. to divide 750 polygons into 10 spheres (nine planets plus the
  157. sun.)  I knew I'd want a few left over for Saturn's rings.  So
  158. that left 75 polygons per sphere.  I thought, "that's going to
  159. look stupid.  Jupiter, whose diameter is over 10 times that of
  160. Earth's, is going to be made of the same number of polygons?"
  161. (Keep in mind that the surface area of a sphere is proportional
  162. to the SQUARE of the diameter, making Jupiter's surface area 100
  163. times as big as the Earth's.  So I should give the bigger
  164. planets more polygons.  I found a program to generate spheres
  165. (IRIT and IRIT2PLG) but it generated the "football-type" spheres
  166. (as I call them).  They are composed of half-circles rotated
  167. about an axis.  It's an obvious way to do it, but there are
  168. "nipples" at the north and south poles which are kind of
  169. irritating.  In addition, you can only create spheres with a
  170. certain number of polygons (in other words, you can't specify
  171. that you want a sphere made out of 93 polygons.  I wrote a quick
  172. program to generate a "different" kind of sphere, what I call
  173. the "soccer-ball" type.  (Soccer balls have no "nipple", the
  174. polygons are all about the same size and shape.)  This gave me
  175. more choice when determining how many polys were going to be in
  176. each planet.  Listed below are the heavenly bodies, the number
  177. of polygons, and the type of sphere in the final world.
  178.  
  179.  
  180. Body        Polys        Type
  181. ------        ------        ------
  182. Sun        96        Soccer
  183. Mercury        32        Football
  184. Venus        54        Soccer
  185. Earth        54        Soccer
  186. Mars        32        Football
  187. Jupiter        96        Soccer
  188. Saturn        96        Soccer
  189. Uranus        72        Football
  190. Neptune        72        Football
  191. Pluto        24        Soccer
  192.  
  193. I made sure all the various spheres were of a "unit" size, then
  194. I began scaling them according to their relative sizes.  I wrote
  195. a little scaling program to do this.  Then I moved the planets
  196. according to their relative distance to the sun.  I did this by
  197. specifying translation offsets on the appropriate lines in
  198. "solarsys.wld."  (At this point I realized that I would have to
  199. choose a "diameter to distance" ratio as noted in Section 2
  200. above.)  Everything was looking good except the planets were all
  201. red and stationary.
  202.  
  203. I started experimenting with the "sculspin task" which is not
  204. actually documented in "demo4.zip", but it is pretty easy to
  205. figure out since there are a few examples in "demo4.zip".
  206. Unfortunately the planets were all rotating around their own
  207. axis instead of around the sun!  I realized I would have to
  208. write a "slide" program which offsets the coordinates in the
  209. actual ".plg" files, so I did.  In retrospect it might have been
  210. possible to do this another way...  I also knew that the loading
  211. and saving of objects in "demo4.exe" is a little bit warped, and
  212. that I was better off coloring in the planets before "sliding"
  213. them.
  214.  
  215. You can color objects using menu commands from within "demo4"
  216. itself.  Hit 'X' for "Invokes Extra Features".  Hit 'C' for
  217. "Choose Color"  Then select a color from the palette with the
  218. mouse.  Hit 'X' again, then hit 'P' for "Paint Polys".  The
  219. scene will freeze.  Move the mouse cursor to point at a polygon,
  220. then hit the left mouse button.  The polygon should change
  221. color.  You can keep painting polys until you hit a keyboard
  222. key.  You can hold down the left mouse button to paint a larger
  223. area.  I like this feature, it's really neat.
  224.  
  225. I colored the planets, added rings to Saturn with another
  226. "quickie" program I wrote, and "slid" them over.  Finally, the
  227. rotated around the sun, and the colors looked all right.  I'm
  228. sure if you were doing it, you'd have used different colors, but
  229. that's what makes the (real) world great, right? Everyone's
  230. different.  The stars have an interesting little story behind
  231. them.  Bernie Roehl had posted a 30 line program to generate a
  232. random "starfield".  Unfortunately, if there were any other
  233. objects in the world along with the starfield, the colors of
  234. those objects were essentially random.  So I let it go for a few
  235. months thinking, "someone will figure out how to fix this."
  236. Finally I heard that Todd Porter had fixed it, but I couldn't
  237. find the code on the Internet.  So I took a hard look at the
  238. generated "stars.plg" and noticed that the "polygons" were
  239. actually made up of just one vertex each!  ("Unigons" if you
  240. will.)  I had been talking with Bernie and Joe Gradecki at the
  241. VR Systems conference and I remembered Joe telling me that
  242. "bigons" (polygons with just two vertices) worked (that's how
  243. Joe did the racket in his virtual racquetball game).  So I made
  244. the "unigons" into "bigons".  Each of the "bigons" has the same
  245. beginning and ending vertex.  Viola!  It worked.
  246.  
  247.  
  248.  
  249. And on the sixth day I rested.......
  250.  
  251.  
  252.  
  253.