home *** CD-ROM | disk | FTP | other *** search
/ PDA Software Library / pdasoftwarelib.iso / PSION / 1997 / 891.ZIP / README.TXT < prev   
Encoding:
Text File  |  1997-01-21  |  5.3 KB  |  101 lines

  1. *** GlobeCs v1.0 - What is it? 
  2. It is a 3D vector graph of the globe. The globe is turnable, the display is 
  3. zoomable and scrollable. The program is small, relatively quick.
  4.  
  5. *** Installation and use, legal status 
  6. Put files in the following directories: \APP\GLOBECS.OPA, \OPD\GLOBECS.ODB, 
  7. with Psion-I (English version) install the OPA. It's all. I hope the menu is 
  8. self-explanatory enough. 
  9.  
  10. GlobeCs is a Public Domain, if you use it, or its parts in your own programs, 
  11. please credit me. Use it as is, there are no registration and support for. 
  12.  
  13. *** HW requirements 
  14. Psion3a (but I guess it runs on 3c and Siena too), needs approx. 30-40 kB 
  15. memory to run, plus the PIC size, which depends on globe radius (max. 51 kB). 
  16.  
  17. *** Data representation and vectorization 
  18. The coastline of continents and islands and some big lakes is given like ODB 
  19. file in binary form. Each point of the coastline represented by two integers 
  20. (absolute longitude and latitude in degrees, West and South is negative), the 
  21. end of a polyline indicated by two zeros. The usual step between the break-
  22. points is not greater then 7 degree (i.e. 3 bit, in this way it would be 
  23. possible to save components of a relative vector with their signs in 1 byte, 
  24. but the unpacking is a surplus time consuming procedure). Some attempt made to 
  25. keep continous line even in case of near islands. In this sense I am proud of 
  26. the Sumatra, Java and Lesser Sundas, the British-Irish Islands as well as 
  27. US-Canada Great Lakes but the Philippines turned out not very well. Presently 
  28. the file consists about 1500 points. By now is missing some islands in Arctic 
  29. Ocean, it means 300-400 additional points. 
  30.  
  31. *** Computation and speed 
  32. The rotation of globe and calculation of visible/hidden points requires much 
  33. trigonometry beyond the spherical-Cartesian transformation. For speed-up the 
  34. code I used the following tricks: 
  35. - almost all repeated calculations are in 2 or 4 byte integer arithmetic, 
  36. - pre-tabulated SIN for range 1-89 degrees with step 1, normalized to 1024 as 
  37. integer, look-up of SIN and COS for any whole number degree angle in this 
  38. table, 
  39. - procedure CACHEing.
  40. All of this together resulted about 10-12 times faster run. 
  41. I decided not to use gPOLY, and gUPDATE OFF because prior to draw a step is 
  42. necessary to make a great many calculations, and the speed increase was not 
  43. very significant. But it is very nice to see how 3a plots point-by-point! 
  44.  
  45. The initial preparation of SIN table and dark background takes 7 sec. The time
  46. of plot recently is approx. 44 sec. This last value practically does not depend 
  47. on the globe size, and the view point. 
  48.  
  49. *** Features in use 
  50. The user can jump to any view point in the Earth. It is possible to move the 
  51. view point by optional 1,2,...,45 degree steps in N, E, S and W directions too.
  52. Thanks to vector graphics, the zooming is very easy. The optional globe radius
  53. is from 80 pixels (you can see the whole globe in the display) to 320 pixels 
  54. (wider, than the 3a display), varies with 40 pixels steps. The program 
  55. calculates and plots the map outside the visible display too. After finish the
  56. plot the actual map is scrollable by arrow keys. The map can be saved as a PIC 
  57. file to the \PIC directory too. The filename is forming from the actual view 
  58. point coordinates. 
  59.  
  60. *** Other programming remarks, reverse engineering
  61. The 1024 SIN normalization factor comes from the following considerations:
  62. - this value is enough big to get accurate x and y coordinates on display,
  63. - if you multiply 3 such SIN or COS values, you are still in long integer
  64. range, because (2^10)^3 < (2^8)^4.
  65.  
  66. I ENCOURAGE to make reverse tanslation. The majority of variables is GLOBAL, 
  67. and the global names you can get back by e.g. REVTRAN. All variable and 
  68. procedure names are transparent, or understandable by menu.
  69.  
  70. *** Future plans 
  71. - to complete the missing islands' data, 
  72. - to show the daylight and dark areas on the globe depending on actual date and 
  73. time in form of ellipse or sickle at the grey layer of bitmap; this could be 
  74. processed and updated separately from the black layer, 
  75. - to stole city coordinates from ROM/World files, and put cities on the globe, 
  76. - further probable speed increase by store instead of angles the normalized to 
  77. 1024 SIN and COS values of longitude and latitude for each point,  
  78. - long-range fly display (input departure and arrival points and times, get 
  79. great-circle path, with moving in time sign of the aircraft - pocket version 
  80. of the big on-board screens), etc. 
  81.  
  82. *** Similar programs 
  83. D. Rushall's Solun 3 in registred version is able to show the 3D globe map. I 
  84. have seen only its display hardcopy, but as I understood, that globe is fixed 
  85. size. Am I wrong? J. McAleey's W2 program does for 2D map case the daylight/
  86. dark screen.  
  87.  
  88. *** Author 
  89. I am engineer-physicist, my hobby is the handheld and personal computing. 
  90. I live in Szekszard (18 42E, 46 20N :-), Hungary. 
  91. A Psion3a belongs to me only since last spring (the earlier pocket pet was the
  92. Atari Portfolio). Since I made some family photo galeries, animations with 
  93. asinchrone sound, Hungarian phonemes and rules to A. Clapham PsionSpech 
  94. program, etc. 
  95.  
  96. I welcome ideas and suggestions about ROM/World data handling as well as 
  97. other comments. Enjoy our globe in 3D! 
  98.  
  99. Andras Cserhati 
  100. cserhati@tea.npp.hu
  101.