m.c
上传用户:xk288cn
上传日期:2007-05-28
资源大小:4876k
文件大小:6k
源码类别:

GIS编程

开发平台:

Visual C++

  1. /*
  2.  * (c) Copyright 1993, 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/glut.h>
  38. float m_data[][2] = {
  39. {0.590769, 9.449335},
  40. {2.116923, 9.842375},
  41. {1.362051, 9.383828},
  42. {2.527179, 9.825998},
  43. {1.591795, 9.072672},
  44. {2.789744, 9.514841},
  45. {1.690256, 8.663255},
  46. {2.658462, 8.335722},
  47. {1.575385, 7.222108},
  48. {2.067692, 6.255886},
  49. {0.918974, 4.028659},
  50. {1.050256, 3.013306},
  51. {0.705641, 3.013306},
  52. {2.018461, 6.386899},
  53. {1.788718, 5.617196},
  54. {2.921026, 7.991812},
  55. {3.167180, 8.008188},
  56. {3.544615, 8.827022},
  57. {3.872821, 8.843398},
  58. {4.414359, 9.547595},
  59. {4.447179, 9.056294},
  60. {5.120000, 9.891504},
  61. {4.841026, 8.843398},
  62. {5.825641, 9.809621},
  63. {5.005128, 8.040941},
  64. {5.989744, 8.761515},
  65. {4.906667, 6.714432},
  66. {5.595897, 7.123848},
  67. {3.987692, 2.996929},
  68. {4.348718, 2.996929},
  69. {5.218462, 5.977482},
  70. {5.251282, 6.354146},
  71. {6.449231, 7.893552},
  72. {6.400000, 8.221085},
  73. {7.302564, 8.843398},
  74. {7.351795, 9.334698},
  75. {7.827693, 9.154554},
  76. {8.008205, 9.842375},
  77. {8.139487, 9.121801},
  78. {8.795897, 9.973388},
  79. {8.402051, 8.728762},
  80. {9.337436, 9.531218},
  81. {8.402051, 8.040941},
  82. {9.288205, 8.433982},
  83. {7.745641, 5.813715},
  84. {8.320000, 5.928352},
  85. {7.286154, 4.012282},
  86. {7.991795, 4.126919},
  87. {7.499487, 3.357216},
  88. {8.533334, 3.766633},
  89. {8.123077, 3.062436},
  90. {8.927179, 3.832139},
  91. {8.910769, 3.340839},
  92. {9.550769, 4.126919},
  93. };
  94. void draw_m(void) {
  95.     glBegin(GL_LINE_STRIP);
  96. glVertex2fv(m_data[0]);
  97. glVertex2fv(m_data[2]);
  98. glVertex2fv(m_data[4]);
  99. glVertex2fv(m_data[6]);
  100. glVertex2fv(m_data[8]);
  101. glVertex2fv(m_data[10]);
  102. glVertex2fv(m_data[12]);
  103. glVertex2fv(m_data[11]);
  104. glVertex2fv(m_data[9]);
  105. glVertex2fv(m_data[7]);
  106. glVertex2fv(m_data[5]);
  107. glVertex2fv(m_data[3]);
  108. glVertex2fv(m_data[1]);
  109.     glEnd();
  110.     glBegin(GL_LINE_STRIP);
  111. glVertex2fv(m_data[14]);
  112. glVertex2fv(m_data[16]);
  113. glVertex2fv(m_data[18]);
  114. glVertex2fv(m_data[20]);
  115. glVertex2fv(m_data[22]);
  116. glVertex2fv(m_data[24]);
  117. glVertex2fv(m_data[26]);
  118. glVertex2fv(m_data[28]);
  119. glVertex2fv(m_data[29]);
  120. glVertex2fv(m_data[27]);
  121. glVertex2fv(m_data[25]);
  122. glVertex2fv(m_data[23]);
  123. glVertex2fv(m_data[21]);
  124. glVertex2fv(m_data[19]);
  125. glVertex2fv(m_data[17]);
  126. glVertex2fv(m_data[15]);
  127. glVertex2fv(m_data[13]);
  128.     glEnd();
  129.     glBegin(GL_LINE_STRIP);
  130. glVertex2fv(m_data[30]);
  131. glVertex2fv(m_data[32]);
  132. glVertex2fv(m_data[34]);
  133. glVertex2fv(m_data[36]);
  134. glVertex2fv(m_data[38]);
  135. glVertex2fv(m_data[40]);
  136. glVertex2fv(m_data[42]);
  137. glVertex2fv(m_data[44]);
  138. glVertex2fv(m_data[46]);
  139. glVertex2fv(m_data[48]);
  140. glVertex2fv(m_data[50]);
  141. glVertex2fv(m_data[52]);
  142. glVertex2fv(m_data[53]);
  143. glVertex2fv(m_data[51]);
  144. glVertex2fv(m_data[49]);
  145. glVertex2fv(m_data[47]);
  146. glVertex2fv(m_data[45]);
  147. glVertex2fv(m_data[43]);
  148. glVertex2fv(m_data[41]);
  149. glVertex2fv(m_data[39]);
  150. glVertex2fv(m_data[37]);
  151. glVertex2fv(m_data[35]);
  152. glVertex2fv(m_data[33]);
  153. glVertex2fv(m_data[31]);
  154.     glEnd();
  155.     glBegin(GL_TRIANGLE_STRIP);
  156. glVertex2fv(m_data[0]);
  157. glVertex2fv(m_data[1]);
  158. glVertex2fv(m_data[2]);
  159. glVertex2fv(m_data[3]);
  160. glVertex2fv(m_data[4]);
  161. glVertex2fv(m_data[5]);
  162. glVertex2fv(m_data[6]);
  163. glVertex2fv(m_data[7]);
  164. glVertex2fv(m_data[8]);
  165. glVertex2fv(m_data[9]);
  166. glVertex2fv(m_data[10]);
  167. glVertex2fv(m_data[11]);
  168. glVertex2fv(m_data[12]);
  169.     glEnd();
  170.     glBegin(GL_TRIANGLE_STRIP);
  171. glVertex2fv(m_data[13]);
  172. glVertex2fv(m_data[14]);
  173. glVertex2fv(m_data[15]);
  174. glVertex2fv(m_data[16]);
  175. glVertex2fv(m_data[17]);
  176. glVertex2fv(m_data[18]);
  177. glVertex2fv(m_data[19]);
  178. glVertex2fv(m_data[20]);
  179. glVertex2fv(m_data[21]);
  180. glVertex2fv(m_data[22]);
  181. glVertex2fv(m_data[23]);
  182. glVertex2fv(m_data[24]);
  183. glVertex2fv(m_data[25]);
  184. glVertex2fv(m_data[26]);
  185. glVertex2fv(m_data[27]);
  186. glVertex2fv(m_data[28]);
  187. glVertex2fv(m_data[29]);
  188.     glEnd();
  189.     glBegin(GL_TRIANGLE_STRIP);
  190. glVertex2fv(m_data[30]);
  191. glVertex2fv(m_data[31]);
  192. glVertex2fv(m_data[32]);
  193. glVertex2fv(m_data[33]);
  194. glVertex2fv(m_data[34]);
  195. glVertex2fv(m_data[35]);
  196. glVertex2fv(m_data[36]);
  197. glVertex2fv(m_data[37]);
  198. glVertex2fv(m_data[38]);
  199. glVertex2fv(m_data[39]);
  200. glVertex2fv(m_data[40]);
  201. glVertex2fv(m_data[41]);
  202. glVertex2fv(m_data[42]);
  203. glVertex2fv(m_data[43]);
  204. glVertex2fv(m_data[44]);
  205. glVertex2fv(m_data[45]);
  206. glVertex2fv(m_data[46]);
  207. glVertex2fv(m_data[47]);
  208. glVertex2fv(m_data[48]);
  209. glVertex2fv(m_data[49]);
  210. glVertex2fv(m_data[50]);
  211. glVertex2fv(m_data[51]);
  212. glVertex2fv(m_data[52]);
  213. glVertex2fv(m_data[53]);
  214.     glEnd();
  215. }