3329
+ − 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 <GLUT/glut.h>
+ − 38 #include <math.h>
+ − 39 #include "atlantis.h"
+ − 40 /* *INDENT-OFF* */
+ − 41 static float N001[3] = {0.019249 ,0.011340 ,-0.999750};
+ − 42 static float N002[3] = {-0.132579 ,0.954547 ,0.266952};
+ − 43 static float N003[3] = {-0.196061 ,0.980392 ,-0.019778};
+ − 44 static float N004[3] = {0.695461 ,0.604704 ,0.388158};
+ − 45 static float N005[3] = {0.870600 ,0.425754 ,0.246557};
+ − 46 static float N006[3] = {-0.881191 ,0.392012 ,0.264251};
+ − 47 static float N008[3] = {-0.341437 ,0.887477 ,0.309523};
+ − 48 static float N009[3] = {0.124035 ,-0.992278 ,0.000000};
+ − 49 static float N010[3] = {0.242536 ,0.000000 ,-0.970143};
+ − 50 static float N011[3] = {0.588172 ,0.000000 ,0.808736};
+ − 51 static float N012[3] = {0.929824 ,-0.340623 ,-0.139298};
+ − 52 static float N013[3] = {0.954183 ,0.267108 ,-0.134865};
+ − 53 static float N014[3] = {0.495127 ,0.855436 ,-0.151914};
+ − 54 static float N015[3] = {-0.390199 ,0.906569 ,-0.160867};
+ − 55 static float N016[3] = {-0.923605 ,0.354581 ,-0.145692};
+ − 56 static float N017[3] = {-0.955796 ,-0.260667 ,-0.136036};
+ − 57 static float N018[3] = {-0.501283 ,-0.853462 ,-0.142540};
+ − 58 static float N019[3] = {0.405300 ,-0.901974 ,-0.148913};
+ − 59 static float N020[3] = {0.909913 ,-0.392746 ,-0.133451};
+ − 60 static float N021[3] = {0.936494 ,0.331147 ,-0.115414};
+ − 61 static float N022[3] = {0.600131 ,0.793724 ,-0.099222};
+ − 62 static float N023[3] = {-0.231556 ,0.968361 ,-0.093053};
+ − 63 static float N024[3] = {-0.844369 ,0.525330 ,-0.105211};
+ − 64 static float N025[3] = {-0.982725 ,-0.136329 ,-0.125164};
+ − 65 static float N026[3] = {-0.560844 ,-0.822654 ,-0.093241};
+ − 66 static float N027[3] = {0.263884 ,-0.959981 ,-0.093817};
+ − 67 static float N028[3] = {0.842057 ,-0.525192 ,-0.122938};
+ − 68 static float N029[3] = {0.921620 ,0.367565 ,-0.124546};
+ − 69 static float N030[3] = {0.613927 ,0.784109 ,-0.090918};
+ − 70 static float N031[3] = {-0.448754 ,0.888261 ,-0.098037};
+ − 71 static float N032[3] = {-0.891865 ,0.434376 ,-0.126077};
+ − 72 static float N033[3] = {-0.881447 ,-0.448017 ,-0.149437};
+ − 73 static float N034[3] = {-0.345647 ,-0.922057 ,-0.174183};
+ − 74 static float N035[3] = {0.307998 ,-0.941371 ,-0.137688};
+ − 75 static float N036[3] = {0.806316 ,-0.574647 ,-0.140124};
+ − 76 static float N037[3] = {0.961346 ,0.233646 ,-0.145681};
+ − 77 static float N038[3] = {0.488451 ,0.865586 ,-0.110351};
+ − 78 static float N039[3] = {-0.374290 ,0.921953 ,-0.099553};
+ − 79 static float N040[3] = {-0.928504 ,0.344533 ,-0.138485};
+ − 80 static float N041[3] = {-0.918419 ,-0.371792 ,-0.135189};
+ − 81 static float N042[3] = {-0.520666 ,-0.833704 ,-0.183968};
+ − 82 static float N043[3] = {0.339204 ,-0.920273 ,-0.195036};
+ − 83 static float N044[3] = {0.921475 ,-0.387382 ,-0.028636};
+ − 84 static float N045[3] = {0.842465 ,0.533335 ,-0.076204};
+ − 85 static float N046[3] = {0.380110 ,0.924939 ,0.002073};
+ − 86 static float N047[3] = {-0.276128 ,0.961073 ,-0.009579};
+ − 87 static float N048[3] = {-0.879684 ,0.473001 ,-0.049250};
+ − 88 static float N049[3] = {-0.947184 ,-0.317614 ,-0.044321};
+ − 89 static float N050[3] = {-0.642059 ,-0.764933 ,-0.051363};
+ − 90 static float N051[3] = {0.466794 ,-0.880921 ,-0.077990};
+ − 91 static float N052[3] = {0.898509 ,-0.432277 ,0.076279};
+ − 92 static float N053[3] = {0.938985 ,0.328141 ,0.103109};
+ − 93 static float N054[3] = {0.442420 ,0.895745 ,0.043647};
+ − 94 static float N055[3] = {-0.255163 ,0.966723 ,0.018407};
+ − 95 static float N056[3] = {-0.833769 ,0.540650 ,0.111924};
+ − 96 static float N057[3] = {-0.953653 ,-0.289939 ,0.080507};
+ − 97 static float N058[3] = {-0.672357 ,-0.730524 ,0.119461};
+ − 98 static float N059[3] = {0.522249 ,-0.846652 ,0.102157};
+ − 99 static float N060[3] = {0.885868 ,-0.427631 ,0.179914};
+ − 100 static float N062[3] = {0.648942 ,0.743116 ,0.163255};
+ − 101 static float N063[3] = {-0.578967 ,0.807730 ,0.111219};
+ − 102 static float N065[3] = {-0.909864 ,-0.352202 ,0.219321};
+ − 103 static float N066[3] = {-0.502541 ,-0.818090 ,0.279610};
+ − 104 static float N067[3] = {0.322919 ,-0.915358 ,0.240504};
+ − 105 static float N068[3] = {0.242536 ,0.000000 ,-0.970143};
+ − 106 static float N069[3] = {0.000000 ,1.000000 ,0.000000};
+ − 107 static float N070[3] = {0.000000 ,1.000000 ,0.000000};
+ − 108 static float N071[3] = {0.000000 ,1.000000 ,0.000000};
+ − 109 static float N072[3] = {0.000000 ,1.000000 ,0.000000};
+ − 110 static float N073[3] = {0.000000 ,1.000000 ,0.000000};
+ − 111 static float N074[3] = {0.000000 ,1.000000 ,0.000000};
+ − 112 static float N075[3] = {0.031220 ,0.999025 ,-0.031220};
+ − 113 static float N076[3] = {0.000000 ,1.000000 ,0.000000};
+ − 114 static float N077[3] = {0.446821 ,0.893642 ,0.041889};
+ − 115 static float N078[3] = {0.863035 ,-0.100980 ,0.494949};
+ − 116 static float N079[3] = {0.585597 ,-0.808215 ,0.062174};
+ − 117 static float N080[3] = {0.000000 ,1.000000 ,0.000000};
+ − 118 static float N081[3] = {1.000000 ,0.000000 ,0.000000};
+ − 119 static float N082[3] = {0.000000 ,1.000000 ,0.000000};
+ − 120 static float N083[3] = {-1.000000 ,0.000000 ,0.000000};
+ − 121 static float N084[3] = {-0.478893 ,0.837129 ,-0.264343};
+ − 122 static float N085[3] = {0.000000 ,1.000000 ,0.000000};
+ − 123 static float N086[3] = {0.763909 ,0.539455 ,-0.354163};
+ − 124 static float N087[3] = {0.446821 ,0.893642 ,0.041889};
+ − 125 static float N088[3] = {0.385134 ,-0.908288 ,0.163352};
+ − 126 static float N089[3] = {-0.605952 ,0.779253 ,-0.159961};
+ − 127 static float N090[3] = {0.000000 ,1.000000 ,0.000000};
+ − 128 static float N091[3] = {0.000000 ,1.000000 ,0.000000};
+ − 129 static float N092[3] = {0.000000 ,1.000000 ,0.000000};
+ − 130 static float N093[3] = {0.000000 ,1.000000 ,0.000000};
+ − 131 static float N094[3] = {1.000000 ,0.000000 ,0.000000};
+ − 132 static float N095[3] = {-1.000000 ,0.000000 ,0.000000};
+ − 133 static float N096[3] = {0.644444 ,-0.621516 ,0.445433};
+ − 134 static float N097[3] = {-0.760896 ,-0.474416 ,0.442681};
+ − 135 static float N098[3] = {0.636888 ,-0.464314 ,0.615456};
+ − 136 static float N099[3] = {-0.710295 ,0.647038 ,0.277168};
+ − 137 static float N100[3] = {0.009604 ,0.993655 ,0.112063};
+ − 138 static float iP001[3] = {18.74, 13.19, 3.76};
+ − 139 static float P001[3] = {18.74, 13.19, 3.76};
+ − 140 static float P002[3] = {0.00, 390.42, 10292.57};
+ − 141 static float P003[3] = {55.80, 622.31, 8254.35};
+ − 142 static float P004[3] = {20.80, 247.66, 10652.13};
+ − 143 static float P005[3] = {487.51, 198.05, 9350.78};
+ − 144 static float P006[3] = {-457.61, 199.04, 9353.01};
+ − 145 static float P008[3] = {-34.67, 247.64, 10663.71};
+ − 146 static float iP009[3] = {97.46, 67.63, 593.82};
+ − 147 static float iP010[3] = {-84.33, 67.63, 588.18};
+ − 148 static float iP011[3] = {118.69, 8.98, -66.91};
+ − 149 static float P009[3] = {97.46, 67.63, 593.82};
+ − 150 static float P010[3] = {-84.33, 67.63, 588.18};
+ − 151 static float P011[3] = {118.69, 8.98, -66.91};
+ − 152 static float iP012[3] = {156.48, -31.95, 924.54};
+ − 153 static float iP013[3] = {162.00, 110.22, 924.54};
+ − 154 static float iP014[3] = {88.16, 221.65, 924.54};
+ − 155 static float iP015[3] = {-65.21, 231.16, 924.54};
+ − 156 static float iP016[3] = {-156.48, 121.97, 924.54};
+ − 157 static float iP017[3] = {-162.00, -23.93, 924.54};
+ − 158 static float iP018[3] = {-88.16, -139.10, 924.54};
+ − 159 static float iP019[3] = {65.21, -148.61, 924.54};
+ − 160 static float iP020[3] = {246.87, -98.73, 1783.04};
+ − 161 static float iP021[3] = {253.17, 127.76, 1783.04};
+ − 162 static float iP022[3] = {132.34, 270.77, 1783.04};
+ − 163 static float iP023[3] = {-97.88, 285.04, 1783.04};
+ − 164 static float iP024[3] = {-222.97, 139.80, 1783.04};
+ − 165 static float iP025[3] = {-225.29, -86.68, 1783.04};
+ − 166 static float iP026[3] = {-108.44, -224.15, 1783.04};
+ − 167 static float iP027[3] = {97.88, -221.56, 1783.04};
+ − 168 static float iP028[3] = {410.55, -200.66, 3213.87};
+ − 169 static float iP029[3] = {432.19, 148.42, 3213.87};
+ − 170 static float iP030[3] = {200.66, 410.55, 3213.87};
+ − 171 static float iP031[3] = {-148.42, 432.19, 3213.87};
+ − 172 static float iP032[3] = {-407.48, 171.88, 3213.87};
+ − 173 static float iP033[3] = {-432.19, -148.42, 3213.87};
+ − 174 static float iP034[3] = {-148.88, -309.74, 3213.87};
+ − 175 static float iP035[3] = {156.38, -320.17, 3213.87};
+ − 176 static float iP036[3] = {523.39, -303.81, 4424.57};
+ − 177 static float iP037[3] = {574.66, 276.84, 4424.57};
+ − 178 static float iP038[3] = {243.05, 492.50, 4424.57};
+ − 179 static float iP039[3] = {-191.23, 520.13, 4424.57};
+ − 180 static float iP040[3] = {-523.39, 304.01, 4424.57};
+ − 181 static float iP041[3] = {-574.66, -231.83, 4424.57};
+ − 182 static float iP042[3] = {-266.95, -578.17, 4424.57};
+ − 183 static float iP043[3] = {211.14, -579.67, 4424.57};
+ − 184 static float iP044[3] = {680.57, -370.27, 5943.46};
+ − 185 static float iP045[3] = {834.01, 363.09, 5943.46};
+ − 186 static float iP046[3] = {371.29, 614.13, 5943.46};
+ − 187 static float iP047[3] = {-291.43, 621.86, 5943.46};
+ − 188 static float iP048[3] = {-784.13, 362.60, 5943.46};
+ − 189 static float iP049[3] = {-743.29, -325.82, 5943.46};
+ − 190 static float iP050[3] = {-383.24, -804.77, 5943.46};
+ − 191 static float iP051[3] = {283.47, -846.09, 5943.46};
+ − 192 static float P012[3] = {156.48, -31.95, 924.54};
+ − 193 static float P013[3] = {162.00, 110.22, 924.54};
+ − 194 static float P014[3] = {88.16, 221.65, 924.54};
+ − 195 static float P015[3] = {-65.21, 231.16, 924.54};
+ − 196 static float P016[3] = {-156.48, 121.97, 924.54};
+ − 197 static float P017[3] = {-162.00, -23.93, 924.54};
+ − 198 static float P018[3] = {-88.16, -139.10, 924.54};
+ − 199 static float P019[3] = {65.21, -148.61, 924.54};
+ − 200 static float P020[3] = {246.87, -98.73, 1783.04};
+ − 201 static float P021[3] = {253.17, 127.76, 1783.04};
+ − 202 static float P022[3] = {132.34, 270.77, 1783.04};
+ − 203 static float P023[3] = {-97.88, 285.04, 1783.04};
+ − 204 static float P024[3] = {-222.97, 139.80, 1783.04};
+ − 205 static float P025[3] = {-225.29, -86.68, 1783.04};
+ − 206 static float P026[3] = {-108.44, -224.15, 1783.04};
+ − 207 static float P027[3] = {97.88, -221.56, 1783.04};
+ − 208 static float P028[3] = {410.55, -200.66, 3213.87};
+ − 209 static float P029[3] = {432.19, 148.42, 3213.87};
+ − 210 static float P030[3] = {200.66, 410.55, 3213.87};
+ − 211 static float P031[3] = {-148.42, 432.19, 3213.87};
+ − 212 static float P032[3] = {-407.48, 171.88, 3213.87};
+ − 213 static float P033[3] = {-432.19, -148.42, 3213.87};
+ − 214 static float P034[3] = {-148.88, -309.74, 3213.87};
+ − 215 static float P035[3] = {156.38, -320.17, 3213.87};
+ − 216 static float P036[3] = {523.39, -303.81, 4424.57};
+ − 217 static float P037[3] = {574.66, 276.84, 4424.57};
+ − 218 static float P038[3] = {243.05, 492.50, 4424.57};
+ − 219 static float P039[3] = {-191.23, 520.13, 4424.57};
+ − 220 static float P040[3] = {-523.39, 304.01, 4424.57};
+ − 221 static float P041[3] = {-574.66, -231.83, 4424.57};
+ − 222 static float P042[3] = {-266.95, -578.17, 4424.57};
+ − 223 static float P043[3] = {211.14, -579.67, 4424.57};
+ − 224 static float P044[3] = {680.57, -370.27, 5943.46};
+ − 225 static float P045[3] = {834.01, 363.09, 5943.46};
+ − 226 static float P046[3] = {371.29, 614.13, 5943.46};
+ − 227 static float P047[3] = {-291.43, 621.86, 5943.46};
+ − 228 static float P048[3] = {-784.13, 362.60, 5943.46};
+ − 229 static float P049[3] = {-743.29, -325.82, 5943.46};
+ − 230 static float P050[3] = {-383.24, -804.77, 5943.46};
+ − 231 static float P051[3] = {283.47, -846.09, 5943.46};
+ − 232 static float P052[3] = {599.09, -332.24, 7902.59};
+ − 233 static float P053[3] = {735.48, 306.26, 7911.92};
+ − 234 static float P054[3] = {321.55, 558.53, 7902.59};
+ − 235 static float P055[3] = {-260.54, 559.84, 7902.59};
+ − 236 static float P056[3] = {-698.66, 320.83, 7902.59};
+ − 237 static float P057[3] = {-643.29, -299.16, 7902.59};
+ − 238 static float P058[3] = {-341.47, -719.30, 7902.59};
+ − 239 static float P059[3] = {252.57, -756.12, 7902.59};
+ − 240 static float P060[3] = {458.39, -265.31, 9355.44};
+ − 241 static float P062[3] = {224.04, 438.98, 9364.77};
+ − 242 static float P063[3] = {-165.71, 441.27, 9355.44};
+ − 243 static float P065[3] = {-473.99, -219.71, 9355.44};
+ − 244 static float P066[3] = {-211.97, -479.87, 9355.44};
+ − 245 static float P067[3] = {192.86, -504.03, 9355.44};
+ − 246 static float iP068[3] = {-112.44, 9.25, -64.42};
+ − 247 static float iP069[3] = {1155.63, 0.00, -182.46};
+ − 248 static float iP070[3] = {-1143.13, 0.00, -181.54};
+ − 249 static float iP071[3] = {1424.23, 0.00, -322.09};
+ − 250 static float iP072[3] = {-1368.01, 0.00, -310.38};
+ − 251 static float iP073[3] = {1255.57, 2.31, 114.05};
+ − 252 static float iP074[3] = {-1149.38, 0.00, 117.12};
+ − 253 static float iP075[3] = {718.36, 0.00, 433.36};
+ − 254 static float iP076[3] = {-655.90, 0.00, 433.36};
+ − 255 static float P068[3] = {-112.44, 9.25, -64.42};
+ − 256 static float P069[3] = {1155.63, 0.00, -182.46};
+ − 257 static float P070[3] = {-1143.13, 0.00, -181.54};
+ − 258 static float P071[3] = {1424.23, 0.00, -322.09};
+ − 259 static float P072[3] = {-1368.01, 0.00, -310.38};
+ − 260 static float P073[3] = {1255.57, 2.31, 114.05};
+ − 261 static float P074[3] = {-1149.38, 0.00, 117.12};
+ − 262 static float P075[3] = {718.36, 0.00, 433.36};
+ − 263 static float P076[3] = {-655.90, 0.00, 433.36};
+ − 264 static float P077[3] = {1058.00, -2.66, 7923.51};
+ − 265 static float P078[3] = {-1016.51, -15.47, 7902.87};
+ − 266 static float P079[3] = {-1363.99, -484.50, 7593.38};
+ − 267 static float P080[3] = {1478.09, -861.47, 7098.12};
+ − 268 static float P081[3] = {1338.06, -284.68, 7024.15};
+ − 269 static float P082[3] = {-1545.51, -860.64, 7106.60};
+ − 270 static float P083[3] = {1063.19, -70.46, 7466.60};
+ − 271 static float P084[3] = {-1369.18, -288.11, 7015.34};
+ − 272 static float P085[3] = {1348.44, -482.50, 7591.41};
+ − 273 static float P086[3] = {-1015.45, -96.80, 7474.86};
+ − 274 static float P087[3] = {731.04, 148.38, 7682.58};
+ − 275 static float P088[3] = {-697.03, 151.82, 7668.81};
+ − 276 static float P089[3] = {-686.82, 157.09, 7922.29};
+ − 277 static float P090[3] = {724.73, 147.75, 7931.39};
+ − 278 static float iP091[3] = {0.00, 327.10, 2346.55};
+ − 279 static float iP092[3] = {0.00, 552.28, 2311.31};
+ − 280 static float iP093[3] = {0.00, 721.16, 2166.41};
+ − 281 static float iP094[3] = {0.00, 693.42, 2388.80};
+ − 282 static float iP095[3] = {0.00, 389.44, 2859.97};
+ − 283 static float P091[3] = {0.00, 327.10, 2346.55};
+ − 284 static float P092[3] = {0.00, 552.28, 2311.31};
+ − 285 static float P093[3] = {0.00, 721.16, 2166.41};
+ − 286 static float P094[3] = {0.00, 693.42, 2388.80};
+ − 287 static float P095[3] = {0.00, 389.44, 2859.97};
+ − 288 static float iP096[3] = {222.02, -183.67, 10266.89};
+ − 289 static float iP097[3] = {-128.90, -182.70, 10266.89};
+ − 290 static float iP098[3] = {41.04, 88.31, 10659.36};
+ − 291 static float iP099[3] = {-48.73, 88.30, 10659.36};
+ − 292 static float P096[3] = {222.02, -183.67, 10266.89};
+ − 293 static float P097[3] = {-128.90, -182.70, 10266.89};
+ − 294 static float P098[3] = {41.04, 88.31, 10659.36};
+ − 295 static float P099[3] = {-48.73, 88.30, 10659.36};
+ − 296 static float P100[3] = {0.00, 603.42, 9340.68};
+ − 297 static float P104[3] = {-9.86, 567.62, 7858.65};
+ − 298 static float P105[3] = {31.96, 565.27, 7908.46};
+ − 299 static float P106[3] = {22.75, 568.13, 7782.83};
+ − 300 static float P107[3] = {58.93, 568.42, 7775.94};
+ − 301 static float P108[3] = {55.91, 565.59, 7905.86};
+ − 302 static float P109[3] = {99.21, 566.00, 7858.65};
+ − 303 static float P110[3] = {-498.83, 148.14, 9135.10};
+ − 304 static float P111[3] = {-495.46, 133.24, 9158.48};
+ − 305 static float P112[3] = {-490.82, 146.23, 9182.76};
+ − 306 static float P113[3] = {-489.55, 174.11, 9183.66};
+ − 307 static float P114[3] = {-492.92, 189.00, 9160.28};
+ − 308 static float P115[3] = {-497.56, 176.02, 9136.00};
+ − 309 static float P116[3] = {526.54, 169.68, 9137.70};
+ − 310 static float P117[3] = {523.49, 184.85, 9161.42};
+ − 311 static float P118[3] = {518.56, 171.78, 9186.06};
+ − 312 static float P119[3] = {516.68, 143.53, 9186.98};
+ − 313 static float P120[3] = {519.73, 128.36, 9163.26};
+ − 314 static float P121[3] = {524.66, 141.43, 9138.62};
+ − 315 /* *INDENT-ON* */
+ − 316
+ − 317 void
+ − 318 Whale001(void)
+ − 319 {
+ − 320
+ − 321 glBegin(GL_POLYGON);
+ − 322 glNormal3fv(N001);
+ − 323 glVertex3fv(P001);
+ − 324 glNormal3fv(N068);
+ − 325 glVertex3fv(P068);
+ − 326 glNormal3fv(N010);
+ − 327 glVertex3fv(P010);
+ − 328 glEnd();
+ − 329 glBegin(GL_POLYGON);
+ − 330 glNormal3fv(N068);
+ − 331 glVertex3fv(P068);
+ − 332 glNormal3fv(N076);
+ − 333 glVertex3fv(P076);
+ − 334 glNormal3fv(N010);
+ − 335 glVertex3fv(P010);
+ − 336 glEnd();
+ − 337 glBegin(GL_POLYGON);
+ − 338 glNormal3fv(N068);
+ − 339 glVertex3fv(P068);
+ − 340 glNormal3fv(N070);
+ − 341 glVertex3fv(P070);
+ − 342 glNormal3fv(N076);
+ − 343 glVertex3fv(P076);
+ − 344 glEnd();
+ − 345 glBegin(GL_POLYGON);
+ − 346 glNormal3fv(N076);
+ − 347 glVertex3fv(P076);
+ − 348 glNormal3fv(N070);
+ − 349 glVertex3fv(P070);
+ − 350 glNormal3fv(N074);
+ − 351 glVertex3fv(P074);
+ − 352 glEnd();
+ − 353 glBegin(GL_POLYGON);
+ − 354 glNormal3fv(N070);
+ − 355 glVertex3fv(P070);
+ − 356 glNormal3fv(N072);
+ − 357 glVertex3fv(P072);
+ − 358 glNormal3fv(N074);
+ − 359 glVertex3fv(P074);
+ − 360 glEnd();
+ − 361 glBegin(GL_POLYGON);
+ − 362 glNormal3fv(N072);
+ − 363 glVertex3fv(P072);
+ − 364 glNormal3fv(N070);
+ − 365 glVertex3fv(P070);
+ − 366 glNormal3fv(N074);
+ − 367 glVertex3fv(P074);
+ − 368 glEnd();
+ − 369 glBegin(GL_POLYGON);
+ − 370 glNormal3fv(N074);
+ − 371 glVertex3fv(P074);
+ − 372 glNormal3fv(N070);
+ − 373 glVertex3fv(P070);
+ − 374 glNormal3fv(N076);
+ − 375 glVertex3fv(P076);
+ − 376 glEnd();
+ − 377 glBegin(GL_POLYGON);
+ − 378 glNormal3fv(N070);
+ − 379 glVertex3fv(P070);
+ − 380 glNormal3fv(N068);
+ − 381 glVertex3fv(P068);
+ − 382 glNormal3fv(N076);
+ − 383 glVertex3fv(P076);
+ − 384 glEnd();
+ − 385 glBegin(GL_POLYGON);
+ − 386 glNormal3fv(N076);
+ − 387 glVertex3fv(P076);
+ − 388 glNormal3fv(N068);
+ − 389 glVertex3fv(P068);
+ − 390 glNormal3fv(N010);
+ − 391 glVertex3fv(P010);
+ − 392 glEnd();
+ − 393 glBegin(GL_POLYGON);
+ − 394 glNormal3fv(N068);
+ − 395 glVertex3fv(P068);
+ − 396 glNormal3fv(N001);
+ − 397 glVertex3fv(P001);
+ − 398 glNormal3fv(N010);
+ − 399 glVertex3fv(P010);
+ − 400 glEnd();
+ − 401 }
+ − 402
+ − 403 void
+ − 404 Whale002(void)
+ − 405 {
+ − 406 glBegin(GL_POLYGON);
+ − 407 glNormal3fv(N011);
+ − 408 glVertex3fv(P011);
+ − 409 glNormal3fv(N001);
+ − 410 glVertex3fv(P001);
+ − 411 glNormal3fv(N009);
+ − 412 glVertex3fv(P009);
+ − 413 glEnd();
+ − 414 glBegin(GL_POLYGON);
+ − 415 glNormal3fv(N075);
+ − 416 glVertex3fv(P075);
+ − 417 glNormal3fv(N011);
+ − 418 glVertex3fv(P011);
+ − 419 glNormal3fv(N009);
+ − 420 glVertex3fv(P009);
+ − 421 glEnd();
+ − 422 glBegin(GL_POLYGON);
+ − 423 glNormal3fv(N069);
+ − 424 glVertex3fv(P069);
+ − 425 glNormal3fv(N011);
+ − 426 glVertex3fv(P011);
+ − 427 glNormal3fv(N075);
+ − 428 glVertex3fv(P075);
+ − 429 glEnd();
+ − 430 glBegin(GL_POLYGON);
+ − 431 glNormal3fv(N069);
+ − 432 glVertex3fv(P069);
+ − 433 glNormal3fv(N075);
+ − 434 glVertex3fv(P075);
+ − 435 glNormal3fv(N073);
+ − 436 glVertex3fv(P073);
+ − 437 glEnd();
+ − 438 glBegin(GL_POLYGON);
+ − 439 glNormal3fv(N071);
+ − 440 glVertex3fv(P071);
+ − 441 glNormal3fv(N069);
+ − 442 glVertex3fv(P069);
+ − 443 glNormal3fv(N073);
+ − 444 glVertex3fv(P073);
+ − 445 glEnd();
+ − 446 glBegin(GL_POLYGON);
+ − 447 glNormal3fv(N001);
+ − 448 glVertex3fv(P001);
+ − 449 glNormal3fv(N011);
+ − 450 glVertex3fv(P011);
+ − 451 glNormal3fv(N009);
+ − 452 glVertex3fv(P009);
+ − 453 glEnd();
+ − 454 glBegin(GL_POLYGON);
+ − 455 glNormal3fv(N009);
+ − 456 glVertex3fv(P009);
+ − 457 glNormal3fv(N011);
+ − 458 glVertex3fv(P011);
+ − 459 glNormal3fv(N075);
+ − 460 glVertex3fv(P075);
+ − 461 glEnd();
+ − 462 glBegin(GL_POLYGON);
+ − 463 glNormal3fv(N011);
+ − 464 glVertex3fv(P011);
+ − 465 glNormal3fv(N069);
+ − 466 glVertex3fv(P069);
+ − 467 glNormal3fv(N075);
+ − 468 glVertex3fv(P075);
+ − 469 glEnd();
+ − 470 glBegin(GL_POLYGON);
+ − 471 glNormal3fv(N069);
+ − 472 glVertex3fv(P069);
+ − 473 glNormal3fv(N073);
+ − 474 glVertex3fv(P073);
+ − 475 glNormal3fv(N075);
+ − 476 glVertex3fv(P075);
+ − 477 glEnd();
+ − 478 glBegin(GL_POLYGON);
+ − 479 glNormal3fv(N069);
+ − 480 glVertex3fv(P069);
+ − 481 glNormal3fv(N071);
+ − 482 glVertex3fv(P071);
+ − 483 glNormal3fv(N073);
+ − 484 glVertex3fv(P073);
+ − 485 glEnd();
+ − 486 }
+ − 487
+ − 488 void
+ − 489 Whale003(void)
+ − 490 {
+ − 491 glBegin(GL_POLYGON);
+ − 492 glNormal3fv(N018);
+ − 493 glVertex3fv(P018);
+ − 494 glNormal3fv(N001);
+ − 495 glVertex3fv(P001);
+ − 496 glNormal3fv(N019);
+ − 497 glVertex3fv(P019);
+ − 498 glEnd();
+ − 499 glBegin(GL_POLYGON);
+ − 500 glNormal3fv(N019);
+ − 501 glVertex3fv(P019);
+ − 502 glNormal3fv(N001);
+ − 503 glVertex3fv(P001);
+ − 504 glNormal3fv(N012);
+ − 505 glVertex3fv(P012);
+ − 506 glEnd();
+ − 507 glBegin(GL_POLYGON);
+ − 508 glNormal3fv(N017);
+ − 509 glVertex3fv(P017);
+ − 510 glNormal3fv(N001);
+ − 511 glVertex3fv(P001);
+ − 512 glNormal3fv(N018);
+ − 513 glVertex3fv(P018);
+ − 514 glEnd();
+ − 515 glBegin(GL_POLYGON);
+ − 516 glNormal3fv(N001);
+ − 517 glVertex3fv(P001);
+ − 518 glNormal3fv(N017);
+ − 519 glVertex3fv(P017);
+ − 520 glNormal3fv(N016);
+ − 521 glVertex3fv(P016);
+ − 522 glEnd();
+ − 523 glBegin(GL_POLYGON);
+ − 524 glNormal3fv(N001);
+ − 525 glVertex3fv(P001);
+ − 526 glNormal3fv(N013);
+ − 527 glVertex3fv(P013);
+ − 528 glNormal3fv(N012);
+ − 529 glVertex3fv(P012);
+ − 530 glEnd();
+ − 531 glBegin(GL_POLYGON);
+ − 532 glNormal3fv(N001);
+ − 533 glVertex3fv(P001);
+ − 534 glNormal3fv(N016);
+ − 535 glVertex3fv(P016);
+ − 536 glNormal3fv(N015);
+ − 537 glVertex3fv(P015);
+ − 538 glEnd();
+ − 539 glBegin(GL_POLYGON);
+ − 540 glNormal3fv(N001);
+ − 541 glVertex3fv(P001);
+ − 542 glNormal3fv(N014);
+ − 543 glVertex3fv(P014);
+ − 544 glNormal3fv(N013);
+ − 545 glVertex3fv(P013);
+ − 546 glEnd();
+ − 547 glBegin(GL_POLYGON);
+ − 548 glNormal3fv(N001);
+ − 549 glVertex3fv(P001);
+ − 550 glNormal3fv(N015);
+ − 551 glVertex3fv(P015);
+ − 552 glNormal3fv(N014);
+ − 553 glVertex3fv(P014);
+ − 554 glEnd();
+ − 555 }
+ − 556
+ − 557 void
+ − 558 Whale004(void)
+ − 559 {
+ − 560 glBegin(GL_POLYGON);
+ − 561 glNormal3fv(N014);
+ − 562 glVertex3fv(P014);
+ − 563 glNormal3fv(N015);
+ − 564 glVertex3fv(P015);
+ − 565 glNormal3fv(N023);
+ − 566 glVertex3fv(P023);
+ − 567 glNormal3fv(N022);
+ − 568 glVertex3fv(P022);
+ − 569 glEnd();
+ − 570 glBegin(GL_POLYGON);
+ − 571 glNormal3fv(N015);
+ − 572 glVertex3fv(P015);
+ − 573 glNormal3fv(N016);
+ − 574 glVertex3fv(P016);
+ − 575 glNormal3fv(N024);
+ − 576 glVertex3fv(P024);
+ − 577 glNormal3fv(N023);
+ − 578 glVertex3fv(P023);
+ − 579 glEnd();
+ − 580 glBegin(GL_POLYGON);
+ − 581 glNormal3fv(N016);
+ − 582 glVertex3fv(P016);
+ − 583 glNormal3fv(N017);
+ − 584 glVertex3fv(P017);
+ − 585 glNormal3fv(N025);
+ − 586 glVertex3fv(P025);
+ − 587 glNormal3fv(N024);
+ − 588 glVertex3fv(P024);
+ − 589 glEnd();
+ − 590 glBegin(GL_POLYGON);
+ − 591 glNormal3fv(N017);
+ − 592 glVertex3fv(P017);
+ − 593 glNormal3fv(N018);
+ − 594 glVertex3fv(P018);
+ − 595 glNormal3fv(N026);
+ − 596 glVertex3fv(P026);
+ − 597 glNormal3fv(N025);
+ − 598 glVertex3fv(P025);
+ − 599 glEnd();
+ − 600 glBegin(GL_POLYGON);
+ − 601 glNormal3fv(N013);
+ − 602 glVertex3fv(P013);
+ − 603 glNormal3fv(N014);
+ − 604 glVertex3fv(P014);
+ − 605 glNormal3fv(N022);
+ − 606 glVertex3fv(P022);
+ − 607 glNormal3fv(N021);
+ − 608 glVertex3fv(P021);
+ − 609 glEnd();
+ − 610 glBegin(GL_POLYGON);
+ − 611 glNormal3fv(N012);
+ − 612 glVertex3fv(P012);
+ − 613 glNormal3fv(N013);
+ − 614 glVertex3fv(P013);
+ − 615 glNormal3fv(N021);
+ − 616 glVertex3fv(P021);
+ − 617 glNormal3fv(N020);
+ − 618 glVertex3fv(P020);
+ − 619 glEnd();
+ − 620 glBegin(GL_POLYGON);
+ − 621 glNormal3fv(N018);
+ − 622 glVertex3fv(P018);
+ − 623 glNormal3fv(N019);
+ − 624 glVertex3fv(P019);
+ − 625 glNormal3fv(N027);
+ − 626 glVertex3fv(P027);
+ − 627 glNormal3fv(N026);
+ − 628 glVertex3fv(P026);
+ − 629 glEnd();
+ − 630 glBegin(GL_POLYGON);
+ − 631 glNormal3fv(N019);
+ − 632 glVertex3fv(P019);
+ − 633 glNormal3fv(N012);
+ − 634 glVertex3fv(P012);
+ − 635 glNormal3fv(N020);
+ − 636 glVertex3fv(P020);
+ − 637 glNormal3fv(N027);
+ − 638 glVertex3fv(P027);
+ − 639 glEnd();
+ − 640 }
+ − 641
+ − 642 void
+ − 643 Whale005(void)
+ − 644 {
+ − 645 glBegin(GL_POLYGON);
+ − 646 glNormal3fv(N022);
+ − 647 glVertex3fv(P022);
+ − 648 glNormal3fv(N023);
+ − 649 glVertex3fv(P023);
+ − 650 glNormal3fv(N031);
+ − 651 glVertex3fv(P031);
+ − 652 glNormal3fv(N030);
+ − 653 glVertex3fv(P030);
+ − 654 glEnd();
+ − 655 glBegin(GL_POLYGON);
+ − 656 glNormal3fv(N021);
+ − 657 glVertex3fv(P021);
+ − 658 glNormal3fv(N022);
+ − 659 glVertex3fv(P022);
+ − 660 glNormal3fv(N030);
+ − 661 glVertex3fv(P030);
+ − 662 glEnd();
+ − 663 glBegin(GL_POLYGON);
+ − 664 glNormal3fv(N021);
+ − 665 glVertex3fv(P021);
+ − 666 glNormal3fv(N030);
+ − 667 glVertex3fv(P030);
+ − 668 glNormal3fv(N029);
+ − 669 glVertex3fv(P029);
+ − 670 glEnd();
+ − 671 glBegin(GL_POLYGON);
+ − 672 glNormal3fv(N023);
+ − 673 glVertex3fv(P023);
+ − 674 glNormal3fv(N024);
+ − 675 glVertex3fv(P024);
+ − 676 glNormal3fv(N031);
+ − 677 glVertex3fv(P031);
+ − 678 glEnd();
+ − 679 glBegin(GL_POLYGON);
+ − 680 glNormal3fv(N024);
+ − 681 glVertex3fv(P024);
+ − 682 glNormal3fv(N032);
+ − 683 glVertex3fv(P032);
+ − 684 glNormal3fv(N031);
+ − 685 glVertex3fv(P031);
+ − 686 glEnd();
+ − 687 glBegin(GL_POLYGON);
+ − 688 glNormal3fv(N024);
+ − 689 glVertex3fv(P024);
+ − 690 glNormal3fv(N025);
+ − 691 glVertex3fv(P025);
+ − 692 glNormal3fv(N032);
+ − 693 glVertex3fv(P032);
+ − 694 glEnd();
+ − 695 glBegin(GL_POLYGON);
+ − 696 glNormal3fv(N025);
+ − 697 glVertex3fv(P025);
+ − 698 glNormal3fv(N033);
+ − 699 glVertex3fv(P033);
+ − 700 glNormal3fv(N032);
+ − 701 glVertex3fv(P032);
+ − 702 glEnd();
+ − 703 glBegin(GL_POLYGON);
+ − 704 glNormal3fv(N020);
+ − 705 glVertex3fv(P020);
+ − 706 glNormal3fv(N021);
+ − 707 glVertex3fv(P021);
+ − 708 glNormal3fv(N029);
+ − 709 glVertex3fv(P029);
+ − 710 glEnd();
+ − 711 glBegin(GL_POLYGON);
+ − 712 glNormal3fv(N020);
+ − 713 glVertex3fv(P020);
+ − 714 glNormal3fv(N029);
+ − 715 glVertex3fv(P029);
+ − 716 glNormal3fv(N028);
+ − 717 glVertex3fv(P028);
+ − 718 glEnd();
+ − 719 glBegin(GL_POLYGON);
+ − 720 glNormal3fv(N027);
+ − 721 glVertex3fv(P027);
+ − 722 glNormal3fv(N020);
+ − 723 glVertex3fv(P020);
+ − 724 glNormal3fv(N028);
+ − 725 glVertex3fv(P028);
+ − 726 glEnd();
+ − 727 glBegin(GL_POLYGON);
+ − 728 glNormal3fv(N027);
+ − 729 glVertex3fv(P027);
+ − 730 glNormal3fv(N028);
+ − 731 glVertex3fv(P028);
+ − 732 glNormal3fv(N035);
+ − 733 glVertex3fv(P035);
+ − 734 glEnd();
+ − 735 glBegin(GL_POLYGON);
+ − 736 glNormal3fv(N025);
+ − 737 glVertex3fv(P025);
+ − 738 glNormal3fv(N026);
+ − 739 glVertex3fv(P026);
+ − 740 glNormal3fv(N033);
+ − 741 glVertex3fv(P033);
+ − 742 glEnd();
+ − 743 glBegin(GL_POLYGON);
+ − 744 glNormal3fv(N033);
+ − 745 glVertex3fv(P033);
+ − 746 glNormal3fv(N026);
+ − 747 glVertex3fv(P026);
+ − 748 glNormal3fv(N034);
+ − 749 glVertex3fv(P034);
+ − 750 glEnd();
+ − 751 glBegin(GL_POLYGON);
+ − 752 glNormal3fv(N026);
+ − 753 glVertex3fv(P026);
+ − 754 glNormal3fv(N027);
+ − 755 glVertex3fv(P027);
+ − 756 glNormal3fv(N035);
+ − 757 glVertex3fv(P035);
+ − 758 glNormal3fv(N034);
+ − 759 glVertex3fv(P034);
+ − 760 glEnd();
+ − 761 }
+ − 762
+ − 763 void
+ − 764 Whale006(void)
+ − 765 {
+ − 766 glBegin(GL_POLYGON);
+ − 767 glNormal3fv(N092);
+ − 768 glVertex3fv(P092);
+ − 769 glNormal3fv(N093);
+ − 770 glVertex3fv(P093);
+ − 771 glNormal3fv(N094);
+ − 772 glVertex3fv(P094);
+ − 773 glEnd();
+ − 774 glBegin(GL_POLYGON);
+ − 775 glNormal3fv(N093);
+ − 776 glVertex3fv(P093);
+ − 777 glNormal3fv(N092);
+ − 778 glVertex3fv(P092);
+ − 779 glNormal3fv(N094);
+ − 780 glVertex3fv(P094);
+ − 781 glEnd();
+ − 782 glBegin(GL_POLYGON);
+ − 783 glNormal3fv(N092);
+ − 784 glVertex3fv(P092);
+ − 785 glNormal3fv(N091);
+ − 786 glVertex3fv(P091);
+ − 787 glNormal3fv(N095);
+ − 788 glVertex3fv(P095);
+ − 789 glNormal3fv(N094);
+ − 790 glVertex3fv(P094);
+ − 791 glEnd();
+ − 792 glBegin(GL_POLYGON);
+ − 793 glNormal3fv(N091);
+ − 794 glVertex3fv(P091);
+ − 795 glNormal3fv(N092);
+ − 796 glVertex3fv(P092);
+ − 797 glNormal3fv(N094);
+ − 798 glVertex3fv(P094);
+ − 799 glNormal3fv(N095);
+ − 800 glVertex3fv(P095);
+ − 801 glEnd();
+ − 802 }
+ − 803
+ − 804 void
+ − 805 Whale007(void)
+ − 806 {
+ − 807 glBegin(GL_POLYGON);
+ − 808 glNormal3fv(N030);
+ − 809 glVertex3fv(P030);
+ − 810 glNormal3fv(N031);
+ − 811 glVertex3fv(P031);
+ − 812 glNormal3fv(N039);
+ − 813 glVertex3fv(P039);
+ − 814 glNormal3fv(N038);
+ − 815 glVertex3fv(P038);
+ − 816 glEnd();
+ − 817 glBegin(GL_POLYGON);
+ − 818 glNormal3fv(N029);
+ − 819 glVertex3fv(P029);
+ − 820 glNormal3fv(N030);
+ − 821 glVertex3fv(P030);
+ − 822 glNormal3fv(N038);
+ − 823 glVertex3fv(P038);
+ − 824 glEnd();
+ − 825 glBegin(GL_POLYGON);
+ − 826 glNormal3fv(N029);
+ − 827 glVertex3fv(P029);
+ − 828 glNormal3fv(N038);
+ − 829 glVertex3fv(P038);
+ − 830 glNormal3fv(N037);
+ − 831 glVertex3fv(P037);
+ − 832 glEnd();
+ − 833 glBegin(GL_POLYGON);
+ − 834 glNormal3fv(N028);
+ − 835 glVertex3fv(P028);
+ − 836 glNormal3fv(N029);
+ − 837 glVertex3fv(P029);
+ − 838 glNormal3fv(N037);
+ − 839 glVertex3fv(P037);
+ − 840 glEnd();
+ − 841 glBegin(GL_POLYGON);
+ − 842 glNormal3fv(N028);
+ − 843 glVertex3fv(P028);
+ − 844 glNormal3fv(N037);
+ − 845 glVertex3fv(P037);
+ − 846 glNormal3fv(N036);
+ − 847 glVertex3fv(P036);
+ − 848 glEnd();
+ − 849 glBegin(GL_POLYGON);
+ − 850 glNormal3fv(N035);
+ − 851 glVertex3fv(P035);
+ − 852 glNormal3fv(N028);
+ − 853 glVertex3fv(P028);
+ − 854 glNormal3fv(N036);
+ − 855 glVertex3fv(P036);
+ − 856 glEnd();
+ − 857 glBegin(GL_POLYGON);
+ − 858 glNormal3fv(N035);
+ − 859 glVertex3fv(P035);
+ − 860 glNormal3fv(N036);
+ − 861 glVertex3fv(P036);
+ − 862 glNormal3fv(N043);
+ − 863 glVertex3fv(P043);
+ − 864 glEnd();
+ − 865 glBegin(GL_POLYGON);
+ − 866 glNormal3fv(N034);
+ − 867 glVertex3fv(P034);
+ − 868 glNormal3fv(N035);
+ − 869 glVertex3fv(P035);
+ − 870 glNormal3fv(N043);
+ − 871 glVertex3fv(P043);
+ − 872 glNormal3fv(N042);
+ − 873 glVertex3fv(P042);
+ − 874 glEnd();
+ − 875 glBegin(GL_POLYGON);
+ − 876 glNormal3fv(N033);
+ − 877 glVertex3fv(P033);
+ − 878 glNormal3fv(N034);
+ − 879 glVertex3fv(P034);
+ − 880 glNormal3fv(N042);
+ − 881 glVertex3fv(P042);
+ − 882 glEnd();
+ − 883 glBegin(GL_POLYGON);
+ − 884 glNormal3fv(N033);
+ − 885 glVertex3fv(P033);
+ − 886 glNormal3fv(N042);
+ − 887 glVertex3fv(P042);
+ − 888 glNormal3fv(N041);
+ − 889 glVertex3fv(P041);
+ − 890 glEnd();
+ − 891 glBegin(GL_POLYGON);
+ − 892 glNormal3fv(N031);
+ − 893 glVertex3fv(P031);
+ − 894 glNormal3fv(N032);
+ − 895 glVertex3fv(P032);
+ − 896 glNormal3fv(N039);
+ − 897 glVertex3fv(P039);
+ − 898 glEnd();
+ − 899 glBegin(GL_POLYGON);
+ − 900 glNormal3fv(N039);
+ − 901 glVertex3fv(P039);
+ − 902 glNormal3fv(N032);
+ − 903 glVertex3fv(P032);
+ − 904 glNormal3fv(N040);
+ − 905 glVertex3fv(P040);
+ − 906 glEnd();
+ − 907 glBegin(GL_POLYGON);
+ − 908 glNormal3fv(N032);
+ − 909 glVertex3fv(P032);
+ − 910 glNormal3fv(N033);
+ − 911 glVertex3fv(P033);
+ − 912 glNormal3fv(N040);
+ − 913 glVertex3fv(P040);
+ − 914 glEnd();
+ − 915 glBegin(GL_POLYGON);
+ − 916 glNormal3fv(N040);
+ − 917 glVertex3fv(P040);
+ − 918 glNormal3fv(N033);
+ − 919 glVertex3fv(P033);
+ − 920 glNormal3fv(N041);
+ − 921 glVertex3fv(P041);
+ − 922 glEnd();
+ − 923 }
+ − 924
+ − 925 void
+ − 926 Whale008(void)
+ − 927 {
+ − 928 glBegin(GL_POLYGON);
+ − 929 glNormal3fv(N042);
+ − 930 glVertex3fv(P042);
+ − 931 glNormal3fv(N043);
+ − 932 glVertex3fv(P043);
+ − 933 glNormal3fv(N051);
+ − 934 glVertex3fv(P051);
+ − 935 glNormal3fv(N050);
+ − 936 glVertex3fv(P050);
+ − 937 glEnd();
+ − 938 glBegin(GL_POLYGON);
+ − 939 glNormal3fv(N043);
+ − 940 glVertex3fv(P043);
+ − 941 glNormal3fv(N036);
+ − 942 glVertex3fv(P036);
+ − 943 glNormal3fv(N051);
+ − 944 glVertex3fv(P051);
+ − 945 glEnd();
+ − 946 glBegin(GL_POLYGON);
+ − 947 glNormal3fv(N051);
+ − 948 glVertex3fv(P051);
+ − 949 glNormal3fv(N036);
+ − 950 glVertex3fv(P036);
+ − 951 glNormal3fv(N044);
+ − 952 glVertex3fv(P044);
+ − 953 glEnd();
+ − 954 glBegin(GL_POLYGON);
+ − 955 glNormal3fv(N041);
+ − 956 glVertex3fv(P041);
+ − 957 glNormal3fv(N042);
+ − 958 glVertex3fv(P042);
+ − 959 glNormal3fv(N050);
+ − 960 glVertex3fv(P050);
+ − 961 glEnd();
+ − 962 glBegin(GL_POLYGON);
+ − 963 glNormal3fv(N041);
+ − 964 glVertex3fv(P041);
+ − 965 glNormal3fv(N050);
+ − 966 glVertex3fv(P050);
+ − 967 glNormal3fv(N049);
+ − 968 glVertex3fv(P049);
+ − 969 glEnd();
+ − 970 glBegin(GL_POLYGON);
+ − 971 glNormal3fv(N036);
+ − 972 glVertex3fv(P036);
+ − 973 glNormal3fv(N037);
+ − 974 glVertex3fv(P037);
+ − 975 glNormal3fv(N044);
+ − 976 glVertex3fv(P044);
+ − 977 glEnd();
+ − 978 glBegin(GL_POLYGON);
+ − 979 glNormal3fv(N044);
+ − 980 glVertex3fv(P044);
+ − 981 glNormal3fv(N037);
+ − 982 glVertex3fv(P037);
+ − 983 glNormal3fv(N045);
+ − 984 glVertex3fv(P045);
+ − 985 glEnd();
+ − 986 glBegin(GL_POLYGON);
+ − 987 glNormal3fv(N040);
+ − 988 glVertex3fv(P040);
+ − 989 glNormal3fv(N041);
+ − 990 glVertex3fv(P041);
+ − 991 glNormal3fv(N049);
+ − 992 glVertex3fv(P049);
+ − 993 glEnd();
+ − 994 glBegin(GL_POLYGON);
+ − 995 glNormal3fv(N040);
+ − 996 glVertex3fv(P040);
+ − 997 glNormal3fv(N049);
+ − 998 glVertex3fv(P049);
+ − 999 glNormal3fv(N048);
+ − 1000 glVertex3fv(P048);
+ − 1001 glEnd();
+ − 1002 glBegin(GL_POLYGON);
+ − 1003 glNormal3fv(N039);
+ − 1004 glVertex3fv(P039);
+ − 1005 glNormal3fv(N040);
+ − 1006 glVertex3fv(P040);
+ − 1007 glNormal3fv(N048);
+ − 1008 glVertex3fv(P048);
+ − 1009 glEnd();
+ − 1010 glBegin(GL_POLYGON);
+ − 1011 glNormal3fv(N039);
+ − 1012 glVertex3fv(P039);
+ − 1013 glNormal3fv(N048);
+ − 1014 glVertex3fv(P048);
+ − 1015 glNormal3fv(N047);
+ − 1016 glVertex3fv(P047);
+ − 1017 glEnd();
+ − 1018 glBegin(GL_POLYGON);
+ − 1019 glNormal3fv(N037);
+ − 1020 glVertex3fv(P037);
+ − 1021 glNormal3fv(N038);
+ − 1022 glVertex3fv(P038);
+ − 1023 glNormal3fv(N045);
+ − 1024 glVertex3fv(P045);
+ − 1025 glEnd();
+ − 1026 glBegin(GL_POLYGON);
+ − 1027 glNormal3fv(N038);
+ − 1028 glVertex3fv(P038);
+ − 1029 glNormal3fv(N046);
+ − 1030 glVertex3fv(P046);
+ − 1031 glNormal3fv(N045);
+ − 1032 glVertex3fv(P045);
+ − 1033 glEnd();
+ − 1034 glBegin(GL_POLYGON);
+ − 1035 glNormal3fv(N038);
+ − 1036 glVertex3fv(P038);
+ − 1037 glNormal3fv(N039);
+ − 1038 glVertex3fv(P039);
+ − 1039 glNormal3fv(N047);
+ − 1040 glVertex3fv(P047);
+ − 1041 glNormal3fv(N046);
+ − 1042 glVertex3fv(P046);
+ − 1043 glEnd();
+ − 1044 }
+ − 1045
+ − 1046 void
+ − 1047 Whale009(void)
+ − 1048 {
+ − 1049 glBegin(GL_POLYGON);
+ − 1050 glNormal3fv(N050);
+ − 1051 glVertex3fv(P050);
+ − 1052 glNormal3fv(N051);
+ − 1053 glVertex3fv(P051);
+ − 1054 glNormal3fv(N059);
+ − 1055 glVertex3fv(P059);
+ − 1056 glNormal3fv(N058);
+ − 1057 glVertex3fv(P058);
+ − 1058 glEnd();
+ − 1059 glBegin(GL_POLYGON);
+ − 1060 glNormal3fv(N051);
+ − 1061 glVertex3fv(P051);
+ − 1062 glNormal3fv(N044);
+ − 1063 glVertex3fv(P044);
+ − 1064 glNormal3fv(N059);
+ − 1065 glVertex3fv(P059);
+ − 1066 glEnd();
+ − 1067 glBegin(GL_POLYGON);
+ − 1068 glNormal3fv(N059);
+ − 1069 glVertex3fv(P059);
+ − 1070 glNormal3fv(N044);
+ − 1071 glVertex3fv(P044);
+ − 1072 glNormal3fv(N052);
+ − 1073 glVertex3fv(P052);
+ − 1074 glEnd();
+ − 1075 glBegin(GL_POLYGON);
+ − 1076 glNormal3fv(N044);
+ − 1077 glVertex3fv(P044);
+ − 1078 glNormal3fv(N045);
+ − 1079 glVertex3fv(P045);
+ − 1080 glNormal3fv(N053);
+ − 1081 glVertex3fv(P053);
+ − 1082 glEnd();
+ − 1083 glBegin(GL_POLYGON);
+ − 1084 glNormal3fv(N044);
+ − 1085 glVertex3fv(P044);
+ − 1086 glNormal3fv(N053);
+ − 1087 glVertex3fv(P053);
+ − 1088 glNormal3fv(N052);
+ − 1089 glVertex3fv(P052);
+ − 1090 glEnd();
+ − 1091 glBegin(GL_POLYGON);
+ − 1092 glNormal3fv(N049);
+ − 1093 glVertex3fv(P049);
+ − 1094 glNormal3fv(N050);
+ − 1095 glVertex3fv(P050);
+ − 1096 glNormal3fv(N058);
+ − 1097 glVertex3fv(P058);
+ − 1098 glEnd();
+ − 1099 glBegin(GL_POLYGON);
+ − 1100 glNormal3fv(N049);
+ − 1101 glVertex3fv(P049);
+ − 1102 glNormal3fv(N058);
+ − 1103 glVertex3fv(P058);
+ − 1104 glNormal3fv(N057);
+ − 1105 glVertex3fv(P057);
+ − 1106 glEnd();
+ − 1107 glBegin(GL_POLYGON);
+ − 1108 glNormal3fv(N048);
+ − 1109 glVertex3fv(P048);
+ − 1110 glNormal3fv(N049);
+ − 1111 glVertex3fv(P049);
+ − 1112 glNormal3fv(N057);
+ − 1113 glVertex3fv(P057);
+ − 1114 glEnd();
+ − 1115 glBegin(GL_POLYGON);
+ − 1116 glNormal3fv(N048);
+ − 1117 glVertex3fv(P048);
+ − 1118 glNormal3fv(N057);
+ − 1119 glVertex3fv(P057);
+ − 1120 glNormal3fv(N056);
+ − 1121 glVertex3fv(P056);
+ − 1122 glEnd();
+ − 1123 glBegin(GL_POLYGON);
+ − 1124 glNormal3fv(N047);
+ − 1125 glVertex3fv(P047);
+ − 1126 glNormal3fv(N048);
+ − 1127 glVertex3fv(P048);
+ − 1128 glNormal3fv(N056);
+ − 1129 glVertex3fv(P056);
+ − 1130 glEnd();
+ − 1131 glBegin(GL_POLYGON);
+ − 1132 glNormal3fv(N047);
+ − 1133 glVertex3fv(P047);
+ − 1134 glNormal3fv(N056);
+ − 1135 glVertex3fv(P056);
+ − 1136 glNormal3fv(N055);
+ − 1137 glVertex3fv(P055);
+ − 1138 glEnd();
+ − 1139 glBegin(GL_POLYGON);
+ − 1140 glNormal3fv(N045);
+ − 1141 glVertex3fv(P045);
+ − 1142 glNormal3fv(N046);
+ − 1143 glVertex3fv(P046);
+ − 1144 glNormal3fv(N053);
+ − 1145 glVertex3fv(P053);
+ − 1146 glEnd();
+ − 1147 glBegin(GL_POLYGON);
+ − 1148 glNormal3fv(N046);
+ − 1149 glVertex3fv(P046);
+ − 1150 glNormal3fv(N054);
+ − 1151 glVertex3fv(P054);
+ − 1152 glNormal3fv(N053);
+ − 1153 glVertex3fv(P053);
+ − 1154 glEnd();
+ − 1155 glBegin(GL_POLYGON);
+ − 1156 glNormal3fv(N046);
+ − 1157 glVertex3fv(P046);
+ − 1158 glNormal3fv(N047);
+ − 1159 glVertex3fv(P047);
+ − 1160 glNormal3fv(N055);
+ − 1161 glVertex3fv(P055);
+ − 1162 glNormal3fv(N054);
+ − 1163 glVertex3fv(P054);
+ − 1164 glEnd();
+ − 1165 }
+ − 1166
+ − 1167 void
+ − 1168 Whale010(void)
+ − 1169 {
+ − 1170 glBegin(GL_POLYGON);
+ − 1171 glNormal3fv(N080);
+ − 1172 glVertex3fv(P080);
+ − 1173 glNormal3fv(N081);
+ − 1174 glVertex3fv(P081);
+ − 1175 glNormal3fv(N085);
+ − 1176 glVertex3fv(P085);
+ − 1177 glEnd();
+ − 1178 glBegin(GL_POLYGON);
+ − 1179 glNormal3fv(N081);
+ − 1180 glVertex3fv(P081);
+ − 1181 glNormal3fv(N083);
+ − 1182 glVertex3fv(P083);
+ − 1183 glNormal3fv(N085);
+ − 1184 glVertex3fv(P085);
+ − 1185 glEnd();
+ − 1186 glBegin(GL_POLYGON);
+ − 1187 glNormal3fv(N085);
+ − 1188 glVertex3fv(P085);
+ − 1189 glNormal3fv(N083);
+ − 1190 glVertex3fv(P083);
+ − 1191 glNormal3fv(N077);
+ − 1192 glVertex3fv(P077);
+ − 1193 glEnd();
+ − 1194 glBegin(GL_POLYGON);
+ − 1195 glNormal3fv(N083);
+ − 1196 glVertex3fv(P083);
+ − 1197 glNormal3fv(N087);
+ − 1198 glVertex3fv(P087);
+ − 1199 glNormal3fv(N077);
+ − 1200 glVertex3fv(P077);
+ − 1201 glEnd();
+ − 1202 glBegin(GL_POLYGON);
+ − 1203 glNormal3fv(N077);
+ − 1204 glVertex3fv(P077);
+ − 1205 glNormal3fv(N087);
+ − 1206 glVertex3fv(P087);
+ − 1207 glNormal3fv(N090);
+ − 1208 glVertex3fv(P090);
+ − 1209 glEnd();
+ − 1210 glBegin(GL_POLYGON);
+ − 1211 glNormal3fv(N081);
+ − 1212 glVertex3fv(P081);
+ − 1213 glNormal3fv(N080);
+ − 1214 glVertex3fv(P080);
+ − 1215 glNormal3fv(N085);
+ − 1216 glVertex3fv(P085);
+ − 1217 glEnd();
+ − 1218 glBegin(GL_POLYGON);
+ − 1219 glNormal3fv(N083);
+ − 1220 glVertex3fv(P083);
+ − 1221 glNormal3fv(N081);
+ − 1222 glVertex3fv(P081);
+ − 1223 glNormal3fv(N085);
+ − 1224 glVertex3fv(P085);
+ − 1225 glEnd();
+ − 1226 glBegin(GL_POLYGON);
+ − 1227 glNormal3fv(N083);
+ − 1228 glVertex3fv(P083);
+ − 1229 glNormal3fv(N085);
+ − 1230 glVertex3fv(P085);
+ − 1231 glNormal3fv(N077);
+ − 1232 glVertex3fv(P077);
+ − 1233 glEnd();
+ − 1234 glBegin(GL_POLYGON);
+ − 1235 glNormal3fv(N087);
+ − 1236 glVertex3fv(P087);
+ − 1237 glNormal3fv(N083);
+ − 1238 glVertex3fv(P083);
+ − 1239 glNormal3fv(N077);
+ − 1240 glVertex3fv(P077);
+ − 1241 glEnd();
+ − 1242 glBegin(GL_POLYGON);
+ − 1243 glNormal3fv(N087);
+ − 1244 glVertex3fv(P087);
+ − 1245 glNormal3fv(N077);
+ − 1246 glVertex3fv(P077);
+ − 1247 glNormal3fv(N090);
+ − 1248 glVertex3fv(P090);
+ − 1249 glEnd();
+ − 1250 }
+ − 1251
+ − 1252 void
+ − 1253 Whale011(void)
+ − 1254 {
+ − 1255 glBegin(GL_POLYGON);
+ − 1256 glNormal3fv(N082);
+ − 1257 glVertex3fv(P082);
+ − 1258 glNormal3fv(N084);
+ − 1259 glVertex3fv(P084);
+ − 1260 glNormal3fv(N079);
+ − 1261 glVertex3fv(P079);
+ − 1262 glEnd();
+ − 1263 glBegin(GL_POLYGON);
+ − 1264 glNormal3fv(N084);
+ − 1265 glVertex3fv(P084);
+ − 1266 glNormal3fv(N086);
+ − 1267 glVertex3fv(P086);
+ − 1268 glNormal3fv(N079);
+ − 1269 glVertex3fv(P079);
+ − 1270 glEnd();
+ − 1271 glBegin(GL_POLYGON);
+ − 1272 glNormal3fv(N079);
+ − 1273 glVertex3fv(P079);
+ − 1274 glNormal3fv(N086);
+ − 1275 glVertex3fv(P086);
+ − 1276 glNormal3fv(N078);
+ − 1277 glVertex3fv(P078);
+ − 1278 glEnd();
+ − 1279 glBegin(GL_POLYGON);
+ − 1280 glNormal3fv(N086);
+ − 1281 glVertex3fv(P086);
+ − 1282 glNormal3fv(N088);
+ − 1283 glVertex3fv(P088);
+ − 1284 glNormal3fv(N078);
+ − 1285 glVertex3fv(P078);
+ − 1286 glEnd();
+ − 1287 glBegin(GL_POLYGON);
+ − 1288 glNormal3fv(N078);
+ − 1289 glVertex3fv(P078);
+ − 1290 glNormal3fv(N088);
+ − 1291 glVertex3fv(P088);
+ − 1292 glNormal3fv(N089);
+ − 1293 glVertex3fv(P089);
+ − 1294 glEnd();
+ − 1295 glBegin(GL_POLYGON);
+ − 1296 glNormal3fv(N088);
+ − 1297 glVertex3fv(P088);
+ − 1298 glNormal3fv(N086);
+ − 1299 glVertex3fv(P086);
+ − 1300 glNormal3fv(N089);
+ − 1301 glVertex3fv(P089);
+ − 1302 glEnd();
+ − 1303 glBegin(GL_POLYGON);
+ − 1304 glNormal3fv(N089);
+ − 1305 glVertex3fv(P089);
+ − 1306 glNormal3fv(N086);
+ − 1307 glVertex3fv(P086);
+ − 1308 glNormal3fv(N078);
+ − 1309 glVertex3fv(P078);
+ − 1310 glEnd();
+ − 1311 glBegin(GL_POLYGON);
+ − 1312 glNormal3fv(N086);
+ − 1313 glVertex3fv(P086);
+ − 1314 glNormal3fv(N084);
+ − 1315 glVertex3fv(P084);
+ − 1316 glNormal3fv(N078);
+ − 1317 glVertex3fv(P078);
+ − 1318 glEnd();
+ − 1319 glBegin(GL_POLYGON);
+ − 1320 glNormal3fv(N078);
+ − 1321 glVertex3fv(P078);
+ − 1322 glNormal3fv(N084);
+ − 1323 glVertex3fv(P084);
+ − 1324 glNormal3fv(N079);
+ − 1325 glVertex3fv(P079);
+ − 1326 glEnd();
+ − 1327 glBegin(GL_POLYGON);
+ − 1328 glNormal3fv(N084);
+ − 1329 glVertex3fv(P084);
+ − 1330 glNormal3fv(N082);
+ − 1331 glVertex3fv(P082);
+ − 1332 glNormal3fv(N079);
+ − 1333 glVertex3fv(P079);
+ − 1334 glEnd();
+ − 1335 }
+ − 1336
+ − 1337 void
+ − 1338 Whale012(void)
+ − 1339 {
+ − 1340 glBegin(GL_POLYGON);
+ − 1341 glNormal3fv(N058);
+ − 1342 glVertex3fv(P058);
+ − 1343 glNormal3fv(N059);
+ − 1344 glVertex3fv(P059);
+ − 1345 glNormal3fv(N067);
+ − 1346 glVertex3fv(P067);
+ − 1347 glNormal3fv(N066);
+ − 1348 glVertex3fv(P066);
+ − 1349 glEnd();
+ − 1350 glBegin(GL_POLYGON);
+ − 1351 glNormal3fv(N059);
+ − 1352 glVertex3fv(P059);
+ − 1353 glNormal3fv(N052);
+ − 1354 glVertex3fv(P052);
+ − 1355 glNormal3fv(N060);
+ − 1356 glVertex3fv(P060);
+ − 1357 glEnd();
+ − 1358 glBegin(GL_POLYGON);
+ − 1359 glNormal3fv(N059);
+ − 1360 glVertex3fv(P059);
+ − 1361 glNormal3fv(N060);
+ − 1362 glVertex3fv(P060);
+ − 1363 glNormal3fv(N067);
+ − 1364 glVertex3fv(P067);
+ − 1365 glEnd();
+ − 1366 glBegin(GL_POLYGON);
+ − 1367 glNormal3fv(N058);
+ − 1368 glVertex3fv(P058);
+ − 1369 glNormal3fv(N066);
+ − 1370 glVertex3fv(P066);
+ − 1371 glNormal3fv(N065);
+ − 1372 glVertex3fv(P065);
+ − 1373 glEnd();
+ − 1374 glBegin(GL_POLYGON);
+ − 1375 glNormal3fv(N058);
+ − 1376 glVertex3fv(P058);
+ − 1377 glNormal3fv(N065);
+ − 1378 glVertex3fv(P065);
+ − 1379 glNormal3fv(N057);
+ − 1380 glVertex3fv(P057);
+ − 1381 glEnd();
+ − 1382 glBegin(GL_POLYGON);
+ − 1383 glNormal3fv(N056);
+ − 1384 glVertex3fv(P056);
+ − 1385 glNormal3fv(N057);
+ − 1386 glVertex3fv(P057);
+ − 1387 glNormal3fv(N065);
+ − 1388 glVertex3fv(P065);
+ − 1389 glEnd();
+ − 1390 glBegin(GL_POLYGON);
+ − 1391 glNormal3fv(N056);
+ − 1392 glVertex3fv(P056);
+ − 1393 glNormal3fv(N065);
+ − 1394 glVertex3fv(P065);
+ − 1395 glNormal3fv(N006);
+ − 1396 glVertex3fv(P006);
+ − 1397 glEnd();
+ − 1398 glBegin(GL_POLYGON);
+ − 1399 glNormal3fv(N056);
+ − 1400 glVertex3fv(P056);
+ − 1401 glNormal3fv(N006);
+ − 1402 glVertex3fv(P006);
+ − 1403 glNormal3fv(N063);
+ − 1404 glVertex3fv(P063);
+ − 1405 glEnd();
+ − 1406 glBegin(GL_POLYGON);
+ − 1407 glNormal3fv(N056);
+ − 1408 glVertex3fv(P056);
+ − 1409 glNormal3fv(N063);
+ − 1410 glVertex3fv(P063);
+ − 1411 glNormal3fv(N055);
+ − 1412 glVertex3fv(P055);
+ − 1413 glEnd();
+ − 1414 glBegin(GL_POLYGON);
+ − 1415 glNormal3fv(N054);
+ − 1416 glVertex3fv(P054);
+ − 1417 glNormal3fv(N062);
+ − 1418 glVertex3fv(P062);
+ − 1419 glNormal3fv(N005);
+ − 1420 glVertex3fv(P005);
+ − 1421 glEnd();
+ − 1422 glBegin(GL_POLYGON);
+ − 1423 glNormal3fv(N054);
+ − 1424 glVertex3fv(P054);
+ − 1425 glNormal3fv(N005);
+ − 1426 glVertex3fv(P005);
+ − 1427 glNormal3fv(N053);
+ − 1428 glVertex3fv(P053);
+ − 1429 glEnd();
+ − 1430 glBegin(GL_POLYGON);
+ − 1431 glNormal3fv(N053);
+ − 1432 glVertex3fv(P053);
+ − 1433 glNormal3fv(N005);
+ − 1434 glVertex3fv(P005);
+ − 1435 glNormal3fv(N060);
+ − 1436 glVertex3fv(P060);
+ − 1437 glEnd();
+ − 1438 glBegin(GL_POLYGON);
+ − 1439 glNormal3fv(N053);
+ − 1440 glVertex3fv(P053);
+ − 1441 glNormal3fv(N060);
+ − 1442 glVertex3fv(P060);
+ − 1443 glNormal3fv(N052);
+ − 1444 glVertex3fv(P052);
+ − 1445 glEnd();
+ − 1446 }
+ − 1447
+ − 1448 void
+ − 1449 Whale013(void)
+ − 1450 {
+ − 1451 glBegin(GL_POLYGON);
+ − 1452 glNormal3fv(N066);
+ − 1453 glVertex3fv(P066);
+ − 1454 glNormal3fv(N067);
+ − 1455 glVertex3fv(P067);
+ − 1456 glNormal3fv(N096);
+ − 1457 glVertex3fv(P096);
+ − 1458 glNormal3fv(N097);
+ − 1459 glVertex3fv(P097);
+ − 1460 glEnd();
+ − 1461 glBegin(GL_POLYGON);
+ − 1462 glNormal3fv(N097);
+ − 1463 glVertex3fv(P097);
+ − 1464 glNormal3fv(N096);
+ − 1465 glVertex3fv(P096);
+ − 1466 glNormal3fv(N098);
+ − 1467 glVertex3fv(P098);
+ − 1468 glNormal3fv(N099);
+ − 1469 glVertex3fv(P099);
+ − 1470 glEnd();
+ − 1471 glBegin(GL_POLYGON);
+ − 1472 glNormal3fv(N065);
+ − 1473 glVertex3fv(P065);
+ − 1474 glNormal3fv(N066);
+ − 1475 glVertex3fv(P066);
+ − 1476 glNormal3fv(N097);
+ − 1477 glVertex3fv(P097);
+ − 1478 glEnd();
+ − 1479 glBegin(GL_POLYGON);
+ − 1480 glNormal3fv(N067);
+ − 1481 glVertex3fv(P067);
+ − 1482 glNormal3fv(N060);
+ − 1483 glVertex3fv(P060);
+ − 1484 glNormal3fv(N096);
+ − 1485 glVertex3fv(P096);
+ − 1486 glEnd();
+ − 1487 glBegin(GL_POLYGON);
+ − 1488 glNormal3fv(N060);
+ − 1489 glVertex3fv(P060);
+ − 1490 glNormal3fv(N005);
+ − 1491 glVertex3fv(P005);
+ − 1492 glNormal3fv(N096);
+ − 1493 glVertex3fv(P096);
+ − 1494 glEnd();
+ − 1495 glBegin(GL_POLYGON);
+ − 1496 glNormal3fv(N096);
+ − 1497 glVertex3fv(P096);
+ − 1498 glNormal3fv(N005);
+ − 1499 glVertex3fv(P005);
+ − 1500 glNormal3fv(N098);
+ − 1501 glVertex3fv(P098);
+ − 1502 glEnd();
+ − 1503 glBegin(GL_POLYGON);
+ − 1504 glNormal3fv(N006);
+ − 1505 glVertex3fv(P006);
+ − 1506 glNormal3fv(N065);
+ − 1507 glVertex3fv(P065);
+ − 1508 glNormal3fv(N097);
+ − 1509 glVertex3fv(P097);
+ − 1510 glEnd();
+ − 1511 glBegin(GL_POLYGON);
+ − 1512 glNormal3fv(N006);
+ − 1513 glVertex3fv(P006);
+ − 1514 glNormal3fv(N097);
+ − 1515 glVertex3fv(P097);
+ − 1516 glNormal3fv(N099);
+ − 1517 glVertex3fv(P099);
+ − 1518 glEnd();
+ − 1519 glBegin(GL_POLYGON);
+ − 1520 glVertex3fv(P005);
+ − 1521 glVertex3fv(P006);
+ − 1522 glVertex3fv(P099);
+ − 1523 glVertex3fv(P098);
+ − 1524 glEnd();
+ − 1525 }
+ − 1526
+ − 1527 void
+ − 1528 Whale014(void)
+ − 1529 {
+ − 1530 glBegin(GL_POLYGON);
+ − 1531 glNormal3fv(N062);
+ − 1532 glVertex3fv(P062);
+ − 1533 glNormal3fv(N004);
+ − 1534 glVertex3fv(P004);
+ − 1535 glNormal3fv(N005);
+ − 1536 glVertex3fv(P005);
+ − 1537 glEnd();
+ − 1538 glBegin(GL_POLYGON);
+ − 1539 glVertex3fv(P006);
+ − 1540 glVertex3fv(P005);
+ − 1541 glVertex3fv(P004);
+ − 1542 glVertex3fv(P008);
+ − 1543 glEnd();
+ − 1544 glBegin(GL_POLYGON);
+ − 1545 glNormal3fv(N063);
+ − 1546 glVertex3fv(P063);
+ − 1547 glNormal3fv(N006);
+ − 1548 glVertex3fv(P006);
+ − 1549 glNormal3fv(N002);
+ − 1550 glVertex3fv(P002);
+ − 1551 glEnd();
+ − 1552 glBegin(GL_POLYGON);
+ − 1553 glNormal3fv(N002);
+ − 1554 glVertex3fv(P002);
+ − 1555 glNormal3fv(N006);
+ − 1556 glVertex3fv(P006);
+ − 1557 glNormal3fv(N008);
+ − 1558 glVertex3fv(P008);
+ − 1559 glEnd();
+ − 1560 glBegin(GL_POLYGON);
+ − 1561 glNormal3fv(N002);
+ − 1562 glVertex3fv(P002);
+ − 1563 glNormal3fv(N008);
+ − 1564 glVertex3fv(P008);
+ − 1565 glNormal3fv(N004);
+ − 1566 glVertex3fv(P004);
+ − 1567 glEnd();
+ − 1568 glBegin(GL_POLYGON);
+ − 1569 glNormal3fv(N062);
+ − 1570 glVertex3fv(P062);
+ − 1571 glNormal3fv(N002);
+ − 1572 glVertex3fv(P002);
+ − 1573 glNormal3fv(N004);
+ − 1574 glVertex3fv(P004);
+ − 1575 glEnd();
+ − 1576 }
+ − 1577
+ − 1578 void
+ − 1579 Whale015(void)
+ − 1580 {
+ − 1581 glBegin(GL_POLYGON);
+ − 1582 glNormal3fv(N055);
+ − 1583 glVertex3fv(P055);
+ − 1584 glNormal3fv(N003);
+ − 1585 glVertex3fv(P003);
+ − 1586 glNormal3fv(N054);
+ − 1587 glVertex3fv(P054);
+ − 1588 glEnd();
+ − 1589 glBegin(GL_POLYGON);
+ − 1590 glNormal3fv(N003);
+ − 1591 glVertex3fv(P003);
+ − 1592 glNormal3fv(N055);
+ − 1593 glVertex3fv(P055);
+ − 1594 glNormal3fv(N063);
+ − 1595 glVertex3fv(P063);
+ − 1596 glEnd();
+ − 1597 glBegin(GL_POLYGON);
+ − 1598 glNormal3fv(N003);
+ − 1599 glVertex3fv(P003);
+ − 1600 glNormal3fv(N063);
+ − 1601 glVertex3fv(P063);
+ − 1602 glNormal3fv(N100);
+ − 1603 glVertex3fv(P100);
+ − 1604 glEnd();
+ − 1605 glBegin(GL_POLYGON);
+ − 1606 glNormal3fv(N003);
+ − 1607 glVertex3fv(P003);
+ − 1608 glNormal3fv(N100);
+ − 1609 glVertex3fv(P100);
+ − 1610 glNormal3fv(N054);
+ − 1611 glVertex3fv(P054);
+ − 1612 glEnd();
+ − 1613 glBegin(GL_POLYGON);
+ − 1614 glNormal3fv(N054);
+ − 1615 glVertex3fv(P054);
+ − 1616 glNormal3fv(N100);
+ − 1617 glVertex3fv(P100);
+ − 1618 glNormal3fv(N062);
+ − 1619 glVertex3fv(P062);
+ − 1620 glEnd();
+ − 1621 glBegin(GL_POLYGON);
+ − 1622 glNormal3fv(N100);
+ − 1623 glVertex3fv(P100);
+ − 1624 glNormal3fv(N063);
+ − 1625 glVertex3fv(P063);
+ − 1626 glNormal3fv(N002);
+ − 1627 glVertex3fv(P002);
+ − 1628 glEnd();
+ − 1629 glBegin(GL_POLYGON);
+ − 1630 glNormal3fv(N100);
+ − 1631 glVertex3fv(P100);
+ − 1632 glNormal3fv(N002);
+ − 1633 glVertex3fv(P002);
+ − 1634 glNormal3fv(N062);
+ − 1635 glVertex3fv(P062);
+ − 1636 glEnd();
+ − 1637 }
+ − 1638
+ − 1639 void
+ − 1640 Whale016(void)
+ − 1641 {
+ − 1642 glBegin(GL_POLYGON);
+ − 1643 glVertex3fv(P104);
+ − 1644 glVertex3fv(P105);
+ − 1645 glVertex3fv(P106);
+ − 1646 glEnd();
+ − 1647 glBegin(GL_POLYGON);
+ − 1648 glVertex3fv(P107);
+ − 1649 glVertex3fv(P108);
+ − 1650 glVertex3fv(P109);
+ − 1651 glEnd();
+ − 1652 glBegin(GL_POLYGON);
+ − 1653 glVertex3fv(P110);
+ − 1654 glVertex3fv(P111);
+ − 1655 glVertex3fv(P112);
+ − 1656 glVertex3fv(P113);
+ − 1657 glVertex3fv(P114);
+ − 1658 glVertex3fv(P115);
+ − 1659 glEnd();
+ − 1660 glBegin(GL_POLYGON);
+ − 1661 glVertex3fv(P116);
+ − 1662 glVertex3fv(P117);
+ − 1663 glVertex3fv(P118);
+ − 1664 glVertex3fv(P119);
+ − 1665 glVertex3fv(P120);
+ − 1666 glVertex3fv(P121);
+ − 1667 glEnd();
+ − 1668 }
+ − 1669
+ − 1670 void
+ − 1671 DrawWhale(fishRec * fish)
+ − 1672 {
+ − 1673 float seg0, seg1, seg2, seg3, seg4, seg5, seg6, seg7;
+ − 1674 float pitch, thrash, chomp;
+ − 1675
+ − 1676 fish->htail = (int) (fish->htail - (int) (5.0 * fish->v)) % 360;
+ − 1677
+ − 1678 thrash = 70.0 * fish->v;
+ − 1679
+ − 1680 seg0 = 1.5 * thrash * sin((fish->htail) * RRAD);
+ − 1681 seg1 = 2.5 * thrash * sin((fish->htail + 10.0) * RRAD);
+ − 1682 seg2 = 3.7 * thrash * sin((fish->htail + 15.0) * RRAD);
+ − 1683 seg3 = 4.8 * thrash * sin((fish->htail + 23.0) * RRAD);
+ − 1684 seg4 = 6.0 * thrash * sin((fish->htail + 28.0) * RRAD);
+ − 1685 seg5 = 6.5 * thrash * sin((fish->htail + 35.0) * RRAD);
+ − 1686 seg6 = 6.5 * thrash * sin((fish->htail + 40.0) * RRAD);
+ − 1687 seg7 = 6.5 * thrash * sin((fish->htail + 55.0) * RRAD);
+ − 1688
+ − 1689 pitch = fish->v * sin((fish->htail - 160.0) * RRAD);
+ − 1690
+ − 1691 chomp = 0.0;
+ − 1692 if (fish->v > 2.0) {
+ − 1693 chomp = -(fish->v - 2.0) * 200.0;
+ − 1694 }
+ − 1695 P012[1] = iP012[1] + seg5;
+ − 1696 P013[1] = iP013[1] + seg5;
+ − 1697 P014[1] = iP014[1] + seg5;
+ − 1698 P015[1] = iP015[1] + seg5;
+ − 1699 P016[1] = iP016[1] + seg5;
+ − 1700 P017[1] = iP017[1] + seg5;
+ − 1701 P018[1] = iP018[1] + seg5;
+ − 1702 P019[1] = iP019[1] + seg5;
+ − 1703
+ − 1704 P020[1] = iP020[1] + seg4;
+ − 1705 P021[1] = iP021[1] + seg4;
+ − 1706 P022[1] = iP022[1] + seg4;
+ − 1707 P023[1] = iP023[1] + seg4;
+ − 1708 P024[1] = iP024[1] + seg4;
+ − 1709 P025[1] = iP025[1] + seg4;
+ − 1710 P026[1] = iP026[1] + seg4;
+ − 1711 P027[1] = iP027[1] + seg4;
+ − 1712
+ − 1713 P028[1] = iP028[1] + seg2;
+ − 1714 P029[1] = iP029[1] + seg2;
+ − 1715 P030[1] = iP030[1] + seg2;
+ − 1716 P031[1] = iP031[1] + seg2;
+ − 1717 P032[1] = iP032[1] + seg2;
+ − 1718 P033[1] = iP033[1] + seg2;
+ − 1719 P034[1] = iP034[1] + seg2;
+ − 1720 P035[1] = iP035[1] + seg2;
+ − 1721
+ − 1722 P036[1] = iP036[1] + seg1;
+ − 1723 P037[1] = iP037[1] + seg1;
+ − 1724 P038[1] = iP038[1] + seg1;
+ − 1725 P039[1] = iP039[1] + seg1;
+ − 1726 P040[1] = iP040[1] + seg1;
+ − 1727 P041[1] = iP041[1] + seg1;
+ − 1728 P042[1] = iP042[1] + seg1;
+ − 1729 P043[1] = iP043[1] + seg1;
+ − 1730
+ − 1731 P044[1] = iP044[1] + seg0;
+ − 1732 P045[1] = iP045[1] + seg0;
+ − 1733 P046[1] = iP046[1] + seg0;
+ − 1734 P047[1] = iP047[1] + seg0;
+ − 1735 P048[1] = iP048[1] + seg0;
+ − 1736 P049[1] = iP049[1] + seg0;
+ − 1737 P050[1] = iP050[1] + seg0;
+ − 1738 P051[1] = iP051[1] + seg0;
+ − 1739
+ − 1740 P009[1] = iP009[1] + seg6;
+ − 1741 P010[1] = iP010[1] + seg6;
+ − 1742 P075[1] = iP075[1] + seg6;
+ − 1743 P076[1] = iP076[1] + seg6;
+ − 1744
+ − 1745 P001[1] = iP001[1] + seg7;
+ − 1746 P011[1] = iP011[1] + seg7;
+ − 1747 P068[1] = iP068[1] + seg7;
+ − 1748 P069[1] = iP069[1] + seg7;
+ − 1749 P070[1] = iP070[1] + seg7;
+ − 1750 P071[1] = iP071[1] + seg7;
+ − 1751 P072[1] = iP072[1] + seg7;
+ − 1752 P073[1] = iP073[1] + seg7;
+ − 1753 P074[1] = iP074[1] + seg7;
+ − 1754
+ − 1755 P091[1] = iP091[1] + seg3 * 1.1;
+ − 1756 P092[1] = iP092[1] + seg3;
+ − 1757 P093[1] = iP093[1] + seg3;
+ − 1758 P094[1] = iP094[1] + seg3;
+ − 1759 P095[1] = iP095[1] + seg3 * 0.9;
+ − 1760
+ − 1761 P099[1] = iP099[1] + chomp;
+ − 1762 P098[1] = iP098[1] + chomp;
+ − 1763 P097[1] = iP097[1] + chomp;
+ − 1764 P096[1] = iP096[1] + chomp;
+ − 1765
+ − 1766 glPushMatrix();
+ − 1767
+ − 1768 glRotatef(pitch, 1.0, 0.0, 0.0);
+ − 1769
+ − 1770 glTranslatef(0.0, 0.0, 8000.0);
+ − 1771
+ − 1772 glRotatef(180.0, 0.0, 1.0, 0.0);
+ − 1773
+ − 1774 glScalef(3.0, 3.0, 3.0);
+ − 1775
+ − 1776 glEnable(GL_CULL_FACE);
+ − 1777
+ − 1778 Whale001();
+ − 1779 Whale002();
+ − 1780 Whale003();
+ − 1781 Whale004();
+ − 1782 Whale005();
+ − 1783 Whale006();
+ − 1784 Whale007();
+ − 1785 Whale008();
+ − 1786 Whale009();
+ − 1787 Whale010();
+ − 1788 Whale011();
+ − 1789 Whale012();
+ − 1790 Whale013();
+ − 1791 Whale014();
+ − 1792 Whale015();
+ − 1793 Whale016();
+ − 1794
+ − 1795 glDisable(GL_CULL_FACE);
+ − 1796
+ − 1797 glPopMatrix();
+ − 1798 }