home *** CD-ROM | disk | FTP | other *** search
/ Solo Programadores 22 / SOLO_22.iso / disk22 / cdemos / donut.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  1996-04-14  |  5.8 KB  |  398 lines

  1. UNIT DONUT;
  2.  
  3. INTERFACE
  4.  
  5. Uses lib3d_v2;
  6.  
  7. Const
  8.  
  9. Points: Array [0..127] of Point3D = (
  10. (92,0,0),
  11. (85,-16,0),
  12. (69,-23,0),
  13. (53,-16,0),
  14. (46,0,-0),
  15. (53,16,-0),
  16. (69,23,-0),
  17. (85,16,-0),
  18. (85,0,35),
  19. (79,-16,32),
  20. (64,-23,26),
  21. (49,-16,20),
  22. (42,0,17),
  23. (49,16,20),
  24. (64,23,26),
  25. (79,16,32),
  26. (65,0,65),
  27. (60,-16,60),
  28. (49,-23,49),
  29. (37,-16,37),
  30. (32,0,32),
  31. (37,16,37),
  32. (49,23,49),
  33. (60,16,60),
  34. (35,0,85),
  35. (32,-16,79),
  36. (26,-23,64),
  37. (20,-16,49),
  38. (17,0,42),
  39. (20,16,49),
  40. (26,23,64),
  41. (32,16,79),
  42. (-0,0,92),
  43. (-0,-16,85),
  44. (-0,-23,69),
  45. (-0,-16,53),
  46. (-0,0,46),
  47. (-0,16,53),
  48. (-0,23,69),
  49. (-0,16,85),
  50. (-35,0,85),
  51. (-32,-16,79),
  52. (-26,-23,64),
  53. (-20,-16,49),
  54. (-17,0,42),
  55. (-20,16,49),
  56. (-26,23,64),
  57. (-32,16,79),
  58. (-65,0,65),
  59. (-60,-16,60),
  60. (-49,-23,49),
  61. (-37,-16,37),
  62. (-32,0,32),
  63. (-37,16,37),
  64. (-49,23,49),
  65. (-60,16,60),
  66. (-85,0,35),
  67. (-79,-16,32),
  68. (-64,-23,26),
  69. (-49,-16,20),
  70. (-42,0,17),
  71. (-49,16,20),
  72. (-64,23,26),
  73. (-79,16,32),
  74. (-92,0,0),
  75. (-85,-16,0),
  76. (-69,-23,0),
  77. (-53,-16,0),
  78. (-46,0,0),
  79. (-53,16,0),
  80. (-69,23,0),
  81. (-85,16,0),
  82. (-85,-0,-35),
  83. (-79,-16,-32),
  84. (-64,-23,-26),
  85. (-49,-16,-20),
  86. (-42,-0,-17),
  87. (-49,16,-20),
  88. (-64,23,-26),
  89. (-79,16,-32),
  90. (-65,-0,-65),
  91. (-60,-16,-60),
  92. (-49,-23,-49),
  93. (-37,-16,-37),
  94. (-32,-0,-32),
  95. (-37,16,-37),
  96. (-49,23,-49),
  97. (-60,16,-60),
  98. (-35,-0,-85),
  99. (-32,-16,-79),
  100. (-26,-23,-64),
  101. (-20,-16,-49),
  102. (-17,-0,-42),
  103. (-20,16,-49),
  104. (-26,23,-64),
  105. (-32,16,-79),
  106. (0,-0,-92),
  107. (0,-16,-85),
  108. (0,-23,-69),
  109. (0,-16,-53),
  110. (0,-0,-46),
  111. (0,16,-53),
  112. (0,23,-69),
  113. (0,16,-85),
  114. (35,-0,-85),
  115. (32,-16,-79),
  116. (26,-23,-64),
  117. (20,-16,-49),
  118. (17,-0,-42),
  119. (20,16,-49),
  120. (26,23,-64),
  121. (32,16,-79),
  122. (65,-0,-65),
  123. (60,-16,-60),
  124. (49,-23,-49),
  125. (37,-16,-37),
  126. (32,-0,-32),
  127. (37,16,-37),
  128. (49,23,-49),
  129. (60,16,-60),
  130. (85,-0,-35),
  131. (79,-16,-32),
  132. (64,-23,-26),
  133. (49,-16,-20),
  134. (42,-0,-17),
  135. (49,16,-20),
  136. (64,23,-26),
  137. (79,16,-32));
  138. Faces: Array [0..255] of Face3D = (
  139. (0,9,1,0),
  140. (0,8,9,0),
  141. (1,10,2,0),
  142. (1,9,10,0),
  143. (2,11,3,0),
  144. (2,10,11,0),
  145. (3,12,4,0),
  146. (3,11,12,0),
  147. (4,13,5,0),
  148. (4,12,13,0),
  149. (5,14,6,0),
  150. (5,13,14,0),
  151. (6,15,7,0),
  152. (6,14,15,0),
  153. (7,8,0,0),
  154. (7,15,8,0),
  155. (8,17,9,0),
  156. (8,16,17,0),
  157. (9,18,10,0),
  158. (9,17,18,0),
  159. (10,19,11,0),
  160. (10,18,19,0),
  161. (11,20,12,0),
  162. (11,19,20,0),
  163. (12,21,13,0),
  164. (12,20,21,0),
  165. (13,22,14,0),
  166. (13,21,22,0),
  167. (14,23,15,0),
  168. (14,22,23,0),
  169. (15,16,8,0),
  170. (15,23,16,0),
  171. (16,25,17,0),
  172. (16,24,25,0),
  173. (17,26,18,0),
  174. (17,25,26,0),
  175. (18,27,19,0),
  176. (18,26,27,0),
  177. (19,28,20,0),
  178. (19,27,28,0),
  179. (20,29,21,0),
  180. (20,28,29,0),
  181. (21,30,22,0),
  182. (21,29,30,0),
  183. (22,31,23,0),
  184. (22,30,31,0),
  185. (23,24,16,0),
  186. (23,31,24,0),
  187. (24,33,25,0),
  188. (24,32,33,0),
  189. (25,34,26,0),
  190. (25,33,34,0),
  191. (26,35,27,0),
  192. (26,34,35,0),
  193. (27,36,28,0),
  194. (27,35,36,0),
  195. (28,37,29,0),
  196. (28,36,37,0),
  197. (29,38,30,0),
  198. (29,37,38,0),
  199. (30,39,31,0),
  200. (30,38,39,0),
  201. (31,32,24,0),
  202. (31,39,32,0),
  203. (32,41,33,0),
  204. (32,40,41,0),
  205. (33,42,34,0),
  206. (33,41,42,0),
  207. (34,43,35,0),
  208. (34,42,43,0),
  209. (35,44,36,0),
  210. (35,43,44,0),
  211. (36,45,37,0),
  212. (36,44,45,0),
  213. (37,46,38,0),
  214. (37,45,46,0),
  215. (38,47,39,0),
  216. (38,46,47,0),
  217. (39,40,32,0),
  218. (39,47,40,0),
  219. (40,49,41,0),
  220. (40,48,49,0),
  221. (41,50,42,0),
  222. (41,49,50,0),
  223. (42,51,43,0),
  224. (42,50,51,0),
  225. (43,52,44,0),
  226. (43,51,52,0),
  227. (44,53,45,0),
  228. (44,52,53,0),
  229. (45,54,46,0),
  230. (45,53,54,0),
  231. (46,55,47,0),
  232. (46,54,55,0),
  233. (47,48,40,0),
  234. (47,55,48,0),
  235. (48,57,49,0),
  236. (48,56,57,0),
  237. (49,58,50,0),
  238. (49,57,58,0),
  239. (50,59,51,0),
  240. (50,58,59,0),
  241. (51,60,52,0),
  242. (51,59,60,0),
  243. (52,61,53,0),
  244. (52,60,61,0),
  245. (53,62,54,0),
  246. (53,61,62,0),
  247. (54,63,55,0),
  248. (54,62,63,0),
  249. (55,56,48,0),
  250. (55,63,56,0),
  251. (56,65,57,0),
  252. (56,64,65,0),
  253. (57,66,58,0),
  254. (57,65,66,0),
  255. (58,67,59,0),
  256. (58,66,67,0),
  257. (59,68,60,0),
  258. (59,67,68,0),
  259. (60,69,61,0),
  260. (60,68,69,0),
  261. (61,70,62,0),
  262. (61,69,70,0),
  263. (62,71,63,0),
  264. (62,70,71,0),
  265. (63,64,56,0),
  266. (63,71,64,0),
  267. (64,73,65,0),
  268. (64,72,73,0),
  269. (65,74,66,0),
  270. (65,73,74,0),
  271. (66,75,67,0),
  272. (66,74,75,0),
  273. (67,76,68,0),
  274. (67,75,76,0),
  275. (68,77,69,0),
  276. (68,76,77,0),
  277. (69,78,70,0),
  278. (69,77,78,0),
  279. (70,79,71,0),
  280. (70,78,79,0),
  281. (71,72,64,0),
  282. (71,79,72,0),
  283. (72,81,73,0),
  284. (72,80,81,0),
  285. (73,82,74,0),
  286. (73,81,82,0),
  287. (74,83,75,0),
  288. (74,82,83,0),
  289. (75,84,76,0),
  290. (75,83,84,0),
  291. (76,85,77,0),
  292. (76,84,85,0),
  293. (77,86,78,0),
  294. (77,85,86,0),
  295. (78,87,79,0),
  296. (78,86,87,0),
  297. (79,80,72,0),
  298. (79,87,80,0),
  299. (80,89,81,0),
  300. (80,88,89,0),
  301. (81,90,82,0),
  302. (81,89,90,0),
  303. (82,91,83,0),
  304. (82,90,91,0),
  305. (83,92,84,0),
  306. (83,91,92,0),
  307. (84,93,85,0),
  308. (84,92,93,0),
  309. (85,94,86,0),
  310. (85,93,94,0),
  311. (86,95,87,0),
  312. (86,94,95,0),
  313. (87,88,80,0),
  314. (87,95,88,0),
  315. (88,97,89,0),
  316. (88,96,97,0),
  317. (89,98,90,0),
  318. (89,97,98,0),
  319. (90,99,91,0),
  320. (90,98,99,0),
  321. (91,100,92,0),
  322. (91,99,100,0),
  323. (92,101,93,0),
  324. (92,100,101,0),
  325. (93,102,94,0),
  326. (93,101,102,0),
  327. (94,103,95,0),
  328. (94,102,103,0),
  329. (95,96,88,0),
  330. (95,103,96,0),
  331. (96,105,97,0),
  332. (96,104,105,0),
  333. (97,106,98,0),
  334. (97,105,106,0),
  335. (98,107,99,0),
  336. (98,106,107,0),
  337. (99,108,100,0),
  338. (99,107,108,0),
  339. (100,109,101,0),
  340. (100,108,109,0),
  341. (101,110,102,0),
  342. (101,109,110,0),
  343. (102,111,103,0),
  344. (102,110,111,0),
  345. (103,104,96,0),
  346. (103,111,104,0),
  347. (104,113,105,0),
  348. (104,112,113,0),
  349. (105,114,106,0),
  350. (105,113,114,0),
  351. (106,115,107,0),
  352. (106,114,115,0),
  353. (107,116,108,0),
  354. (107,115,116,0),
  355. (108,117,109,0),
  356. (108,116,117,0),
  357. (109,118,110,0),
  358. (109,117,118,0),
  359. (110,119,111,0),
  360. (110,118,119,0),
  361. (111,112,104,0),
  362. (111,119,112,0),
  363. (112,121,113,0),
  364. (112,120,121,0),
  365. (113,122,114,0),
  366. (113,121,122,0),
  367. (114,123,115,0),
  368. (114,122,123,0),
  369. (115,124,116,0),
  370. (115,123,124,0),
  371. (116,125,117,0),
  372. (116,124,125,0),
  373. (117,126,118,0),
  374. (117,125,126,0),
  375. (118,127,119,0),
  376. (118,126,127,0),
  377. (119,120,112,0),
  378. (119,127,120,0),
  379. (120,1,121,0),
  380. (120,0,1,0),
  381. (121,2,122,0),
  382. (121,1,2,0),
  383. (122,3,123,0),
  384. (122,2,3,0),
  385. (123,4,124,0),
  386. (123,3,4,0),
  387. (124,5,125,0),
  388. (124,4,5,0),
  389. (125,6,126,0),
  390. (125,5,6,0),
  391. (126,7,127,0),
  392. (126,6,7,0),
  393. (127,0,120,0),
  394. (127,7,0,0));
  395. IMPLEMENTATION
  396.  
  397. END.
  398.