h.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 h_data[][2] = {
  39. {1.462963, 17.499485-3.0},
  40. {3.259259, 17.851700-3.0},
  41. {2.074074, 17.351185-3.0},
  42. {3.037037, 17.073120-3.0},
  43. {2.277778, 17.054583-3.0},
  44. {2.814815, 15.775489-3.0},
  45. {2.018518, 14.737384-3.0},
  46. {2.203704, 12.142121-3.0},
  47. {1.296296, 10.158600-3.0},
  48. {1.259259, 7.674562-3.0},
  49. {0.666667, 6.933059-3.0},
  50. {0.685185, 5.728116-3.0},
  51. {0.314815, 5.653965-3.0},
  52. {0.444444, 5.227601-3.0},
  53. {0.074074, 5.097837-3.0},
  54. {1.611111, 9.824923-3.0},
  55. {1.333333, 8.527291-3.0},
  56. {2.240741, 10.937179-3.0},
  57. {2.500000, 10.992791-3.0},
  58. {2.888889, 11.771370-3.0},
  59. {3.314815, 11.845520-3.0},
  60. {3.462963, 12.253347-3.0},
  61. {3.740741, 12.067971-3.0},
  62. {4.500000, 12.846550-3.0},
  63. {4.148148, 12.030896-3.0},
  64. {5.185185, 12.883625-3.0},
  65. {4.296296, 11.771370-3.0},
  66. {5.351852, 12.420185-3.0},
  67. {4.333333, 11.196705-3.0},
  68. {5.129630, 10.955716-3.0},
  69. {4.129630, 9.583934-3.0},
  70. {4.203704, 7.192585-3.0},
  71. {3.518518, 6.414006-3.0},
  72. {4.129630, 6.469619-3.0},
  73. {3.537037, 5.765191-3.0},
  74. {4.296296, 6.061792-3.0},
  75. {3.851852, 5.171988-3.0},
  76. {4.722222, 5.802266-3.0},
  77. {4.277778, 5.060762-3.0},
  78. {5.314815, 5.894954-3.0},
  79. {5.148148, 5.431514-3.0},
  80. {5.777778, 6.098867-3.0},
  81. };
  82. void draw_h(void) {
  83.     glBegin(GL_TRIANGLE_STRIP);
  84. glVertex2fv(h_data[0]);
  85. glVertex2fv(h_data[1]);
  86. glVertex2fv(h_data[2]);
  87. glVertex2fv(h_data[3]);
  88. glVertex2fv(h_data[4]);
  89. glVertex2fv(h_data[5]);
  90. glVertex2fv(h_data[6]);
  91. glVertex2fv(h_data[7]);
  92. glVertex2fv(h_data[8]);
  93. glVertex2fv(h_data[9]);
  94. glVertex2fv(h_data[10]);
  95. glVertex2fv(h_data[11]);
  96. glVertex2fv(h_data[12]);
  97. glVertex2fv(h_data[13]);
  98. glVertex2fv(h_data[14]);
  99.     glEnd();
  100.     glBegin(GL_TRIANGLE_STRIP);
  101. glVertex2fv(h_data[15]);
  102. glVertex2fv(h_data[16]);
  103. glVertex2fv(h_data[17]);
  104. glVertex2fv(h_data[18]);
  105. glVertex2fv(h_data[19]);
  106. glVertex2fv(h_data[20]);
  107. glVertex2fv(h_data[21]);
  108. glVertex2fv(h_data[22]);
  109. glVertex2fv(h_data[23]);
  110. glVertex2fv(h_data[24]);
  111. glVertex2fv(h_data[25]);
  112. glVertex2fv(h_data[26]);
  113. glVertex2fv(h_data[27]);
  114. glVertex2fv(h_data[28]);
  115. glVertex2fv(h_data[29]);
  116. glVertex2fv(h_data[30]);
  117. glVertex2fv(h_data[31]);
  118. glVertex2fv(h_data[32]);
  119. glVertex2fv(h_data[33]);
  120. glVertex2fv(h_data[34]);
  121. glVertex2fv(h_data[35]);
  122. glVertex2fv(h_data[36]);
  123. glVertex2fv(h_data[37]);
  124. glVertex2fv(h_data[38]);
  125. glVertex2fv(h_data[39]);
  126. glVertex2fv(h_data[40]);
  127. glVertex2fv(h_data[41]);
  128.     glEnd();
  129.     glBegin(GL_LINE_STRIP);
  130. glVertex2fv(h_data[0]);
  131. glVertex2fv(h_data[2]);
  132. glVertex2fv(h_data[4]);
  133. glVertex2fv(h_data[6]);
  134. glVertex2fv(h_data[8]);
  135. glVertex2fv(h_data[10]);
  136. glVertex2fv(h_data[12]);
  137. glVertex2fv(h_data[14]);
  138. glVertex2fv(h_data[13]);
  139. glVertex2fv(h_data[11]);
  140. glVertex2fv(h_data[9]);
  141. glVertex2fv(h_data[7]);
  142. glVertex2fv(h_data[5]);
  143. glVertex2fv(h_data[3]);
  144. glVertex2fv(h_data[1]);
  145. glVertex2fv(h_data[0]);
  146.     glEnd();
  147.     glBegin(GL_LINE_STRIP);
  148. glVertex2fv(h_data[15]);
  149. glVertex2fv(h_data[17]);
  150. glVertex2fv(h_data[19]);
  151. glVertex2fv(h_data[21]);
  152. glVertex2fv(h_data[23]);
  153. glVertex2fv(h_data[25]);
  154. glVertex2fv(h_data[27]);
  155. glVertex2fv(h_data[29]);
  156. glVertex2fv(h_data[31]);
  157. glVertex2fv(h_data[33]);
  158. glVertex2fv(h_data[35]);
  159. glVertex2fv(h_data[37]);
  160. glVertex2fv(h_data[39]);
  161. glVertex2fv(h_data[41]);
  162. glVertex2fv(h_data[40]);
  163. glVertex2fv(h_data[38]);
  164. glVertex2fv(h_data[36]);
  165. glVertex2fv(h_data[34]);
  166. glVertex2fv(h_data[32]);
  167. glVertex2fv(h_data[30]);
  168. glVertex2fv(h_data[28]);
  169. glVertex2fv(h_data[26]);
  170. glVertex2fv(h_data[24]);
  171. glVertex2fv(h_data[22]);
  172. glVertex2fv(h_data[20]);
  173. glVertex2fv(h_data[18]);
  174. glVertex2fv(h_data[16]);
  175. glVertex2fv(h_data[15]);
  176.     glEnd();
  177. }