home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / tolkit45.zip / os2tk45 / samples / opengl / glutdemo / dolphin.c < prev    next >
C/C++ Source or Header  |  1999-05-11  |  57KB  |  1,984 lines

  1. /**
  2.  * (c) Copyright 1993, 1994, Silicon Graphics, Inc.
  3.  * ALL RIGHTS RESERVED
  4.  * Permission to use, copy, modify, and distribute this software for
  5.  * any purpose and without fee is hereby granted, provided that the above
  6.  * copyright notice appear in all copies and that both the copyright notice
  7.  * and this permission notice appear in supporting documentation, and that
  8.  * the name of Silicon Graphics, Inc. not be used in advertising
  9.  * or publicity pertaining to distribution of the software without specific,
  10.  * written prior permission.
  11.  *
  12.  * THE MATERIAL EMBODIED ON THIS SOFTWARE IS PROVIDED TO YOU "AS-IS"
  13.  * AND WITHOUT WARRANTY OF ANY KIND, EXPRESS, IMPLIED OR OTHERWISE,
  14.  * INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY OR
  15.  * FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL SILICON
  16.  * GRAPHICS, INC.  BE LIABLE TO YOU OR ANYONE ELSE FOR ANY DIRECT,
  17.  * SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY
  18.  * KIND, OR ANY DAMAGES WHATSOEVER, INCLUDING WITHOUT LIMITATION,
  19.  * LOSS OF PROFIT, LOSS OF USE, SAVINGS OR REVENUE, OR THE CLAIMS OF
  20.  * THIRD PARTIES, WHETHER OR NOT SILICON GRAPHICS, INC.  HAS BEEN
  21.  * ADVISED OF THE POSSIBILITY OF SUCH LOSS, HOWEVER CAUSED AND ON
  22.  * ANY THEORY OF LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE
  23.  * POSSESSION, USE OR PERFORMANCE OF THIS SOFTWARE.
  24.  *
  25.  * US Government Users Restricted Rights
  26.  * Use, duplication, or disclosure by the Government is subject to
  27.  * restrictions set forth in FAR 52.227.19(c)(2) or subparagraph
  28.  * (c)(1)(ii) of the Rights in Technical Data and Computer Software
  29.  * clause at DFARS 252.227-7013 and/or in similar or successor
  30.  * clauses in the FAR or the DOD or NASA FAR Supplement.
  31.  * Unpublished-- rights reserved under the copyright laws of the
  32.  * United States.  Contractor/manufacturer is Silicon Graphics,
  33.  * Inc., 2011 N.  Shoreline Blvd., Mountain View, CA 94039-7311.
  34.  *
  35.  * OpenGL(TM) is a trademark of Silicon Graphics, Inc.
  36.  */
  37. #include <gl.h>
  38. #include <math.h>
  39. #include "atlantis.h"
  40. /* *INDENT-OFF* */
  41. static float N001[3] = {-0.005937 ,-0.101998 ,-0.994767};
  42. static float N002[3] = {0.936780 ,-0.200803 ,0.286569};
  43. static float N003[3] = {-0.233062 ,0.972058 ,0.028007};
  44. static float N004[3] = {0.000000 ,1.000000 ,0.000000};
  45. static float N005[3] = {0.898117 ,0.360171 ,0.252315};
  46. static float N006[3] = {-0.915437 ,0.348456 ,0.201378};
  47. static float N007[3] = {0.602263 ,-0.777527 ,0.180920};
  48. static float N008[3] = {-0.906912 ,-0.412015 ,0.088061};
  49. static float N009[3] = {-0.015623 ,0.999878 ,0.000000};
  50. static float N010[3] = {0.000000 ,-0.992278 ,0.124035};
  51. static float N011[3] = {0.000000 ,-0.936329 ,-0.351123};
  52. static float N012[3] = {0.884408 ,-0.429417 ,-0.182821};
  53. static float N013[3] = {0.921121 ,0.311084 ,-0.234016};
  54. static float N014[3] = {0.382635 ,0.877882 ,-0.287948};
  55. static float N015[3] = {-0.380046 ,0.888166 ,-0.258316};
  56. static float N016[3] = {-0.891515 ,0.392238 ,-0.226607};
  57. static float N017[3] = {-0.901419 ,-0.382002 ,-0.203763};
  58. static float N018[3] = {-0.367225 ,-0.911091 ,-0.187243};
  59. static float N019[3] = {0.339539 ,-0.924846 ,-0.171388};
  60. static float N020[3] = {0.914706 ,-0.378617 ,-0.141290};
  61. static float N021[3] = {0.950662 ,0.262713 ,-0.164994};
  62. static float N022[3] = {0.546359 ,0.801460 ,-0.243218};
  63. static float N023[3] = {-0.315796 ,0.917068 ,-0.243431};
  64. static float N024[3] = {-0.825687 ,0.532277 ,-0.186875};
  65. static float N025[3] = {-0.974763 ,-0.155232 ,-0.160435};
  66. static float N026[3] = {-0.560596 ,-0.816658 ,-0.137119};
  67. static float N027[3] = {0.380210 ,-0.910817 ,-0.160786};
  68. static float N028[3] = {0.923772 ,-0.358322 ,-0.135093};
  69. static float N029[3] = {0.951202 ,0.275053 ,-0.139859};
  70. static float N030[3] = {0.686099 ,0.702548 ,-0.188932};
  71. static float N031[3] = {-0.521865 ,0.826719 ,-0.210220};
  72. static float N032[3] = {-0.923820 ,0.346739 ,-0.162258};
  73. static float N033[3] = {-0.902095 ,-0.409995 ,-0.134646};
  74. static float N034[3] = {-0.509115 ,-0.848498 ,-0.144404};
  75. static float N035[3] = {0.456469 ,-0.880293 ,-0.129305};
  76. static float N036[3] = {0.873401 ,-0.475489 ,-0.105266};
  77. static float N037[3] = {0.970825 ,0.179861 ,-0.158584};
  78. static float N038[3] = {0.675609 ,0.714187 ,-0.183004};
  79. static float N039[3] = {-0.523574 ,0.830212 ,-0.191360};
  80. static float N040[3] = {-0.958895 ,0.230808 ,-0.165071};
  81. static float N041[3] = {-0.918285 ,-0.376803 ,-0.121542};
  82. static float N042[3] = {-0.622467 ,-0.774167 ,-0.114888};
  83. static float N043[3] = {0.404497 ,-0.908807 ,-0.102231};
  84. static float N044[3] = {0.930538 ,-0.365155 ,-0.027588};
  85. static float N045[3] = {0.921920 ,0.374157 ,-0.100345};
  86. static float N046[3] = {0.507346 ,0.860739 ,0.041562};
  87. static float N047[3] = {-0.394646 ,0.918815 ,-0.005730};
  88. static float N048[3] = {-0.925411 ,0.373024 ,-0.066837};
  89. static float N049[3] = {-0.945337 ,-0.322309 ,-0.049551};
  90. static float N050[3] = {-0.660437 ,-0.750557 ,-0.022072};
  91. static float N051[3] = {0.488835 ,-0.871950 ,-0.027261};
  92. static float N052[3] = {0.902599 ,-0.421397 ,0.087969};
  93. static float N053[3] = {0.938636 ,0.322606 ,0.122020};
  94. static float N054[3] = {0.484605 ,0.871078 ,0.079878};
  95. static float N055[3] = {-0.353607 ,0.931559 ,0.084619};
  96. static float N056[3] = {-0.867759 ,0.478564 ,0.134054};
  97. static float N057[3] = {-0.951583 ,-0.296030 ,0.082794};
  98. static float N058[3] = {-0.672355 ,-0.730209 ,0.121384};
  99. static float N059[3] = {0.528336 ,-0.842452 ,0.105525};
  100. static float N060[3] = {0.786913 ,-0.564760 ,0.248627};
  101. static float N061[3] = {0.000000 ,1.000000 ,0.000000};
  102. static float N062[3] = {0.622098 ,0.765230 ,0.165584};
  103. static float N063[3] = {-0.631711 ,0.767816 ,0.106773};
  104. static float N064[3] = {-0.687886 ,0.606351 ,0.398938};
  105. static float N065[3] = {-0.946327 ,-0.281623 ,0.158598};
  106. static float N066[3] = {-0.509549 ,-0.860437 ,0.002776};
  107. static float N067[3] = {0.462594 ,-0.876692 ,0.131977};
  108. static float N068[3] = {0.000000 ,-0.992278 ,0.124035};
  109. static float N069[3] = {0.000000 ,-0.970143 ,-0.242536};
  110. static float N070[3] = {0.015502 ,0.992159 ,-0.124020};
  111. static float N071[3] = {0.000000 ,1.000000 ,0.000000};
  112. static float N072[3] = {0.000000 ,1.000000 ,0.000000};
  113. static float N073[3] = {0.000000 ,1.000000 ,0.000000};
  114. static float N074[3] = {0.000000 ,-1.000000 ,0.000000};
  115. static float N075[3] = {-0.242536 ,0.000000 ,-0.970143};
  116. static float N076[3] = {-0.010336 ,-0.992225 ,-0.124028};
  117. static float N077[3] = {-0.880770 ,0.461448 ,0.106351};
  118. static float N078[3] = {-0.880770 ,0.461448 ,0.106351};
  119. static float N079[3] = {-0.880770 ,0.461448 ,0.106351};
  120. static float N080[3] = {-0.880770 ,0.461448 ,0.106351};
  121. static float N081[3] = {-0.571197 ,0.816173 ,0.087152};
  122. static float N082[3] = {-0.880770 ,0.461448 ,0.106351};
  123. static float N083[3] = {-0.571197 ,0.816173 ,0.087152};
  124. static float N084[3] = {-0.571197 ,0.816173 ,0.087152};
  125. static float N085[3] = {-0.880770 ,0.461448 ,0.106351};
  126. static float N086[3] = {-0.571197 ,0.816173 ,0.087152};
  127. static float N087[3] = {-0.880770 ,0.461448 ,0.106351};
  128. static float N088[3] = {-0.880770 ,0.461448 ,0.106351};
  129. static float N089[3] = {-0.880770 ,0.461448 ,0.106351};
  130. static float N090[3] = {-0.880770 ,0.461448 ,0.106351};
  131. static float N091[3] = {0.000000 ,1.000000 ,0.000000};
  132. static float N092[3] = {0.000000 ,1.000000 ,0.000000};
  133. static float N093[3] = {0.000000 ,1.000000 ,0.000000};
  134. static float N094[3] = {1.000000 ,0.000000 ,0.000000};
  135. static float N095[3] = {-1.000000 ,0.000000 ,0.000000};
  136. static float N096[3] = {0.000000 ,1.000000 ,0.000000};
  137. static float N097[3] = {-0.697296 ,0.702881 ,0.140491};
  138. static float N098[3] = {0.918864 ,0.340821 ,0.198819};
  139. static float N099[3] = {-0.932737 ,0.201195 ,0.299202};
  140. static float N100[3] = {0.029517 ,0.981679 ,0.188244};
  141. static float N101[3] = {0.000000 ,1.000000 ,0.000000};
  142. static float N102[3] = {0.813521 ,-0.204936 ,0.544229};
  143. static float N103[3] = {0.000000 ,1.000000 ,0.000000};
  144. static float N104[3] = {0.000000 ,1.000000 ,0.000000};
  145. static float N105[3] = {0.000000 ,1.000000 ,0.000000};
  146. static float N106[3] = {0.000000 ,1.000000 ,0.000000};
  147. static float N107[3] = {0.000000 ,1.000000 ,0.000000};
  148. static float N108[3] = {0.000000 ,1.000000 ,0.000000};
  149. static float N109[3] = {0.000000 ,1.000000 ,0.000000};
  150. static float N110[3] = {-0.781480 ,-0.384779 ,0.491155};
  151. static float N111[3] = {-0.722243 ,0.384927 ,0.574627};
  152. static float N112[3] = {-0.752278 ,0.502679 ,0.425901};
  153. static float N113[3] = {0.547257 ,0.367910 ,0.751766};
  154. static float N114[3] = {0.725949 ,-0.232568 ,0.647233};
  155. static float N115[3] = {-0.747182 ,-0.660786 ,0.071280};
  156. static float N116[3] = {0.931519 ,0.200748 ,0.303270};
  157. static float N117[3] = {-0.828928 ,0.313757 ,0.463071};
  158. static float N118[3] = {0.902554 ,-0.370967 ,0.218587};
  159. static float N119[3] = {-0.879257 ,-0.441851 ,0.177973};
  160. static float N120[3] = {0.642327 ,0.611901 ,0.461512};
  161. static float N121[3] = {0.964817 ,-0.202322 ,0.167910};
  162. static float N122[3] = {0.000000 ,1.000000 ,0.000000};
  163. static float N123[3] = {-0.980734 ,0.041447 ,0.190900};
  164. static float N124[3] = {-0.980734 ,0.041447 ,0.190900};
  165. static float N125[3] = {-0.980734 ,0.041447 ,0.190900};
  166. static float N126[3] = {0.000000 ,1.000000 ,0.000000};
  167. static float N127[3] = {0.000000 ,1.000000 ,0.000000};
  168. static float N128[3] = {0.000000 ,1.000000 ,0.000000};
  169. static float N129[3] = {0.963250 ,0.004839 ,0.268565};
  170. static float N130[3] = {0.963250 ,0.004839 ,0.268565};
  171. static float N131[3] = {0.963250 ,0.004839 ,0.268565};
  172. static float N132[3] = {0.000000 ,1.000000 ,0.000000};
  173. static float N133[3] = {0.000000 ,1.000000 ,0.000000};
  174. static float N134[3] = {0.000000 ,1.000000 ,0.000000};
  175. static float P001[3] = {5.68, -300.95, 1324.70};
  176. static float P002[3] = {338.69, -219.63, 9677.03};
  177. static float P003[3] = {12.18, 474.59, 9138.14};
  178. static float P004[3] = {-7.49, -388.91, 10896.74};
  179. static float P005[3] = {487.51, 198.05, 9350.78};
  180. static float P006[3] = {-457.61, 68.74, 9427.85};
  181. static float P007[3] = {156.52, -266.72, 10311.68};
  182. static float P008[3] = {-185.56, -266.51, 10310.47};
  183. static float P009[3] = {124.39, -261.46, 1942.34};
  184. static float P010[3] = {-130.05, -261.46, 1946.03};
  185. static float P011[3] = {141.07, -320.11, 1239.38};
  186. static float P012[3] = {156.48, -360.12, 2073.41};
  187. static float P013[3] = {162.00, -175.88, 2064.44};
  188. static float P014[3] = {88.16, -87.72, 2064.02};
  189. static float P015[3] = {-65.21, -96.13, 2064.02};
  190. static float P016[3] = {-156.48, -180.96, 2064.44};
  191. static float P017[3] = {-162.00, -368.93, 2082.39};
  192. static float P018[3] = {-88.16, -439.22, 2082.39};
  193. static float P019[3] = {65.21, -440.32, 2083.39};
  194. static float P020[3] = {246.87, -356.02, 2576.95};
  195. static float P021[3] = {253.17, -111.15, 2567.15};
  196. static float P022[3] = {132.34, 51.41, 2559.84};
  197. static float P023[3] = {-97.88, 40.44, 2567.15};
  198. static float P024[3] = {-222.97, -117.49, 2567.15};
  199. static float P025[3] = {-252.22, -371.53, 2569.92};
  200. static float P026[3] = {-108.44, -518.19, 2586.75};
  201. static float P027[3] = {97.88, -524.79, 2586.75};
  202. static float P028[3] = {370.03, -421.19, 3419.70};
  203. static float P029[3] = {351.15, -16.98, 3423.17};
  204. static float P030[3] = {200.66, 248.46, 3430.37};
  205. static float P031[3] = {-148.42, 235.02, 3417.91};
  206. static float P032[3] = {-360.21, -30.27, 3416.84};
  207. static float P033[3] = {-357.90, -414.89, 3407.04};
  208. static float P034[3] = {-148.88, -631.35, 3409.90};
  209. static float P035[3] = {156.38, -632.59, 3419.70};
  210. static float P036[3] = {462.61, -469.21, 4431.51};
  211. static float P037[3] = {466.60, 102.25, 4434.98};
  212. static float P038[3] = {243.05, 474.34, 4562.02};
  213. static float P039[3] = {-191.23, 474.40, 4554.42};
  214. static float P040[3] = {-476.12, 111.05, 4451.11};
  215. static float P041[3] = {-473.36, -470.74, 4444.78};
  216. static float P042[3] = {-266.95, -748.41, 4447.78};
  217. static float P043[3] = {211.14, -749.91, 4429.73};
  218. static float P044[3] = {680.57, -370.27, 5943.46};
  219. static float P045[3] = {834.01, 363.09, 6360.63};
  220. static float P046[3] = {371.29, 804.51, 6486.26};
  221. static float P047[3] = {-291.43, 797.22, 6494.28};
  222. static float P048[3] = {-784.13, 370.75, 6378.01};
  223. static float P049[3] = {-743.29, -325.82, 5943.46};
  224. static float P050[3] = {-383.24, -804.77, 5943.46};
  225. static float P051[3] = {283.47, -846.09, 5943.46};
  226. static float iP001[3] = {5.68, -300.95, 1324.70};
  227. static float iP002[3] = {338.69, -219.63, 9677.03};
  228. static float iP003[3] = {12.18, 624.93, 8956.39};
  229. static float iP004[3] = {-7.49, -388.91, 10896.74};
  230. static float iP005[3] = {487.51, 198.05, 9350.78};
  231. static float iP006[3] = {-457.61, 199.04, 9353.01};
  232. static float iP007[3] = {156.52, -266.72, 10311.68};
  233. static float iP008[3] = {-185.56, -266.51, 10310.47};
  234. static float iP009[3] = {124.39, -261.46, 1942.34};
  235. static float iP010[3] = {-130.05, -261.46, 1946.03};
  236. static float iP011[3] = {141.07, -320.11, 1239.38};
  237. static float iP012[3] = {156.48, -360.12, 2073.41};
  238. static float iP013[3] = {162.00, -175.88, 2064.44};
  239. static float iP014[3] = {88.16, -87.72, 2064.02};
  240. static float iP015[3] = {-65.21, -96.13, 2064.02};
  241. static float iP016[3] = {-156.48, -180.96, 2064.44};
  242. static float iP017[3] = {-162.00, -368.93, 2082.39};
  243. static float iP018[3] = {-88.16, -439.22, 2082.39};
  244. static float iP019[3] = {65.21, -440.32, 2083.39};
  245. static float iP020[3] = {246.87, -356.02, 2576.95};
  246. static float iP021[3] = {253.17, -111.15, 2567.15};
  247. static float iP022[3] = {132.34, 51.41, 2559.84};
  248. static float iP023[3] = {-97.88, 40.44, 2567.15};
  249. static float iP024[3] = {-222.97, -117.49, 2567.15};
  250. static float iP025[3] = {-252.22, -371.53, 2569.92};
  251. static float iP026[3] = {-108.44, -518.19, 2586.75};
  252. static float iP027[3] = {97.88, -524.79, 2586.75};
  253. static float iP028[3] = {370.03, -421.19, 3419.70};
  254. static float iP029[3] = {351.15, -16.98, 3423.17};
  255. static float iP030[3] = {200.66, 248.46, 3430.37};
  256. static float iP031[3] = {-148.42, 235.02, 3417.91};
  257. static float iP032[3] = {-360.21, -30.27, 3416.84};
  258. static float iP033[3] = {-357.90, -414.89, 3407.04};
  259. static float iP034[3] = {-148.88, -631.35, 3409.90};
  260. static float iP035[3] = {156.38, -632.59, 3419.70};
  261. static float iP036[3] = {462.61, -469.21, 4431.51};
  262. static float iP037[3] = {466.60, 102.25, 4434.98};
  263. static float iP038[3] = {243.05, 474.34, 4562.02};
  264. static float iP039[3] = {-191.23, 474.40, 4554.42};
  265. static float iP040[3] = {-476.12, 111.05, 4451.11};
  266. static float iP041[3] = {-473.36, -470.74, 4444.78};
  267. static float iP042[3] = {-266.95, -748.41, 4447.78};
  268. static float iP043[3] = {211.14, -749.91, 4429.73};
  269. static float iP044[3] = {680.57, -370.27, 5943.46};
  270. static float iP045[3] = {834.01, 363.09, 6360.63};
  271. static float iP046[3] = {371.29, 804.51, 6486.26};
  272. static float iP047[3] = {-291.43, 797.22, 6494.28};
  273. static float iP048[3] = {-784.13, 370.75, 6378.01};
  274. static float iP049[3] = {-743.29, -325.82, 5943.46};
  275. static float iP050[3] = {-383.24, -804.77, 5943.46};
  276. static float iP051[3] = {283.47, -846.09, 5943.46};
  277. static float P052[3] = {599.09, -300.15, 7894.03};
  278. static float P053[3] = {735.48, 306.26, 7911.92};
  279. static float P054[3] = {246.22, 558.53, 8460.50};
  280. static float P055[3] = {-230.41, 559.84, 8473.23};
  281. static float P056[3] = {-698.66, 320.83, 7902.59};
  282. static float P057[3] = {-643.29, -299.16, 7902.59};
  283. static float P058[3] = {-341.47, -719.30, 7902.59};
  284. static float P059[3] = {252.57, -756.12, 7902.59};
  285. static float P060[3] = {458.39, -265.31, 9355.44};
  286. static float P061[3] = {433.38, -161.90, 9503.03};
  287. static float P062[3] = {224.04, 338.75, 9450.30};
  288. static float P063[3] = {-165.71, 341.04, 9462.35};
  289. static float P064[3] = {-298.11, 110.13, 10180.37};
  290. static float P065[3] = {-473.99, -219.71, 9355.44};
  291. static float P066[3] = {-211.97, -479.87, 9355.44};
  292. static float P067[3] = {192.86, -491.45, 9348.73};
  293. static float P068[3] = {-136.29, -319.84, 1228.73};
  294. static float P069[3] = {1111.17, -314.14, 1314.19};
  295. static float P070[3] = {-1167.34, -321.61, 1319.45};
  296. static float P071[3] = {1404.86, -306.66, 1235.45};
  297. static float P072[3] = {-1409.73, -314.14, 1247.66};
  298. static float P073[3] = {1254.01, -296.87, 1544.58};
  299. static float P074[3] = {-1262.09, -291.70, 1504.26};
  300. static float P075[3] = {965.71, -269.26, 1742.65};
  301. static float P076[3] = {-900.97, -276.74, 1726.07};
  302. static float iP068[3] = {-136.29, -319.84, 1228.73};
  303. static float iP069[3] = {1111.17, -314.14, 1314.19};
  304. static float iP070[3] = {-1167.34, -321.61, 1319.45};
  305. static float iP071[3] = {1404.86, -306.66, 1235.45};
  306. static float iP072[3] = {-1409.73, -314.14, 1247.66};
  307. static float iP073[3] = {1254.01, -296.87, 1544.58};
  308. static float iP074[3] = {-1262.09, -291.70, 1504.26};
  309. static float iP075[3] = {965.71, -269.26, 1742.65};
  310. static float iP076[3] = {-900.97, -276.74, 1726.07};
  311. static float P077[3] = {1058.00, -448.81, 8194.66};
  312. static float P078[3] = {-1016.51, -456.43, 8190.62};
  313. static float P079[3] = {-1515.96, -676.45, 7754.93};
  314. static float P080[3] = {1856.75, -830.34, 7296.56};
  315. static float P081[3] = {1472.16, -497.38, 7399.68};
  316. static float P082[3] = {-1775.26, -829.51, 7298.46};
  317. static float P083[3] = {911.09, -252.51, 7510.99};
  318. static float P084[3] = {-1451.94, -495.62, 7384.30};
  319. static float P085[3] = {1598.75, -669.26, 7769.90};
  320. static float P086[3] = {-836.53, -250.08, 7463.25};
  321. static float P087[3] = {722.87, -158.18, 8006.41};
  322. static float P088[3] = {-688.86, -162.28, 7993.89};
  323. static float P089[3] = {-626.92, -185.30, 8364.98};
  324. static float P090[3] = {647.72, -189.46, 8354.99};
  325. static float P091[3] = {0.00, 835.01, 5555.62};
  326. static float P092[3] = {0.00, 1350.18, 5220.86};
  327. static float P093[3] = {0.00, 1422.94, 5285.27};
  328. static float P094[3] = {0.00, 1296.75, 5650.19};
  329. static float P095[3] = {0.00, 795.63, 6493.88};
  330. static float iP091[3] = {0.00, 835.01, 5555.62};
  331. static float iP092[3] = {0.00, 1350.18, 5220.86};
  332. static float iP093[3] = {0.00, 1422.94, 5285.27};
  333. static float iP094[3] = {0.00, 1296.75, 5650.19};
  334. static float iP095[3] = {0.00, 795.63, 6493.88};
  335. static float P096[3] = {-447.38, -165.99, 9499.60};
  336. static float P097[3] = {-194.91, -357.14, 10313.32};
  337. static float P098[3] = {135.35, -357.66, 10307.94};
  338. static float iP097[3] = {-194.91, -357.14, 10313.32};
  339. static float iP098[3] = {135.35, -357.66, 10307.94};
  340. static float P099[3] = {-380.53, -221.14, 9677.98};
  341. static float P100[3] = {0.00, 412.99, 9629.33};
  342. static float P101[3] = {5.70, 567.00, 7862.98};
  343. static float P102[3] = {59.51, -412.55, 10677.58};
  344. static float iP102[3] = {59.51, -412.55, 10677.58};
  345. static float P103[3] = {6.50, 484.74, 9009.94};
  346. static float P104[3] = {-9.86, 567.62, 7858.65};
  347. static float P105[3] = {-41.86, 476.51, 9078.17};
  348. static float P106[3] = {22.75, 568.13, 7782.83};
  349. static float P107[3] = {58.93, 568.42, 7775.94};
  350. static float P108[3] = {49.20, 476.83, 9078.24};
  351. static float P109[3] = {99.21, 566.00, 7858.65};
  352. static float P110[3] = {-187.62, -410.04, 10674.12};
  353. static float iP110[3] = {-187.62, -410.04, 10674.12};
  354. static float P111[3] = {-184.25, -318.70, 10723.88};
  355. static float iP111[3] = {-184.25, -318.70, 10723.88};
  356. static float P112[3] = {-179.61, -142.81, 10670.26};
  357. static float P113[3] = {57.43, -147.94, 10675.26};
  358. static float P114[3] = {54.06, -218.90, 10712.44};
  359. static float P115[3] = {-186.35, -212.09, 10713.76};
  360. static float P116[3] = {205.90, -84.61, 10275.97};
  361. static float P117[3] = {-230.96, -83.26, 10280.09};
  362. static float iP118[3] = {216.78, -509.17, 10098.94};
  363. static float iP119[3] = {-313.21, -510.79, 10102.62};
  364. static float P118[3] = {216.78, -509.17, 10098.94};
  365. static float P119[3] = {-313.21, -510.79, 10102.62};
  366. static float P120[3] = {217.95, 96.34, 10161.62};
  367. static float P121[3] = {71.99, -319.74, 10717.70};
  368. static float iP121[3] = {71.99, -319.74, 10717.70};
  369. static float P122[3] = {0.00, 602.74, 5375.84};
  370. static float iP122[3] = {0.00, 602.74, 5375.84};
  371. static float P123[3] = {-448.94, -203.14, 9499.60};
  372. static float P124[3] = {-442.64, -185.20, 9528.07};
  373. static float P125[3] = {-441.07, -148.05, 9528.07};
  374. static float P126[3] = {-443.43, -128.84, 9499.60};
  375. static float P127[3] = {-456.87, -146.78, 9466.67};
  376. static float P128[3] = {-453.68, -183.93, 9466.67};
  377. static float P129[3] = {428.43, -124.08, 9503.03};
  378. static float P130[3] = {419.73, -142.14, 9534.56};
  379. static float P131[3] = {419.92, -179.96, 9534.56};
  380. static float P132[3] = {431.20, -199.73, 9505.26};
  381. static float P133[3] = {442.28, -181.67, 9475.96};
  382. static float P134[3] = {442.08, -143.84, 9475.96};
  383. /* *INDENT-ON* */
  384.  
  385. void
  386. Dolphin001(void)
  387. {
  388.     glNormal3fv(N071);
  389.     glBegin(GL_POLYGON);
  390.     glVertex3fv(P001);
  391.     glVertex3fv(P068);
  392.     glVertex3fv(P010);
  393.     glEnd();
  394.     glBegin(GL_POLYGON);
  395.     glVertex3fv(P068);
  396.     glVertex3fv(P076);
  397.     glVertex3fv(P010);
  398.     glEnd();
  399.     glBegin(GL_POLYGON);
  400.     glVertex3fv(P068);
  401.     glVertex3fv(P070);
  402.     glVertex3fv(P076);
  403.     glEnd();
  404.     glBegin(GL_POLYGON);
  405.     glVertex3fv(P076);
  406.     glVertex3fv(P070);
  407.     glVertex3fv(P074);
  408.     glEnd();
  409.     glBegin(GL_POLYGON);
  410.     glVertex3fv(P070);
  411.     glVertex3fv(P072);
  412.     glVertex3fv(P074);
  413.     glEnd();
  414.     glNormal3fv(N119);
  415.     glBegin(GL_POLYGON);
  416.     glVertex3fv(P072);
  417.     glVertex3fv(P070);
  418.     glVertex3fv(P074);
  419.     glEnd();
  420.     glBegin(GL_POLYGON);
  421.     glVertex3fv(P074);
  422.     glVertex3fv(P070);
  423.     glVertex3fv(P076);
  424.     glEnd();
  425.     glBegin(GL_POLYGON);
  426.     glVertex3fv(P070);
  427.     glVertex3fv(P068);
  428.     glVertex3fv(P076);
  429.     glEnd();
  430.     glBegin(GL_POLYGON);
  431.     glVertex3fv(P076);
  432.     glVertex3fv(P068);
  433.     glVertex3fv(P010);
  434.     glEnd();
  435.     glBegin(GL_POLYGON);
  436.     glVertex3fv(P068);
  437.     glVertex3fv(P001);
  438.     glVertex3fv(P010);
  439.     glEnd();
  440. }
  441.  
  442. void
  443. Dolphin002(void)
  444. {
  445.     glNormal3fv(N071);
  446.     glBegin(GL_POLYGON);
  447.     glVertex3fv(P011);
  448.     glVertex3fv(P001);
  449.     glVertex3fv(P009);
  450.     glEnd();
  451.     glBegin(GL_POLYGON);
  452.     glVertex3fv(P075);
  453.     glVertex3fv(P011);
  454.     glVertex3fv(P009);
  455.     glEnd();
  456.     glBegin(GL_POLYGON);
  457.     glVertex3fv(P069);
  458.     glVertex3fv(P011);
  459.     glVertex3fv(P075);
  460.     glEnd();
  461.     glBegin(GL_POLYGON);
  462.     glVertex3fv(P069);
  463.     glVertex3fv(P075);
  464.     glVertex3fv(P073);
  465.     glEnd();
  466.     glBegin(GL_POLYGON);
  467.     glVertex3fv(P071);
  468.     glVertex3fv(P069);
  469.     glVertex3fv(P073);
  470.     glEnd();
  471.     glNormal3fv(N119);
  472.     glBegin(GL_POLYGON);
  473.     glVertex3fv(P001);
  474.     glVertex3fv(P011);
  475.     glVertex3fv(P009);
  476.     glEnd();
  477.     glBegin(GL_POLYGON);
  478.     glVertex3fv(P009);
  479.     glVertex3fv(P011);
  480.     glVertex3fv(P075);
  481.     glEnd();
  482.     glBegin(GL_POLYGON);
  483.     glVertex3fv(P011);
  484.     glVertex3fv(P069);
  485.     glVertex3fv(P075);
  486.     glEnd();
  487.     glBegin(GL_POLYGON);
  488.     glVertex3fv(P069);
  489.     glVertex3fv(P073);
  490.     glVertex3fv(P075);
  491.     glEnd();
  492.     glBegin(GL_POLYGON);
  493.     glVertex3fv(P069);
  494.     glVertex3fv(P071);
  495.     glVertex3fv(P073);
  496.     glEnd();
  497. }
  498.  
  499. void
  500. Dolphin003(void)
  501. {
  502.     glBegin(GL_POLYGON);
  503.     glNormal3fv(N018);
  504.     glVertex3fv(P018);
  505.     glNormal3fv(N001);
  506.     glVertex3fv(P001);
  507.     glNormal3fv(N019);
  508.     glVertex3fv(P019);
  509.     glEnd();
  510.     glBegin(GL_POLYGON);
  511.     glNormal3fv(N019);
  512.     glVertex3fv(P019);
  513.     glNormal3fv(N001);
  514.     glVertex3fv(P001);
  515.     glNormal3fv(N012);
  516.     glVertex3fv(P012);
  517.     glEnd();
  518.     glBegin(GL_POLYGON);
  519.     glNormal3fv(N017);
  520.     glVertex3fv(P017);
  521.     glNormal3fv(N001);
  522.     glVertex3fv(P001);
  523.     glNormal3fv(N018);
  524.     glVertex3fv(P018);
  525.     glEnd();
  526.     glBegin(GL_POLYGON);
  527.     glNormal3fv(N001);
  528.     glVertex3fv(P001);
  529.     glNormal3fv(N017);
  530.     glVertex3fv(P017);
  531.     glNormal3fv(N016);
  532.     glVertex3fv(P016);
  533.     glEnd();
  534.     glBegin(GL_POLYGON);
  535.     glNormal3fv(N001);
  536.     glVertex3fv(P001);
  537.     glNormal3fv(N013);
  538.     glVertex3fv(P013);
  539.     glNormal3fv(N012);
  540.     glVertex3fv(P012);
  541.     glEnd();
  542.     glBegin(GL_POLYGON);
  543.     glNormal3fv(N001);
  544.     glVertex3fv(P001);
  545.     glNormal3fv(N016);
  546.     glVertex3fv(P016);
  547.     glNormal3fv(N015);
  548.     glVertex3fv(P015);
  549.     glEnd();
  550.     glBegin(GL_POLYGON);
  551.     glNormal3fv(N001);
  552.     glVertex3fv(P001);
  553.     glNormal3fv(N014);
  554.     glVertex3fv(P014);
  555.     glNormal3fv(N013);
  556.     glVertex3fv(P013);
  557.     glEnd();
  558.     glBegin(GL_POLYGON);
  559.     glNormal3fv(N001);
  560.     glVertex3fv(P001);
  561.     glNormal3fv(N015);
  562.     glVertex3fv(P015);
  563.     glNormal3fv(N014);
  564.     glVertex3fv(P014);
  565.     glEnd();
  566. }
  567.  
  568. void
  569. Dolphin004(void)
  570. {
  571.     glBegin(GL_POLYGON);
  572.     glNormal3fv(N014);
  573.     glVertex3fv(P014);
  574.     glNormal3fv(N015);
  575.     glVertex3fv(P015);
  576.     glNormal3fv(N023);
  577.     glVertex3fv(P023);
  578.     glNormal3fv(N022);
  579.     glVertex3fv(P022);
  580.     glEnd();
  581.     glBegin(GL_POLYGON);
  582.     glNormal3fv(N015);
  583.     glVertex3fv(P015);
  584.     glNormal3fv(N016);
  585.     glVertex3fv(P016);
  586.     glNormal3fv(N024);
  587.     glVertex3fv(P024);
  588.     glNormal3fv(N023);
  589.     glVertex3fv(P023);
  590.     glEnd();
  591.     glBegin(GL_POLYGON);
  592.     glNormal3fv(N016);
  593.     glVertex3fv(P016);
  594.     glNormal3fv(N017);
  595.     glVertex3fv(P017);
  596.     glNormal3fv(N025);
  597.     glVertex3fv(P025);
  598.     glNormal3fv(N024);
  599.     glVertex3fv(P024);
  600.     glEnd();
  601.     glBegin(GL_POLYGON);
  602.     glNormal3fv(N017);
  603.     glVertex3fv(P017);
  604.     glNormal3fv(N018);
  605.     glVertex3fv(P018);
  606.     glNormal3fv(N026);
  607.     glVertex3fv(P026);
  608.     glNormal3fv(N025);
  609.     glVertex3fv(P025);
  610.     glEnd();
  611.     glBegin(GL_POLYGON);
  612.     glNormal3fv(N013);
  613.     glVertex3fv(P013);
  614.     glNormal3fv(N014);
  615.     glVertex3fv(P014);
  616.     glNormal3fv(N022);
  617.     glVertex3fv(P022);
  618.     glNormal3fv(N021);
  619.     glVertex3fv(P021);
  620.     glEnd();
  621.     glBegin(GL_POLYGON);
  622.     glNormal3fv(N012);
  623.     glVertex3fv(P012);
  624.     glNormal3fv(N013);
  625.     glVertex3fv(P013);
  626.     glNormal3fv(N021);
  627.     glVertex3fv(P021);
  628.     glNormal3fv(N020);
  629.     glVertex3fv(P020);
  630.     glEnd();
  631.     glBegin(GL_POLYGON);
  632.     glNormal3fv(N018);
  633.     glVertex3fv(P018);
  634.     glNormal3fv(N019);
  635.     glVertex3fv(P019);
  636.     glNormal3fv(N027);
  637.     glVertex3fv(P027);
  638.     glNormal3fv(N026);
  639.     glVertex3fv(P026);
  640.     glEnd();
  641.     glBegin(GL_POLYGON);
  642.     glNormal3fv(N019);
  643.     glVertex3fv(P019);
  644.     glNormal3fv(N012);
  645.     glVertex3fv(P012);
  646.     glNormal3fv(N020);
  647.     glVertex3fv(P020);
  648.     glNormal3fv(N027);
  649.     glVertex3fv(P027);
  650.     glEnd();
  651. }
  652.  
  653. void
  654. Dolphin005(void)
  655. {
  656.     glBegin(GL_POLYGON);
  657.     glNormal3fv(N022);
  658.     glVertex3fv(P022);
  659.     glNormal3fv(N023);
  660.     glVertex3fv(P023);
  661.     glNormal3fv(N031);
  662.     glVertex3fv(P031);
  663.     glNormal3fv(N030);
  664.     glVertex3fv(P030);
  665.     glEnd();
  666.     glBegin(GL_POLYGON);
  667.     glNormal3fv(N021);
  668.     glVertex3fv(P021);
  669.     glNormal3fv(N022);
  670.     glVertex3fv(P022);
  671.     glNormal3fv(N030);
  672.     glVertex3fv(P030);
  673.     glEnd();
  674.     glBegin(GL_POLYGON);
  675.     glNormal3fv(N021);
  676.     glVertex3fv(P021);
  677.     glNormal3fv(N030);
  678.     glVertex3fv(P030);
  679.     glNormal3fv(N029);
  680.     glVertex3fv(P029);
  681.     glEnd();
  682.     glBegin(GL_POLYGON);
  683.     glNormal3fv(N023);
  684.     glVertex3fv(P023);
  685.     glNormal3fv(N024);
  686.     glVertex3fv(P024);
  687.     glNormal3fv(N031);
  688.     glVertex3fv(P031);
  689.     glEnd();
  690.     glBegin(GL_POLYGON);
  691.     glNormal3fv(N024);
  692.     glVertex3fv(P024);
  693.     glNormal3fv(N032);
  694.     glVertex3fv(P032);
  695.     glNormal3fv(N031);
  696.     glVertex3fv(P031);
  697.     glEnd();
  698.     glBegin(GL_POLYGON);
  699.     glNormal3fv(N024);
  700.     glVertex3fv(P024);
  701.     glNormal3fv(N025);
  702.     glVertex3fv(P025);
  703.     glNormal3fv(N032);
  704.     glVertex3fv(P032);
  705.     glEnd();
  706.     glBegin(GL_POLYGON);
  707.     glNormal3fv(N025);
  708.     glVertex3fv(P025);
  709.     glNormal3fv(N033);
  710.     glVertex3fv(P033);
  711.     glNormal3fv(N032);
  712.     glVertex3fv(P032);
  713.     glEnd();
  714.     glBegin(GL_POLYGON);
  715.     glNormal3fv(N020);
  716.     glVertex3fv(P020);
  717.     glNormal3fv(N021);
  718.     glVertex3fv(P021);
  719.     glNormal3fv(N029);
  720.     glVertex3fv(P029);
  721.     glEnd();
  722.     glBegin(GL_POLYGON);
  723.     glNormal3fv(N020);
  724.     glVertex3fv(P020);
  725.     glNormal3fv(N029);
  726.     glVertex3fv(P029);
  727.     glNormal3fv(N028);
  728.     glVertex3fv(P028);
  729.     glEnd();
  730.     glBegin(GL_POLYGON);
  731.     glNormal3fv(N027);
  732.     glVertex3fv(P027);
  733.     glNormal3fv(N020);
  734.     glVertex3fv(P020);
  735.     glNormal3fv(N028);
  736.     glVertex3fv(P028);
  737.     glEnd();
  738.     glBegin(GL_POLYGON);
  739.     glNormal3fv(N027);
  740.     glVertex3fv(P027);
  741.     glNormal3fv(N028);
  742.     glVertex3fv(P028);
  743.     glNormal3fv(N035);
  744.     glVertex3fv(P035);
  745.     glEnd();
  746.     glBegin(GL_POLYGON);
  747.     glNormal3fv(N025);
  748.     glVertex3fv(P025);
  749.     glNormal3fv(N026);
  750.     glVertex3fv(P026);
  751.     glNormal3fv(N033);
  752.     glVertex3fv(P033);
  753.     glEnd();
  754.     glBegin(GL_POLYGON);
  755.     glNormal3fv(N033);
  756.     glVertex3fv(P033);
  757.     glNormal3fv(N026);
  758.     glVertex3fv(P026);
  759.     glNormal3fv(N034);
  760.     glVertex3fv(P034);
  761.     glEnd();
  762.     glBegin(GL_POLYGON);
  763.     glNormal3fv(N026);
  764.     glVertex3fv(P026);
  765.     glNormal3fv(N027);
  766.     glVertex3fv(P027);
  767.     glNormal3fv(N035);
  768.     glVertex3fv(P035);
  769.     glNormal3fv(N034);
  770.     glVertex3fv(P034);
  771.     glEnd();
  772. }
  773.  
  774. void
  775. Dolphin006(void)
  776. {
  777.     glBegin(GL_POLYGON);
  778.     glNormal3fv(N092);
  779.     glVertex3fv(P092);
  780.     glNormal3fv(N093);
  781.     glVertex3fv(P093);
  782.     glNormal3fv(N094);
  783.     glVertex3fv(P094);
  784.     glEnd();
  785.     glBegin(GL_POLYGON);
  786.     glNormal3fv(N093);
  787.     glVertex3fv(P093);
  788.     glNormal3fv(N092);
  789.     glVertex3fv(P092);
  790.     glNormal3fv(N094);
  791.     glVertex3fv(P094);
  792.     glEnd();
  793.     glBegin(GL_POLYGON);
  794.     glNormal3fv(N092);
  795.     glVertex3fv(P092);
  796.     glNormal3fv(N091);
  797.     glVertex3fv(P091);
  798.     glNormal3fv(N095);
  799.     glVertex3fv(P095);
  800.     glNormal3fv(N094);
  801.     glVertex3fv(P094);
  802.     glEnd();
  803.     glBegin(GL_POLYGON);
  804.     glNormal3fv(N091);
  805.     glVertex3fv(P091);
  806.     glNormal3fv(N092);
  807.     glVertex3fv(P092);
  808.     glNormal3fv(N094);
  809.     glVertex3fv(P094);
  810.     glNormal3fv(N095);
  811.     glVertex3fv(P095);
  812.     glEnd();
  813.     glBegin(GL_POLYGON);
  814.     glNormal3fv(N122);
  815.     glVertex3fv(P122);
  816.     glNormal3fv(N095);
  817.     glVertex3fv(P095);
  818.     glNormal3fv(N091);
  819.     glVertex3fv(P091);
  820.     glEnd();
  821.     glBegin(GL_POLYGON);
  822.     glNormal3fv(N122);
  823.     glVertex3fv(P122);
  824.     glNormal3fv(N091);
  825.     glVertex3fv(P091);
  826.     glNormal3fv(N095);
  827.     glVertex3fv(P095);
  828.     glEnd();
  829. }
  830.  
  831. void
  832. Dolphin007(void)
  833. {
  834.     glBegin(GL_POLYGON);
  835.     glNormal3fv(N030);
  836.     glVertex3fv(P030);
  837.     glNormal3fv(N031);
  838.     glVertex3fv(P031);
  839.     glNormal3fv(N039);
  840.     glVertex3fv(P039);
  841.     glNormal3fv(N038);
  842.     glVertex3fv(P038);
  843.     glEnd();
  844.     glBegin(GL_POLYGON);
  845.     glNormal3fv(N029);
  846.     glVertex3fv(P029);
  847.     glNormal3fv(N030);
  848.     glVertex3fv(P030);
  849.     glNormal3fv(N038);
  850.     glVertex3fv(P038);
  851.     glEnd();
  852.     glBegin(GL_POLYGON);
  853.     glNormal3fv(N029);
  854.     glVertex3fv(P029);
  855.     glNormal3fv(N038);
  856.     glVertex3fv(P038);
  857.     glNormal3fv(N037);
  858.     glVertex3fv(P037);
  859.     glEnd();
  860.     glBegin(GL_POLYGON);
  861.     glNormal3fv(N028);
  862.     glVertex3fv(P028);
  863.     glNormal3fv(N029);
  864.     glVertex3fv(P029);
  865.     glNormal3fv(N037);
  866.     glVertex3fv(P037);
  867.     glEnd();
  868.     glBegin(GL_POLYGON);
  869.     glNormal3fv(N028);
  870.     glVertex3fv(P028);
  871.     glNormal3fv(N037);
  872.     glVertex3fv(P037);
  873.     glNormal3fv(N036);
  874.     glVertex3fv(P036);
  875.     glEnd();
  876.     glBegin(GL_POLYGON);
  877.     glNormal3fv(N035);
  878.     glVertex3fv(P035);
  879.     glNormal3fv(N028);
  880.     glVertex3fv(P028);
  881.     glNormal3fv(N036);
  882.     glVertex3fv(P036);
  883.     glEnd();
  884.     glBegin(GL_POLYGON);
  885.     glNormal3fv(N035);
  886.     glVertex3fv(P035);
  887.     glNormal3fv(N036);
  888.     glVertex3fv(P036);
  889.     glNormal3fv(N043);
  890.     glVertex3fv(P043);
  891.     glEnd();
  892.     glBegin(GL_POLYGON);
  893.     glNormal3fv(N034);
  894.     glVertex3fv(P034);
  895.     glNormal3fv(N035);
  896.     glVertex3fv(P035);
  897.     glNormal3fv(N043);
  898.     glVertex3fv(P043);
  899.     glNormal3fv(N042);
  900.     glVertex3fv(P042);
  901.     glEnd();
  902.     glBegin(GL_POLYGON);
  903.     glNormal3fv(N033);
  904.     glVertex3fv(P033);
  905.     glNormal3fv(N034);
  906.     glVertex3fv(P034);
  907.     glNormal3fv(N042);
  908.     glVertex3fv(P042);
  909.     glEnd();
  910.     glBegin(GL_POLYGON);
  911.     glNormal3fv(N033);
  912.     glVertex3fv(P033);
  913.     glNormal3fv(N042);
  914.     glVertex3fv(P042);
  915.     glNormal3fv(N041);
  916.     glVertex3fv(P041);
  917.     glEnd();
  918.     glBegin(GL_POLYGON);
  919.     glNormal3fv(N031);
  920.     glVertex3fv(P031);
  921.     glNormal3fv(N032);
  922.     glVertex3fv(P032);
  923.     glNormal3fv(N039);
  924.     glVertex3fv(P039);
  925.     glEnd();
  926.     glBegin(GL_POLYGON);
  927.     glNormal3fv(N039);
  928.     glVertex3fv(P039);
  929.     glNormal3fv(N032);
  930.     glVertex3fv(P032);
  931.     glNormal3fv(N040);
  932.     glVertex3fv(P040);
  933.     glEnd();
  934.     glBegin(GL_POLYGON);
  935.     glNormal3fv(N032);
  936.     glVertex3fv(P032);
  937.     glNormal3fv(N033);
  938.     glVertex3fv(P033);
  939.     glNormal3fv(N040);
  940.     glVertex3fv(P040);
  941.     glEnd();
  942.     glBegin(GL_POLYGON);
  943.     glNormal3fv(N040);
  944.     glVertex3fv(P040);
  945.     glNormal3fv(N033);
  946.     glVertex3fv(P033);
  947.     glNormal3fv(N041);
  948.     glVertex3fv(P041);
  949.     glEnd();
  950. }
  951.  
  952. void
  953. Dolphin008(void)
  954. {
  955.     glBegin(GL_POLYGON);
  956.     glNormal3fv(N042);
  957.     glVertex3fv(P042);
  958.     glNormal3fv(N043);
  959.     glVertex3fv(P043);
  960.     glNormal3fv(N051);
  961.     glVertex3fv(P051);
  962.     glNormal3fv(N050);
  963.     glVertex3fv(P050);
  964.     glEnd();
  965.     glBegin(GL_POLYGON);
  966.     glNormal3fv(N043);
  967.     glVertex3fv(P043);
  968.     glNormal3fv(N036);
  969.     glVertex3fv(P036);
  970.     glNormal3fv(N051);
  971.     glVertex3fv(P051);
  972.     glEnd();
  973.     glBegin(GL_POLYGON);
  974.     glNormal3fv(N051);
  975.     glVertex3fv(P051);
  976.     glNormal3fv(N036);
  977.     glVertex3fv(P036);
  978.     glNormal3fv(N044);
  979.     glVertex3fv(P044);
  980.     glEnd();
  981.     glBegin(GL_POLYGON);
  982.     glNormal3fv(N041);
  983.     glVertex3fv(P041);
  984.     glNormal3fv(N042);
  985.     glVertex3fv(P042);
  986.     glNormal3fv(N050);
  987.     glVertex3fv(P050);
  988.     glEnd();
  989.     glBegin(GL_POLYGON);
  990.     glNormal3fv(N041);
  991.     glVertex3fv(P041);
  992.     glNormal3fv(N050);
  993.     glVertex3fv(P050);
  994.     glNormal3fv(N049);
  995.     glVertex3fv(P049);
  996.     glEnd();
  997.     glBegin(GL_POLYGON);
  998.     glNormal3fv(N036);
  999.     glVertex3fv(P036);
  1000.     glNormal3fv(N037);
  1001.     glVertex3fv(P037);
  1002.     glNormal3fv(N044);
  1003.     glVertex3fv(P044);
  1004.     glEnd();
  1005.     glBegin(GL_POLYGON);
  1006.     glNormal3fv(N044);
  1007.     glVertex3fv(P044);
  1008.     glNormal3fv(N037);
  1009.     glVertex3fv(P037);
  1010.     glNormal3fv(N045);
  1011.     glVertex3fv(P045);
  1012.     glEnd();
  1013.     glBegin(GL_POLYGON);
  1014.     glNormal3fv(N040);
  1015.     glVertex3fv(P040);
  1016.     glNormal3fv(N041);
  1017.     glVertex3fv(P041);
  1018.     glNormal3fv(N049);
  1019.     glVertex3fv(P049);
  1020.     glEnd();
  1021.     glBegin(GL_POLYGON);
  1022.     glNormal3fv(N040);
  1023.     glVertex3fv(P040);
  1024.     glNormal3fv(N049);
  1025.     glVertex3fv(P049);
  1026.     glNormal3fv(N048);
  1027.     glVertex3fv(P048);
  1028.     glEnd();
  1029.     glBegin(GL_POLYGON);
  1030.     glNormal3fv(N039);
  1031.     glVertex3fv(P039);
  1032.     glNormal3fv(N040);
  1033.     glVertex3fv(P040);
  1034.     glNormal3fv(N048);
  1035.     glVertex3fv(P048);
  1036.     glEnd();
  1037.     glBegin(GL_POLYGON);
  1038.     glNormal3fv(N039);
  1039.     glVertex3fv(P039);
  1040.     glNormal3fv(N048);
  1041.     glVertex3fv(P048);
  1042.     glNormal3fv(N047);
  1043.     glVertex3fv(P047);
  1044.     glEnd();
  1045.     glBegin(GL_POLYGON);
  1046.     glNormal3fv(N037);
  1047.     glVertex3fv(P037);
  1048.     glNormal3fv(N038);
  1049.     glVertex3fv(P038);
  1050.     glNormal3fv(N045);
  1051.     glVertex3fv(P045);
  1052.     glEnd();
  1053.     glBegin(GL_POLYGON);
  1054.     glNormal3fv(N038);
  1055.     glVertex3fv(P038);
  1056.     glNormal3fv(N046);
  1057.     glVertex3fv(P046);
  1058.     glNormal3fv(N045);
  1059.     glVertex3fv(P045);
  1060.     glEnd();
  1061.     glBegin(GL_POLYGON);
  1062.     glNormal3fv(N038);
  1063.     glVertex3fv(P038);
  1064.     glNormal3fv(N039);
  1065.     glVertex3fv(P039);
  1066.     glNormal3fv(N047);
  1067.     glVertex3fv(P047);
  1068.     glNormal3fv(N046);
  1069.     glVertex3fv(P046);
  1070.     glEnd();
  1071. }
  1072.  
  1073. void
  1074. Dolphin009(void)
  1075. {
  1076.     glBegin(GL_POLYGON);
  1077.     glNormal3fv(N050);
  1078.     glVertex3fv(P050);
  1079.     glNormal3fv(N051);
  1080.     glVertex3fv(P051);
  1081.     glNormal3fv(N059);
  1082.     glVertex3fv(P059);
  1083.     glNormal3fv(N058);
  1084.     glVertex3fv(P058);
  1085.     glEnd();
  1086.     glBegin(GL_POLYGON);
  1087.     glNormal3fv(N051);
  1088.     glVertex3fv(P051);
  1089.     glNormal3fv(N044);
  1090.     glVertex3fv(P044);
  1091.     glNormal3fv(N059);
  1092.     glVertex3fv(P059);
  1093.     glEnd();
  1094.     glBegin(GL_POLYGON);
  1095.     glNormal3fv(N059);
  1096.     glVertex3fv(P059);
  1097.     glNormal3fv(N044);
  1098.     glVertex3fv(P044);
  1099.     glNormal3fv(N052);
  1100.     glVertex3fv(P052);
  1101.     glEnd();
  1102.     glBegin(GL_POLYGON);
  1103.     glNormal3fv(N044);
  1104.     glVertex3fv(P044);
  1105.     glNormal3fv(N045);
  1106.     glVertex3fv(P045);
  1107.     glNormal3fv(N053);
  1108.     glVertex3fv(P053);
  1109.     glEnd();
  1110.     glBegin(GL_POLYGON);
  1111.     glNormal3fv(N044);
  1112.     glVertex3fv(P044);
  1113.     glNormal3fv(N053);
  1114.     glVertex3fv(P053);
  1115.     glNormal3fv(N052);
  1116.     glVertex3fv(P052);
  1117.     glEnd();
  1118.     glBegin(GL_POLYGON);
  1119.     glNormal3fv(N049);
  1120.     glVertex3fv(P049);
  1121.     glNormal3fv(N050);
  1122.     glVertex3fv(P050);
  1123.     glNormal3fv(N058);
  1124.     glVertex3fv(P058);
  1125.     glEnd();
  1126.     glBegin(GL_POLYGON);
  1127.     glNormal3fv(N049);
  1128.     glVertex3fv(P049);
  1129.     glNormal3fv(N058);
  1130.     glVertex3fv(P058);
  1131.     glNormal3fv(N057);
  1132.     glVertex3fv(P057);
  1133.     glEnd();
  1134.     glBegin(GL_POLYGON);
  1135.     glNormal3fv(N048);
  1136.     glVertex3fv(P048);
  1137.     glNormal3fv(N049);
  1138.     glVertex3fv(P049);
  1139.     glNormal3fv(N057);
  1140.     glVertex3fv(P057);
  1141.     glEnd();
  1142.     glBegin(GL_POLYGON);
  1143.     glNormal3fv(N048);
  1144.     glVertex3fv(P048);
  1145.     glNormal3fv(N057);
  1146.     glVertex3fv(P057);
  1147.     glNormal3fv(N056);
  1148.     glVertex3fv(P056);
  1149.     glEnd();
  1150.     glBegin(GL_POLYGON);
  1151.     glNormal3fv(N047);
  1152.     glVertex3fv(P047);
  1153.     glNormal3fv(N048);
  1154.     glVertex3fv(P048);
  1155.     glNormal3fv(N056);
  1156.     glVertex3fv(P056);
  1157.     glEnd();
  1158.     glBegin(GL_POLYGON);
  1159.     glNormal3fv(N047);
  1160.     glVertex3fv(P047);
  1161.     glNormal3fv(N056);
  1162.     glVertex3fv(P056);
  1163.     glNormal3fv(N055);
  1164.     glVertex3fv(P055);
  1165.     glEnd();
  1166.     glBegin(GL_POLYGON);
  1167.     glNormal3fv(N045);
  1168.     glVertex3fv(P045);
  1169.     glNormal3fv(N046);
  1170.     glVertex3fv(P046);
  1171.     glNormal3fv(N053);
  1172.     glVertex3fv(P053);
  1173.     glEnd();
  1174.     glBegin(GL_POLYGON);
  1175.     glNormal3fv(N046);
  1176.     glVertex3fv(P046);
  1177.     glNormal3fv(N054);
  1178.     glVertex3fv(P054);
  1179.     glNormal3fv(N053);
  1180.     glVertex3fv(P053);
  1181.     glEnd();
  1182.     glBegin(GL_POLYGON);
  1183.     glNormal3fv(N046);
  1184.     glVertex3fv(P046);
  1185.     glNormal3fv(N047);
  1186.     glVertex3fv(P047);
  1187.     glNormal3fv(N055);
  1188.     glVertex3fv(P055);
  1189.     glNormal3fv(N054);
  1190.     glVertex3fv(P054);
  1191.     glEnd();
  1192. }
  1193.  
  1194. void
  1195. Dolphin010(void)
  1196. {
  1197.     glBegin(GL_POLYGON);
  1198.     glNormal3fv(N080);
  1199.     glVertex3fv(P080);
  1200.     glNormal3fv(N081);
  1201.     glVertex3fv(P081);
  1202.     glNormal3fv(N085);
  1203.     glVertex3fv(P085);
  1204.     glEnd();
  1205.     glBegin(GL_POLYGON);
  1206.     glNormal3fv(N081);
  1207.     glVertex3fv(P081);
  1208.     glNormal3fv(N083);
  1209.     glVertex3fv(P083);
  1210.     glNormal3fv(N085);
  1211.     glVertex3fv(P085);
  1212.     glEnd();
  1213.     glBegin(GL_POLYGON);
  1214.     glNormal3fv(N085);
  1215.     glVertex3fv(P085);
  1216.     glNormal3fv(N083);
  1217.     glVertex3fv(P083);
  1218.     glNormal3fv(N077);
  1219.     glVertex3fv(P077);
  1220.     glEnd();
  1221.     glBegin(GL_POLYGON);
  1222.     glNormal3fv(N083);
  1223.     glVertex3fv(P083);
  1224.     glNormal3fv(N087);
  1225.     glVertex3fv(P087);
  1226.     glNormal3fv(N077);
  1227.     glVertex3fv(P077);
  1228.     glEnd();
  1229.     glBegin(GL_POLYGON);
  1230.     glNormal3fv(N077);
  1231.     glVertex3fv(P077);
  1232.     glNormal3fv(N087);
  1233.     glVertex3fv(P087);
  1234.     glNormal3fv(N090);
  1235.     glVertex3fv(P090);
  1236.     glEnd();
  1237.     glBegin(GL_POLYGON);
  1238.     glNormal3fv(N081);
  1239.     glVertex3fv(P081);
  1240.     glNormal3fv(N080);
  1241.     glVertex3fv(P080);
  1242.     glNormal3fv(N085);
  1243.     glVertex3fv(P085);
  1244.     glEnd();
  1245.     glBegin(GL_POLYGON);
  1246.     glNormal3fv(N083);
  1247.     glVertex3fv(P083);
  1248.     glNormal3fv(N081);
  1249.     glVertex3fv(P081);
  1250.     glNormal3fv(N085);
  1251.     glVertex3fv(P085);
  1252.     glEnd();
  1253.     glBegin(GL_POLYGON);
  1254.     glNormal3fv(N083);
  1255.     glVertex3fv(P083);
  1256.     glNormal3fv(N085);
  1257.     glVertex3fv(P085);
  1258.     glNormal3fv(N077);
  1259.     glVertex3fv(P077);
  1260.     glEnd();
  1261.     glBegin(GL_POLYGON);
  1262.     glNormal3fv(N087);
  1263.     glVertex3fv(P087);
  1264.     glNormal3fv(N083);
  1265.     glVertex3fv(P083);
  1266.     glNormal3fv(N077);
  1267.     glVertex3fv(P077);
  1268.     glEnd();
  1269.     glBegin(GL_POLYGON);
  1270.     glNormal3fv(N087);
  1271.     glVertex3fv(P087);
  1272.     glNormal3fv(N077);
  1273.     glVertex3fv(P077);
  1274.     glNormal3fv(N090);
  1275.     glVertex3fv(P090);
  1276.     glEnd();
  1277. }
  1278.  
  1279. void
  1280. Dolphin011(void)
  1281. {
  1282.     glBegin(GL_POLYGON);
  1283.     glNormal3fv(N082);
  1284.     glVertex3fv(P082);
  1285.     glNormal3fv(N084);
  1286.     glVertex3fv(P084);
  1287.     glNormal3fv(N079);
  1288.     glVertex3fv(P079);
  1289.     glEnd();
  1290.     glBegin(GL_POLYGON);
  1291.     glNormal3fv(N084);
  1292.     glVertex3fv(P084);
  1293.     glNormal3fv(N086);
  1294.     glVertex3fv(P086);
  1295.     glNormal3fv(N079);
  1296.     glVertex3fv(P079);
  1297.     glEnd();
  1298.     glBegin(GL_POLYGON);
  1299.     glNormal3fv(N079);
  1300.     glVertex3fv(P079);
  1301.     glNormal3fv(N086);
  1302.     glVertex3fv(P086);
  1303.     glNormal3fv(N078);
  1304.     glVertex3fv(P078);
  1305.     glEnd();
  1306.     glBegin(GL_POLYGON);
  1307.     glNormal3fv(N086);
  1308.     glVertex3fv(P086);
  1309.     glNormal3fv(N088);
  1310.     glVertex3fv(P088);
  1311.     glNormal3fv(N078);
  1312.     glVertex3fv(P078);
  1313.     glEnd();
  1314.     glBegin(GL_POLYGON);
  1315.     glNormal3fv(N078);
  1316.     glVertex3fv(P078);
  1317.     glNormal3fv(N088);
  1318.     glVertex3fv(P088);
  1319.     glNormal3fv(N089);
  1320.     glVertex3fv(P089);
  1321.     glEnd();
  1322.     glBegin(GL_POLYGON);
  1323.     glNormal3fv(N088);
  1324.     glVertex3fv(P088);
  1325.     glNormal3fv(N086);
  1326.     glVertex3fv(P086);
  1327.     glNormal3fv(N089);
  1328.     glVertex3fv(P089);
  1329.     glEnd();
  1330.     glBegin(GL_POLYGON);
  1331.     glNormal3fv(N089);
  1332.     glVertex3fv(P089);
  1333.     glNormal3fv(N086);
  1334.     glVertex3fv(P086);
  1335.     glNormal3fv(N078);
  1336.     glVertex3fv(P078);
  1337.     glEnd();
  1338.     glBegin(GL_POLYGON);
  1339.     glNormal3fv(N086);
  1340.     glVertex3fv(P086);
  1341.     glNormal3fv(N084);
  1342.     glVertex3fv(P084);
  1343.     glNormal3fv(N078);
  1344.     glVertex3fv(P078);
  1345.     glEnd();
  1346.     glBegin(GL_POLYGON);
  1347.     glNormal3fv(N078);
  1348.     glVertex3fv(P078);
  1349.     glNormal3fv(N084);
  1350.     glVertex3fv(P084);
  1351.     glNormal3fv(N079);
  1352.     glVertex3fv(P079);
  1353.     glEnd();
  1354.     glBegin(GL_POLYGON);
  1355.     glNormal3fv(N084);
  1356.     glVertex3fv(P084);
  1357.     glNormal3fv(N082);
  1358.     glVertex3fv(P082);
  1359.     glNormal3fv(N079);
  1360.     glVertex3fv(P079);
  1361.     glEnd();
  1362. }
  1363.  
  1364. void
  1365. Dolphin012(void)
  1366. {
  1367.     glBegin(GL_POLYGON);
  1368.     glNormal3fv(N058);
  1369.     glVertex3fv(P058);
  1370.     glNormal3fv(N059);
  1371.     glVertex3fv(P059);
  1372.     glNormal3fv(N067);
  1373.     glVertex3fv(P067);
  1374.     glNormal3fv(N066);
  1375.     glVertex3fv(P066);
  1376.     glEnd();
  1377.     glBegin(GL_POLYGON);
  1378.     glNormal3fv(N059);
  1379.     glVertex3fv(P059);
  1380.     glNormal3fv(N052);
  1381.     glVertex3fv(P052);
  1382.     glNormal3fv(N060);
  1383.     glVertex3fv(P060);
  1384.     glEnd();
  1385.     glBegin(GL_POLYGON);
  1386.     glNormal3fv(N059);
  1387.     glVertex3fv(P059);
  1388.     glNormal3fv(N060);
  1389.     glVertex3fv(P060);
  1390.     glNormal3fv(N067);
  1391.     glVertex3fv(P067);
  1392.     glEnd();
  1393.     glBegin(GL_POLYGON);
  1394.     glNormal3fv(N058);
  1395.     glVertex3fv(P058);
  1396.     glNormal3fv(N066);
  1397.     glVertex3fv(P066);
  1398.     glNormal3fv(N065);
  1399.     glVertex3fv(P065);
  1400.     glEnd();
  1401.     glBegin(GL_POLYGON);
  1402.     glNormal3fv(N058);
  1403.     glVertex3fv(P058);
  1404.     glNormal3fv(N065);
  1405.     glVertex3fv(P065);
  1406.     glNormal3fv(N057);
  1407.     glVertex3fv(P057);
  1408.     glEnd();
  1409.     glBegin(GL_POLYGON);
  1410.     glNormal3fv(N056);
  1411.     glVertex3fv(P056);
  1412.     glNormal3fv(N057);
  1413.     glVertex3fv(P057);
  1414.     glNormal3fv(N065);
  1415.     glVertex3fv(P065);
  1416.     glEnd();
  1417.     glBegin(GL_POLYGON);
  1418.     glNormal3fv(N056);
  1419.     glVertex3fv(P056);
  1420.     glNormal3fv(N065);
  1421.     glVertex3fv(P065);
  1422.     glNormal3fv(N006);
  1423.     glVertex3fv(P006);
  1424.     glEnd();
  1425.     glBegin(GL_POLYGON);
  1426.     glNormal3fv(N056);
  1427.     glVertex3fv(P056);
  1428.     glNormal3fv(N006);
  1429.     glVertex3fv(P006);
  1430.     glNormal3fv(N063);
  1431.     glVertex3fv(P063);
  1432.     glEnd();
  1433.     glBegin(GL_POLYGON);
  1434.     glNormal3fv(N056);
  1435.     glVertex3fv(P056);
  1436.     glNormal3fv(N063);
  1437.     glVertex3fv(P063);
  1438.     glNormal3fv(N055);
  1439.     glVertex3fv(P055);
  1440.     glEnd();
  1441.     glBegin(GL_POLYGON);
  1442.     glNormal3fv(N054);
  1443.     glVertex3fv(P054);
  1444.     glNormal3fv(N062);
  1445.     glVertex3fv(P062);
  1446.     glNormal3fv(N005);
  1447.     glVertex3fv(P005);
  1448.     glEnd();
  1449.     glBegin(GL_POLYGON);
  1450.     glNormal3fv(N054);
  1451.     glVertex3fv(P054);
  1452.     glNormal3fv(N005);
  1453.     glVertex3fv(P005);
  1454.     glNormal3fv(N053);
  1455.     glVertex3fv(P053);
  1456.     glEnd();
  1457.     glBegin(GL_POLYGON);
  1458.     glNormal3fv(N052);
  1459.     glVertex3fv(P052);
  1460.     glNormal3fv(N053);
  1461.     glVertex3fv(P053);
  1462.     glNormal3fv(N005);
  1463.     glVertex3fv(P005);
  1464.     glNormal3fv(N060);
  1465.     glVertex3fv(P060);
  1466.     glEnd();
  1467. }
  1468.  
  1469. void
  1470. Dolphin013(void)
  1471. {
  1472.     glBegin(GL_POLYGON);
  1473.     glNormal3fv(N116);
  1474.     glVertex3fv(P116);
  1475.     glNormal3fv(N117);
  1476.     glVertex3fv(P117);
  1477.     glNormal3fv(N112);
  1478.     glVertex3fv(P112);
  1479.     glNormal3fv(N113);
  1480.     glVertex3fv(P113);
  1481.     glEnd();
  1482.     glBegin(GL_POLYGON);
  1483.     glNormal3fv(N114);
  1484.     glVertex3fv(P114);
  1485.     glNormal3fv(N113);
  1486.     glVertex3fv(P113);
  1487.     glNormal3fv(N112);
  1488.     glVertex3fv(P112);
  1489.     glNormal3fv(N115);
  1490.     glVertex3fv(P115);
  1491.     glEnd();
  1492.     glBegin(GL_POLYGON);
  1493.     glNormal3fv(N114);
  1494.     glVertex3fv(P114);
  1495.     glNormal3fv(N116);
  1496.     glVertex3fv(P116);
  1497.     glNormal3fv(N113);
  1498.     glVertex3fv(P113);
  1499.     glEnd();
  1500.     glBegin(GL_POLYGON);
  1501.     glNormal3fv(N114);
  1502.     glVertex3fv(P114);
  1503.     glNormal3fv(N007);
  1504.     glVertex3fv(P007);
  1505.     glNormal3fv(N116);
  1506.     glVertex3fv(P116);
  1507.     glEnd();
  1508.     glBegin(GL_POLYGON);
  1509.     glNormal3fv(N007);
  1510.     glVertex3fv(P007);
  1511.     glNormal3fv(N002);
  1512.     glVertex3fv(P002);
  1513.     glNormal3fv(N116);
  1514.     glVertex3fv(P116);
  1515.     glEnd();
  1516.     glBegin(GL_POLYGON);
  1517.     glVertex3fv(P002);
  1518.     glVertex3fv(P007);
  1519.     glVertex3fv(P008);
  1520.     glVertex3fv(P099);
  1521.     glEnd();
  1522.     glBegin(GL_POLYGON);
  1523.     glVertex3fv(P007);
  1524.     glVertex3fv(P114);
  1525.     glVertex3fv(P115);
  1526.     glVertex3fv(P008);
  1527.     glEnd();
  1528.     glBegin(GL_POLYGON);
  1529.     glNormal3fv(N117);
  1530.     glVertex3fv(P117);
  1531.     glNormal3fv(N099);
  1532.     glVertex3fv(P099);
  1533.     glNormal3fv(N008);
  1534.     glVertex3fv(P008);
  1535.     glEnd();
  1536.     glBegin(GL_POLYGON);
  1537.     glNormal3fv(N117);
  1538.     glVertex3fv(P117);
  1539.     glNormal3fv(N008);
  1540.     glVertex3fv(P008);
  1541.     glNormal3fv(N112);
  1542.     glVertex3fv(P112);
  1543.     glEnd();
  1544.     glBegin(GL_POLYGON);
  1545.     glNormal3fv(N112);
  1546.     glVertex3fv(P112);
  1547.     glNormal3fv(N008);
  1548.     glVertex3fv(P008);
  1549.     glNormal3fv(N115);
  1550.     glVertex3fv(P115);
  1551.     glEnd();
  1552. }
  1553.  
  1554. void
  1555. Dolphin014(void)
  1556. {
  1557.     glBegin(GL_POLYGON);
  1558.     glNormal3fv(N111);
  1559.     glVertex3fv(P111);
  1560.     glNormal3fv(N110);
  1561.     glVertex3fv(P110);
  1562.     glNormal3fv(N102);
  1563.     glVertex3fv(P102);
  1564.     glNormal3fv(N121);
  1565.     glVertex3fv(P121);
  1566.     glEnd();
  1567.     glBegin(GL_POLYGON);
  1568.     glNormal3fv(N111);
  1569.     glVertex3fv(P111);
  1570.     glNormal3fv(N097);
  1571.     glVertex3fv(P097);
  1572.     glNormal3fv(N110);
  1573.     glVertex3fv(P110);
  1574.     glEnd();
  1575.     glBegin(GL_POLYGON);
  1576.     glNormal3fv(N097);
  1577.     glVertex3fv(P097);
  1578.     glNormal3fv(N119);
  1579.     glVertex3fv(P119);
  1580.     glNormal3fv(N110);
  1581.     glVertex3fv(P110);
  1582.     glEnd();
  1583.     glBegin(GL_POLYGON);
  1584.     glNormal3fv(N097);
  1585.     glVertex3fv(P097);
  1586.     glNormal3fv(N099);
  1587.     glVertex3fv(P099);
  1588.     glNormal3fv(N119);
  1589.     glVertex3fv(P119);
  1590.     glEnd();
  1591.     glBegin(GL_POLYGON);
  1592.     glNormal3fv(N099);
  1593.     glVertex3fv(P099);
  1594.     glNormal3fv(N065);
  1595.     glVertex3fv(P065);
  1596.     glNormal3fv(N119);
  1597.     glVertex3fv(P119);
  1598.     glEnd();
  1599.     glBegin(GL_POLYGON);
  1600.     glNormal3fv(N065);
  1601.     glVertex3fv(P065);
  1602.     glNormal3fv(N066);
  1603.     glVertex3fv(P066);
  1604.     glNormal3fv(N119);
  1605.     glVertex3fv(P119);
  1606.     glEnd();
  1607.     glBegin(GL_POLYGON);
  1608.     glVertex3fv(P098);
  1609.     glVertex3fv(P097);
  1610.     glVertex3fv(P111);
  1611.     glVertex3fv(P121);
  1612.     glEnd();
  1613.     glBegin(GL_POLYGON);
  1614.     glVertex3fv(P002);
  1615.     glVertex3fv(P099);
  1616.     glVertex3fv(P097);
  1617.     glVertex3fv(P098);
  1618.     glEnd();
  1619.     glBegin(GL_POLYGON);
  1620.     glNormal3fv(N110);
  1621.     glVertex3fv(P110);
  1622.     glNormal3fv(N119);
  1623.     glVertex3fv(P119);
  1624.     glNormal3fv(N118);
  1625.     glVertex3fv(P118);
  1626.     glNormal3fv(N102);
  1627.     glVertex3fv(P102);
  1628.     glEnd();
  1629.     glBegin(GL_POLYGON);
  1630.     glNormal3fv(N119);
  1631.     glVertex3fv(P119);
  1632.     glNormal3fv(N066);
  1633.     glVertex3fv(P066);
  1634.     glNormal3fv(N067);
  1635.     glVertex3fv(P067);
  1636.     glNormal3fv(N118);
  1637.     glVertex3fv(P118);
  1638.     glEnd();
  1639.     glBegin(GL_POLYGON);
  1640.     glNormal3fv(N067);
  1641.     glVertex3fv(P067);
  1642.     glNormal3fv(N060);
  1643.     glVertex3fv(P060);
  1644.     glNormal3fv(N002);
  1645.     glVertex3fv(P002);
  1646.     glEnd();
  1647.     glBegin(GL_POLYGON);
  1648.     glNormal3fv(N067);
  1649.     glVertex3fv(P067);
  1650.     glNormal3fv(N002);
  1651.     glVertex3fv(P002);
  1652.     glNormal3fv(N118);
  1653.     glVertex3fv(P118);
  1654.     glEnd();
  1655.     glBegin(GL_POLYGON);
  1656.     glNormal3fv(N118);
  1657.     glVertex3fv(P118);
  1658.     glNormal3fv(N002);
  1659.     glVertex3fv(P002);
  1660.     glNormal3fv(N098);
  1661.     glVertex3fv(P098);
  1662.     glEnd();
  1663.     glBegin(GL_POLYGON);
  1664.     glNormal3fv(N118);
  1665.     glVertex3fv(P118);
  1666.     glNormal3fv(N098);
  1667.     glVertex3fv(P098);
  1668.     glNormal3fv(N102);
  1669.     glVertex3fv(P102);
  1670.     glEnd();
  1671.     glBegin(GL_POLYGON);
  1672.     glNormal3fv(N102);
  1673.     glVertex3fv(P102);
  1674.     glNormal3fv(N098);
  1675.     glVertex3fv(P098);
  1676.     glNormal3fv(N121);
  1677.     glVertex3fv(P121);
  1678.     glEnd();
  1679. }
  1680.  
  1681. void
  1682. Dolphin015(void)
  1683. {
  1684.     glBegin(GL_POLYGON);
  1685.     glNormal3fv(N055);
  1686.     glVertex3fv(P055);
  1687.     glNormal3fv(N003);
  1688.     glVertex3fv(P003);
  1689.     glNormal3fv(N054);
  1690.     glVertex3fv(P054);
  1691.     glEnd();
  1692.     glBegin(GL_POLYGON);
  1693.     glNormal3fv(N003);
  1694.     glVertex3fv(P003);
  1695.     glNormal3fv(N055);
  1696.     glVertex3fv(P055);
  1697.     glNormal3fv(N063);
  1698.     glVertex3fv(P063);
  1699.     glEnd();
  1700.     glBegin(GL_POLYGON);
  1701.     glNormal3fv(N003);
  1702.     glVertex3fv(P003);
  1703.     glNormal3fv(N063);
  1704.     glVertex3fv(P063);
  1705.     glNormal3fv(N100);
  1706.     glVertex3fv(P100);
  1707.     glEnd();
  1708.     glBegin(GL_POLYGON);
  1709.     glNormal3fv(N003);
  1710.     glVertex3fv(P003);
  1711.     glNormal3fv(N100);
  1712.     glVertex3fv(P100);
  1713.     glNormal3fv(N054);
  1714.     glVertex3fv(P054);
  1715.     glEnd();
  1716.     glBegin(GL_POLYGON);
  1717.     glNormal3fv(N054);
  1718.     glVertex3fv(P054);
  1719.     glNormal3fv(N100);
  1720.     glVertex3fv(P100);
  1721.     glNormal3fv(N062);
  1722.     glVertex3fv(P062);
  1723.     glEnd();
  1724.     glBegin(GL_POLYGON);
  1725.     glNormal3fv(N100);
  1726.     glVertex3fv(P100);
  1727.     glNormal3fv(N064);
  1728.     glVertex3fv(P064);
  1729.     glNormal3fv(N120);
  1730.     glVertex3fv(P120);
  1731.     glEnd();
  1732.     glBegin(GL_POLYGON);
  1733.     glNormal3fv(N100);
  1734.     glVertex3fv(P100);
  1735.     glNormal3fv(N063);
  1736.     glVertex3fv(P063);
  1737.     glNormal3fv(N064);
  1738.     glVertex3fv(P064);
  1739.     glEnd();
  1740.     glBegin(GL_POLYGON);
  1741.     glNormal3fv(N063);
  1742.     glVertex3fv(P063);
  1743.     glNormal3fv(N006);
  1744.     glVertex3fv(P006);
  1745.     glNormal3fv(N064);
  1746.     glVertex3fv(P064);
  1747.     glEnd();
  1748.     glBegin(GL_POLYGON);
  1749.     glNormal3fv(N064);
  1750.     glVertex3fv(P064);
  1751.     glNormal3fv(N006);
  1752.     glVertex3fv(P006);
  1753.     glNormal3fv(N099);
  1754.     glVertex3fv(P099);
  1755.     glEnd();
  1756.     glBegin(GL_POLYGON);
  1757.     glNormal3fv(N064);
  1758.     glVertex3fv(P064);
  1759.     glNormal3fv(N099);
  1760.     glVertex3fv(P099);
  1761.     glNormal3fv(N117);
  1762.     glVertex3fv(P117);
  1763.     glEnd();
  1764.     glBegin(GL_POLYGON);
  1765.     glNormal3fv(N120);
  1766.     glVertex3fv(P120);
  1767.     glNormal3fv(N064);
  1768.     glVertex3fv(P064);
  1769.     glNormal3fv(N117);
  1770.     glVertex3fv(P117);
  1771.     glNormal3fv(N116);
  1772.     glVertex3fv(P116);
  1773.     glEnd();
  1774.     glBegin(GL_POLYGON);
  1775.     glNormal3fv(N006);
  1776.     glVertex3fv(P006);
  1777.     glNormal3fv(N065);
  1778.     glVertex3fv(P065);
  1779.     glNormal3fv(N099);
  1780.     glVertex3fv(P099);
  1781.     glEnd();
  1782.     glBegin(GL_POLYGON);
  1783.     glNormal3fv(N062);
  1784.     glVertex3fv(P062);
  1785.     glNormal3fv(N100);
  1786.     glVertex3fv(P100);
  1787.     glNormal3fv(N120);
  1788.     glVertex3fv(P120);
  1789.     glEnd();
  1790.     glBegin(GL_POLYGON);
  1791.     glNormal3fv(N005);
  1792.     glVertex3fv(P005);
  1793.     glNormal3fv(N062);
  1794.     glVertex3fv(P062);
  1795.     glNormal3fv(N120);
  1796.     glVertex3fv(P120);
  1797.     glEnd();
  1798.     glBegin(GL_POLYGON);
  1799.     glNormal3fv(N005);
  1800.     glVertex3fv(P005);
  1801.     glNormal3fv(N120);
  1802.     glVertex3fv(P120);
  1803.     glNormal3fv(N002);
  1804.     glVertex3fv(P002);
  1805.     glEnd();
  1806.     glBegin(GL_POLYGON);
  1807.     glNormal3fv(N002);
  1808.     glVertex3fv(P002);
  1809.     glNormal3fv(N120);
  1810.     glVertex3fv(P120);
  1811.     glNormal3fv(N116);
  1812.     glVertex3fv(P116);
  1813.     glEnd();
  1814.     glBegin(GL_POLYGON);
  1815.     glNormal3fv(N060);
  1816.     glVertex3fv(P060);
  1817.     glNormal3fv(N005);
  1818.     glVertex3fv(P005);
  1819.     glNormal3fv(N002);
  1820.     glVertex3fv(P002);
  1821.     glEnd();
  1822. }
  1823.  
  1824. void
  1825. Dolphin016(void)
  1826. {
  1827.  
  1828.     glDisable(GL_DEPTH_TEST);
  1829.     glBegin(GL_POLYGON);
  1830.     glVertex3fv(P123);
  1831.     glVertex3fv(P124);
  1832.     glVertex3fv(P125);
  1833.     glVertex3fv(P126);
  1834.     glVertex3fv(P127);
  1835.     glVertex3fv(P128);
  1836.     glEnd();
  1837.     glBegin(GL_POLYGON);
  1838.     glVertex3fv(P129);
  1839.     glVertex3fv(P130);
  1840.     glVertex3fv(P131);
  1841.     glVertex3fv(P132);
  1842.     glVertex3fv(P133);
  1843.     glVertex3fv(P134);
  1844.     glEnd();
  1845.     glBegin(GL_POLYGON);
  1846.     glVertex3fv(P103);
  1847.     glVertex3fv(P105);
  1848.     glVertex3fv(P108);
  1849.     glEnd();
  1850.     glEnable(GL_DEPTH_TEST);
  1851. }
  1852.  
  1853. void
  1854. DrawDolphin(fishRec * fish)
  1855. {
  1856.     float seg0, seg1, seg2, seg3, seg4, seg5, seg6, seg7;
  1857.     float pitch, thrash, chomp;
  1858.  
  1859.     fish->htail = (int) (fish->htail - (int) (10.0 * fish->v)) % 360;
  1860.  
  1861.     thrash = 70.0 * fish->v;
  1862.  
  1863.     seg0 = 1.0 * thrash * sin((fish->htail) * RRAD);
  1864.     seg3 = 1.0 * thrash * sin((fish->htail) * RRAD);
  1865.     seg1 = 2.0 * thrash * sin((fish->htail + 4.0) * RRAD);
  1866.     seg2 = 3.0 * thrash * sin((fish->htail + 6.0) * RRAD);
  1867.     seg4 = 4.0 * thrash * sin((fish->htail + 10.0) * RRAD);
  1868.     seg5 = 4.5 * thrash * sin((fish->htail + 15.0) * RRAD);
  1869.     seg6 = 5.0 * thrash * sin((fish->htail + 20.0) * RRAD);
  1870.     seg7 = 6.0 * thrash * sin((fish->htail + 30.0) * RRAD);
  1871.  
  1872.     pitch = fish->v * sin((fish->htail + 180.0) * RRAD);
  1873.  
  1874.     if (fish->v > 2.0) {
  1875.         chomp = -(fish->v - 2.0) * 200.0;
  1876.     }
  1877.     chomp = 100.0;
  1878.  
  1879.     P012[1] = iP012[1] + seg5;
  1880.     P013[1] = iP013[1] + seg5;
  1881.     P014[1] = iP014[1] + seg5;
  1882.     P015[1] = iP015[1] + seg5;
  1883.     P016[1] = iP016[1] + seg5;
  1884.     P017[1] = iP017[1] + seg5;
  1885.     P018[1] = iP018[1] + seg5;
  1886.     P019[1] = iP019[1] + seg5;
  1887.  
  1888.     P020[1] = iP020[1] + seg4;
  1889.     P021[1] = iP021[1] + seg4;
  1890.     P022[1] = iP022[1] + seg4;
  1891.     P023[1] = iP023[1] + seg4;
  1892.     P024[1] = iP024[1] + seg4;
  1893.     P025[1] = iP025[1] + seg4;
  1894.     P026[1] = iP026[1] + seg4;
  1895.     P027[1] = iP027[1] + seg4;
  1896.  
  1897.     P028[1] = iP028[1] + seg2;
  1898.     P029[1] = iP029[1] + seg2;
  1899.     P030[1] = iP030[1] + seg2;
  1900.     P031[1] = iP031[1] + seg2;
  1901.     P032[1] = iP032[1] + seg2;
  1902.     P033[1] = iP033[1] + seg2;
  1903.     P034[1] = iP034[1] + seg2;
  1904.     P035[1] = iP035[1] + seg2;
  1905.  
  1906.     P036[1] = iP036[1] + seg1;
  1907.     P037[1] = iP037[1] + seg1;
  1908.     P038[1] = iP038[1] + seg1;
  1909.     P039[1] = iP039[1] + seg1;
  1910.     P040[1] = iP040[1] + seg1;
  1911.     P041[1] = iP041[1] + seg1;
  1912.     P042[1] = iP042[1] + seg1;
  1913.     P043[1] = iP043[1] + seg1;
  1914.  
  1915.     P044[1] = iP044[1] + seg0;
  1916.     P045[1] = iP045[1] + seg0;
  1917.     P046[1] = iP046[1] + seg0;
  1918.     P047[1] = iP047[1] + seg0;
  1919.     P048[1] = iP048[1] + seg0;
  1920.     P049[1] = iP049[1] + seg0;
  1921.     P050[1] = iP050[1] + seg0;
  1922.     P051[1] = iP051[1] + seg0;
  1923.  
  1924.     P009[1] = iP009[1] + seg6;
  1925.     P010[1] = iP010[1] + seg6;
  1926.     P075[1] = iP075[1] + seg6;
  1927.     P076[1] = iP076[1] + seg6;
  1928.  
  1929.     P001[1] = iP001[1] + seg7;
  1930.     P011[1] = iP011[1] + seg7;
  1931.     P068[1] = iP068[1] + seg7;
  1932.     P069[1] = iP069[1] + seg7;
  1933.     P070[1] = iP070[1] + seg7;
  1934.     P071[1] = iP071[1] + seg7;
  1935.     P072[1] = iP072[1] + seg7;
  1936.     P073[1] = iP073[1] + seg7;
  1937.     P074[1] = iP074[1] + seg7;
  1938.  
  1939.     P091[1] = iP091[1] + seg3;
  1940.     P092[1] = iP092[1] + seg3;
  1941.     P093[1] = iP093[1] + seg3;
  1942.     P094[1] = iP094[1] + seg3;
  1943.     P095[1] = iP095[1] + seg3;
  1944.     P122[1] = iP122[1] + seg3 * 1.5;
  1945.  
  1946.     P097[1] = iP097[1] + chomp;
  1947.     P098[1] = iP098[1] + chomp;
  1948.     P102[1] = iP102[1] + chomp;
  1949.     P110[1] = iP110[1] + chomp;
  1950.     P111[1] = iP111[1] + chomp;
  1951.     P121[1] = iP121[1] + chomp;
  1952.     P118[1] = iP118[1] + chomp;
  1953.     P119[1] = iP119[1] + chomp;
  1954.  
  1955.     glPushMatrix();
  1956.  
  1957.     glRotatef(pitch, 1.0, 0.0, 0.0);
  1958.  
  1959.     glTranslatef(0.0, 0.0, 7000.0);
  1960.  
  1961.     glRotatef(180.0, 0.0, 1.0, 0.0);
  1962.  
  1963.     glEnable(GL_CULL_FACE);
  1964.     Dolphin014();
  1965.     Dolphin010();
  1966.     Dolphin009();
  1967.     Dolphin012();
  1968.     Dolphin013();
  1969.     Dolphin006();
  1970.     Dolphin002();
  1971.     Dolphin001();
  1972.     Dolphin003();
  1973.     Dolphin015();
  1974.     Dolphin004();
  1975.     Dolphin005();
  1976.     Dolphin007();
  1977.     Dolphin008();
  1978.     Dolphin011();
  1979.     Dolphin016();
  1980.     glDisable(GL_CULL_FACE);
  1981.  
  1982.     glPopMatrix();
  1983. }
  1984.