home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 4 / Apprentice-Release4.iso / Source Code / C / Applications / Teapot / TeaData.c < prev    next >
Encoding:
C/C++ Source or Header  |  1995-11-18  |  9.0 KB  |  358 lines  |  [TEXT/KAHL]

  1. /* Author:
  2.  * Translator: David Oster
  3.  * Date: January 25, 1987
  4.  * the Teapot data set.
  5.  */
  6.  
  7. #include "Graf3D.h"
  8. #include "teapot.h"
  9.  
  10. /* moved bottom of teapot to beginning of data set so pot is drawn 
  11.  * from the rims in
  12.  */
  13. Patch patches[] = {
  14. {270,270,270,270,279,280,281,282,275,276,277,278,271,272,273,274},    /* 29 */
  15. {270,270,270,270,282,289,290,291,278,286,287,288,274,283,284,285},    /* 30 */
  16. {270,270,270,270,291,298,299,300,288,295,296,297,285,292,293,294},    /* 31 */
  17. {270,270,270,270,300,305,306,279,297,303,304,275,294,301,302,271},    /* 32 */
  18. {  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16},    /* 1 */
  19. {  4, 17, 18, 19,  8, 20, 21, 22, 12, 23, 24, 25, 16, 26, 27, 28},    /* 2 */
  20. { 19, 29, 30, 31, 22, 32, 33, 34, 25, 35, 36, 37, 28, 38, 39, 40},    /* 3 */
  21. { 31, 41, 42,  1, 34, 43, 44,  5, 37, 45, 46,  9, 40, 47, 48, 13},    /* 4 */
  22. { 13, 14, 15, 16, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60},    /* 5 */
  23. { 16, 26, 27, 28, 52, 61, 62, 63, 56, 64, 65, 66, 60, 67, 68, 69},    /* 6 */
  24. { 28, 38, 39, 40, 63, 70, 71, 72, 66, 73, 74, 75, 69, 76, 77, 78},    /* 7 */
  25. { 40, 47, 48, 13, 72, 79, 80, 49, 75, 81, 82, 53, 78, 83, 84, 57},    /* 8 */
  26. { 57, 58, 59, 60, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96},    /* 9 */
  27. { 60, 67, 68, 69, 88, 97, 98, 99, 92,100,101,102, 96,103,104,105},    /* 10 */
  28. { 69, 76, 77, 78, 99,106,107,108,102,109,110,111,105,112,113,114},    /* 11 */
  29. { 78, 83, 84, 57,108,115,116, 85,111,117,118, 89,114,119,120, 93},    /* 12 */
  30. {121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136},    /* 13 */
  31. {124,137,138,121,128,139,140,125,132,141,142,129,136,143,144,133},    /* 14 */
  32. {133,134,135,136,145,146,147,148,149,150,151,152, 69,153,154,155},    /* 15 */
  33. {136,143,144,133,148,156,157,145,152,158,159,149,155,160,161, 69},    /* 16 */
  34. {162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177},    /* 17 */
  35. {165,178,179,162,169,180,181,166,173,182,183,170,177,184,185,174},    /* 18 */
  36. {174,175,176,177,186,187,188,189,190,191,192,193,194,195,196,197},    /* 19 */
  37. {177,184,185,174,189,198,199,186,193,200,201,190,197,202,203,194},    /* 20 */
  38. {204,204,204,204,207,208,209,210,211,211,211,211,212,213,214,215},    /* 21 */
  39. {204,204,204,204,210,217,218,219,211,211,211,211,215,220,221,222},    /* 22 */
  40. {204,204,204,204,219,224,225,226,211,211,211,211,222,227,228,229},    /* 23 */
  41. {204,204,204,204,226,230,231,207,211,211,211,211,229,232,233,212},    /* 24 */
  42. {212,213,214,215,234,235,236,237,238,239,240,241,242,243,244,245},    /* 25 */
  43. {215,220,221,222,237,246,247,248,241,249,250,251,245,252,253,254},    /* 26 */
  44. {222,227,228,229,248,255,256,257,251,258,259,260,254,261,262,263},    /* 27 */
  45. {229,232,233,212,257,264,265,234,260,266,267,238,263,268,269,242}};    /* 28 */
  46.  
  47.  
  48. /* this array holds the 3d point vertices of the teapot */
  49. FloatingPoint3D ducks[]= {
  50. {0.0, 0.0, 0.0},
  51. {    1.4,    0.0,    2.4},
  52. {    1.4,    -0.784,    2.4},
  53. {    0.784,    -1.4,    2.4},
  54. {    0.0,    -1.4,    2.4},
  55. {    1.3375,    0.0,    2.53125},
  56. {    1.3375,    -0.749,    2.53125},
  57. {    0.749,    -1.3375,    2.53125},
  58. {    0.0,    -1.3375,    2.53125},
  59. {    1.4375,    0.0,    2.53125},
  60. {    1.4375,    -0.805,    2.53125},
  61. {    0.805,    -1.4375,    2.53125},
  62. {    0.0,    -1.4375,    2.53125},
  63. {    1.5,    0.0,    2.4},
  64. {    1.5,    -0.84,    2.4},
  65. {    0.84,    -1.5,    2.4},
  66. {    0.0,    -1.5,    2.4},
  67. {    -0.784,    -1.4,    2.4},
  68. {    -1.4,    -0.784,    2.4},
  69. {    -1.4,    0.0,    2.4},
  70. {    -0.749,    -1.3375,    2.53125},
  71. {    -1.3375,    -0.749,    2.53125},
  72. {    -1.3375,    0.0,    2.53125},
  73. {    -0.805,    -1.4375,    2.53125},
  74. {    -1.4375,    -0.805,    2.53125},
  75. {    -1.4375,    0.0,    2.53125},
  76. {    -0.84,    -1.5,    2.4},
  77. {    -1.5,    -0.84,    2.4},
  78. {    -1.5,    0.0,    2.4},
  79. {    -1.4,    0.784,    2.4},
  80. {    -0.784,    1.4,    2.4},
  81. {    0.0,    1.4,    2.4},
  82. {    -1.3375,    0.749,    2.53125},
  83. {    -0.749,    1.3375,    2.53125},
  84. {    0.0,    1.3375,    2.53125},
  85. {    -1.4375,    0.805,    2.53125},
  86. {    -0.805,    1.4375,    2.53125},
  87. {    0.0,    1.4375,    2.53125},
  88. {    -1.5,    0.84,    2.4},
  89. {    -0.84,    1.5,    2.4},
  90. {    0.0,    1.5,    2.4},
  91. {    0.784,    1.4,    2.4},
  92. {    1.4,    0.784,    2.4},
  93. {    0.749,    1.3375,    2.53125},
  94. {    1.3375,    0.749,    2.53125},
  95. {    0.805,    1.4375,    2.53125},
  96. {    1.4375,    0.805,    2.53125},
  97. {    0.84,    1.5,    2.4},
  98. {    1.5,    0.84,    2.4},
  99. {    1.75,    0.0,    1.875},
  100. {    1.75,    -0.98,    1.875},
  101. {    0.98,    -1.75,    1.875},
  102. {    0.0,    -1.75,    1.875},
  103. {    2.0,    0.0,    1.35},
  104. {    2.0,    -1.12,    1.35},
  105. {    1.12,    -2.0,    1.35},
  106. {    0.0,    -2.0,    1.35},
  107. {    2.0,    0.0,    0.9},
  108. {    2.0,    -1.12,    0.9},
  109. {    1.12,    -2.0,    0.9},
  110. {    0.0,    -2.0,    0.9},
  111. {    -0.98,    -1.75,    1.875},
  112. {    -1.75,    -0.98,    1.875},
  113. {    -1.75,    0.0,    1.875},
  114. {    -1.12,    -2.0,    1.35},
  115. {    -2.0,    -1.12,    1.35},
  116. {    -2.0,    0.0,    1.35},
  117. {    -1.12,    -2.0,    0.9},
  118. {    -2.0,    -1.12,    0.9},
  119. {    -2.0,    0.0,    0.9},
  120. {    -1.75,    0.98,    1.875},
  121. {    -0.98,    1.75,    1.875},
  122. {    0.0,    1.75,    1.875},
  123. {    -2.0,    1.12,    1.35},
  124. {    -1.12,    2.0,    1.35},
  125. {    0.0,    2.0,    1.35},
  126. {    -2.0,    1.12,    0.9},
  127. {    -1.12,    2.0,    0.9},
  128. {    0.0,    2.0,    0.9},
  129. {    0.98,    1.75,    1.875},
  130. {    1.75,    0.98,    1.875},
  131. {    1.12,    2.0,    1.35},
  132. {    2.0,    1.12,    1.35},
  133. {    1.12,    2.0,    0.9},
  134. {    2.0,    1.12,    0.9},
  135. {    2.0,    0.0,    0.45},
  136. {    2.0,    -1.12,    0.45},
  137. {    1.12,    -2.0,    0.45},
  138. {    0.0,    -2.0,    0.45},
  139. {    1.5,    0.0,    0.225},
  140. {    1.5,    -0.84,    0.225},
  141. {    0.84,    -1.5,    0.225},
  142. {    0.0,    -1.5,    0.225},
  143. {    1.5,    0.0,    0.15},
  144. {    1.5,    -0.84,    0.15},
  145. {    0.84,    -1.5,    0.15},
  146. {    0.0,    -1.5,    0.15},
  147. {    -1.12,    -2.0,    0.45},
  148. {    -2.0,    -1.12,    0.45},
  149. {    -2.0,    0.0,    0.45},
  150. {    -0.84,    -1.5,    0.225},
  151. {    -1.5,    -0.84,    0.225},
  152. {    -1.5,    0.0,    0.225},
  153. {    -0.84,    -1.5,    0.15},
  154. {    -1.5,    -0.84,    0.15},
  155. {    -1.5,    0.0,    0.15},
  156. {    -2.0,    1.12,    0.45},
  157. {    -1.12,    2.0,    0.45},
  158. {    0.0,    2.0,    0.45},
  159. {    -1.5,    0.84,    0.225},
  160. {    -0.84,    1.5,    0.225},
  161. {    0.0,    1.5,    0.225},
  162. {    -1.5,    0.84,    0.15},
  163. {    -0.84,    1.5,    0.15},
  164. {    0.0,    1.5,    0.15},
  165. {    1.12,    2.0,    0.45},
  166. {    2.0,    1.12,    0.45},
  167. {    0.84,    1.5,    0.225},
  168. {    1.5,    0.84,    0.225},
  169. {    0.84,    1.5,    0.15},
  170. {    1.5,    0.84,    0.15},
  171. {    -1.6,    0.0,    2.025},
  172. {    -1.6,    -0.3,    2.025},
  173. {    -1.5,    -0.3,    2.25},
  174. {    -1.5,    0.0,    2.25},
  175. {    -2.3,    0.0,    2.025},
  176. {    -2.3,    -0.3,    2.025},
  177. {    -2.5,    -0.3,    2.25},
  178. {    -2.5,    0.0,    2.25},
  179. {    -2.7,    0.0,    2.025},
  180. {    -2.7,    -0.3,    2.025},
  181. {    -3.0,    -0.3,    2.25},
  182. {    -3.0,    0.0,    2.25},
  183. {    -2.7,    0.0,    1.8},
  184. {    -2.7,    -0.3,    1.8},
  185. {    -3.0,    -0.3,    1.8},
  186. {    -3.0,    0.0,    1.8},
  187. {    -1.5,    0.3,    2.25},
  188. {    -1.6,    0.3,    2.025},
  189. {    -2.5,    0.3,    2.25},
  190. {    -2.3,    0.3,    2.025},
  191. {    -3.0,    0.3,    2.25},
  192. {    -2.7,    0.3,    2.025},
  193. {    -3.0,    0.3,    1.8},
  194. {    -2.7,    0.3,    1.8},
  195. {    -2.7,    0.0,    1.575},
  196. {    -2.7,    -0.3,    1.575},
  197. {    -3.0,    -0.3,    1.35},
  198. {    -3.0,    0.0,    1.35},
  199. {    -2.5,    0.0,    1.125},
  200. {    -2.5,    -0.3,    1.125},
  201. {    -2.65,    -0.3,    0.9375},
  202. {    -2.65,    0.0,    0.9375},
  203. {    -2.0,    -0.3,    0.9},
  204. {    -1.9,    -0.3,    0.6},
  205. {    -1.9,    0.0,    0.6},
  206. {    -3.0,    0.3,    1.35},
  207. {    -2.7,    0.3,    1.575},
  208. {    -2.65,    0.3,    0.9375},
  209. {    -2.5,    0.3,    1.125},
  210. {    -1.9,    0.3,    0.6},
  211. {    -2.0,    0.3,    0.9},
  212. {    1.7,    0.0,    1.425},
  213. {    1.7,    -0.66,    1.425},
  214. {    1.7,    -0.66,    0.6},
  215. {    1.7,    0.0,    0.6},
  216. {    2.6,    0.0,    1.425},
  217. {    2.6,    -0.66,    1.425},
  218. {    3.1,    -0.66,    0.825},
  219. {    3.1,    0.0,    0.825},
  220. {    2.3,    0.0,    2.1},
  221. {    2.3,    -0.25,    2.1},
  222. {    2.4,    -0.25,    2.025},
  223. {    2.4,    0.0,    2.025},
  224. {    2.7,    0.0,    2.4},
  225. {    2.7,    -0.25,    2.4},
  226. {    3.3,    -0.25,    2.4},
  227. {    3.3,    0.0,    2.4},
  228. {    1.7,    0.66,    0.6},
  229. {    1.7,    0.66,    1.425},
  230. {    3.1,    0.66,    0.825},
  231. {    2.6,    0.66,    1.425},
  232. {    2.4,    0.25,    2.025},
  233. {    2.3,    0.25,    2.1},
  234. {    3.3,    0.25,    2.4},
  235. {    2.7,    0.25,    2.4},
  236. {    2.8,    0.0,    2.475},
  237. {    2.8,    -0.25,    2.475},
  238. {    3.525,    -0.25,    2.49375},
  239. {    3.525,    0.0,    2.49375},
  240. {    2.9,    0.0,    2.475},
  241. {    2.9,    -0.15,    2.475},
  242. {    3.45,    -0.15,    2.5125},
  243. {    3.45,    0.0,    2.5125},
  244. {    2.8,    0.0,    2.4},
  245. {    2.8,    -0.15,    2.4},
  246. {    3.2,    -0.15,    2.4},
  247. {    3.2,    0.0,    2.4},
  248. {    3.525,    0.25,    2.49375},
  249. {    2.8,    0.25,    2.475},
  250. {    3.45,    0.15,    2.5125},
  251. {    2.9,    0.15,    2.475},
  252. {    3.2,    0.15,    2.4},
  253. {    2.8,    0.15,    2.4},
  254. {    0.0,    0.0,    3.15},
  255. {    0.0,    -0.002,    3.15},
  256. {    0.002,    0.0,    3.15},
  257. {    0.8,    0.0,    3.15},
  258. {    0.8,    -0.45,    3.15},
  259. {    0.45,    -0.8,    3.15},
  260. {    0.0,    -0.8,    3.15},
  261. {    0.0,    0.0,    2.85},
  262. {    0.2,    0.0,    2.7},
  263. {    0.2,    -0.112,    2.7},
  264. {    0.112,    -0.2,    2.7},
  265. {    0.0,    -0.2,    2.7},
  266. {    -0.002,    0.0,    3.15},
  267. {    -0.45,    -0.8,    3.15},
  268. {    -0.8,    -0.45,    3.15},
  269. {    -0.8,    0.0,    3.15},
  270. {    -0.112,    -0.2,    2.7},
  271. {    -0.2,    -0.112,    2.7},
  272. {    -0.2,    0.0,    2.7},
  273. {    0.0,    0.002,    3.15},
  274. {    -0.8,    0.45,    3.15},
  275. {    -0.45,    0.8,    3.15},
  276. {    0.0,    0.8,    3.15},
  277. {    -0.2,    0.112,    2.7},
  278. {    -0.112,    0.2,    2.7},
  279. {    0.0,    0.2,    2.7},
  280. {    0.45,    0.8,    3.15},
  281. {    0.8,    0.45,    3.15},
  282. {    0.112,    0.2,    2.7},
  283. {    0.2,    0.112,    2.7},
  284. {    0.4,    0.0,    2.55},
  285. {    0.4,    -0.224,    2.55},
  286. {    0.224,    -0.4,    2.55},
  287. {    0.0,    -0.4,    2.55},
  288. {    1.3,    0.0,    2.55},
  289. {    1.3,    -0.728,    2.55},
  290. {    0.728,    -1.3,    2.55},
  291. {    0.0,    -1.3,    2.55},
  292. {    1.3,    0.0,    2.4},
  293. {    1.3,    -0.728,    2.4},
  294. {    0.728,    -1.3,    2.4},
  295. {    0.0,    -1.3,    2.4},
  296. {    -0.224,    -0.4,    2.55},
  297. {    -0.4,    -0.224,    2.55},
  298. {    -0.4,    0.0,    2.55},
  299. {    -0.728,    -1.3,    2.55},
  300. {    -1.3,    -0.728,    2.55},
  301. {    -1.3,    0.0,    2.55},
  302. {    -0.728,    -1.3,    2.4},
  303. {    -1.3,    -0.728,    2.4},
  304. {    -1.3,    0.0,    2.4},
  305. {    -0.4,    0.224,    2.55},
  306. {    -0.224,    0.4,    2.55},
  307. {    0.0,    0.4,    2.55},
  308. {    -1.3,    0.728,    2.55},
  309. {    -0.728,    1.3,    2.55},
  310. {    0.0,    1.3,    2.55},
  311. {    -1.3,    0.728,    2.4},
  312. {    -0.728,    1.3,    2.4},
  313. {    0.0,    1.3,    2.4},
  314. {    0.224,    0.4,    2.55},
  315. {    0.4,    0.224,    2.55},
  316. {    0.728,    1.3,    2.55},
  317. {    1.3,    0.728,    2.55},
  318. {    0.728,    1.3,    2.4},
  319. {    1.3,    0.728,    2.4},
  320. {    0.0,    0.0,    0.0},
  321. {    1.5,    0.0,    0.15},
  322. {    1.5,    0.84,    0.15},
  323. {    0.84,    1.5,    0.15},
  324. {    0.0,    1.5,    0.15},
  325. {    1.5,    0.0,    0.075},
  326. {    1.5,    0.84,    0.075},
  327. {    0.84,    1.5,    0.075},
  328. {    0.0,    1.5,    0.075},
  329. {    1.425,    0.0,    0.0},
  330. {    1.425,    0.798,    0.0},
  331. {    0.798,    1.425,    0.0},
  332. {    0.0,    1.425,    0.0},
  333. {    -0.84,    1.5,    0.15},
  334. {    -1.5,    0.84,    0.15},
  335. {    -1.5,    0.0,    0.15},
  336. {    -0.84,    1.5,    0.075},
  337. {    -1.5,    0.84,    0.075},
  338. {    -1.5,    0.0,    0.075},
  339. {    -0.798,    1.425,    0.0},
  340. {    -1.425,    0.798,    0.0},
  341. {    -1.425,    0.0,    0.0},
  342. {    -1.5,    -0.84,    0.15},
  343. {    -0.84,    -1.5,    0.15},
  344. {    0.0,    -1.5,    0.15},
  345. {    -1.5,    -0.84,    0.075},
  346. {    -0.84,    -1.5,    0.075},
  347. {    0.0,    -1.5,    0.075},
  348. {    -1.425,    -0.798,    0.0},
  349. {    -0.798,    -1.425,    0.0},
  350. {    0.0,    -1.425,    0.0},
  351. {    0.84,    -1.5,    0.15},
  352. {    1.5,    -0.84,    0.15},
  353. {    0.84,    -1.5,    0.075},
  354. {    1.5,    -0.84,    0.075},
  355. {    0.798,    -1.425,    0.0},
  356. {    1.425,    -0.798,    0.0}
  357. };
  358.