Guest User

Untitled

a guest
Jun 18th, 2018
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.95 KB | None | 0 0
  1. #if defined(linux) || defined(_WIN32)
  2. #include <GL/glut.h> /*??? Linux ? Windows*/
  3. #else
  4. #include <GLUT/GLUT.h> /*??? Mac OS*/
  5. #endif
  6. #include <iostream>
  7. #include <math.h>
  8.  
  9. using namespace std;
  10.  
  11. int n,a=2,al=0,c=200;
  12.  
  13. int X[100];
  14. int Y[100];
  15. int R[100];
  16.  
  17. void processNormalKeys(unsigned char key, int x, int y) {
  18. int i=0;
  19. if (key == 109) ::a-=10;
  20. if (key == 112) ::a+=10;
  21. if (key == 114) ::al+=1;
  22. if (key == 108) ::al-=1;
  23. if ((key == 109)||(key == 112)||(key == 114)||(key == 108)){
  24. for(i=0,i<(::n),i++){
  25. ::X[i]=::c+::a*::R[i]*cos(::al);
  26. ::Y[i]=::c+::a*::R[i]*sin(::al);
  27. }
  28. }
  29.  
  30. }
  31.  
  32.  
  33.  
  34. void reshape(int w, int h)
  35. {
  36. glViewport(0, 0, w, h);
  37.  
  38. glMatrixMode(GL_PROJECTION);
  39. glLoadIdentity();
  40. gluOrtho2D(0, w, 0, h);
  41.  
  42. glMatrixMode(GL_MODELVIEW);
  43. glLoadIdentity();
  44. }
  45.  
  46. void display()
  47. {
  48. int i = 0;
  49. glClear(GL_COLOR_BUFFER_BIT);
  50. glClear(GL_DEPTH_BUFFER_BIT);
  51. glClear(GL_ACCUM_BUFFER_BIT);
  52. glClear(GL_STENCIL_BUFFER_BIT);
  53.  
  54. glBegin(GL_POLYGON);
  55. glColor3f(1.0, 1.0, 1.0);
  56. for(i=0,i<::n,i++){
  57. glVertex2i(::X[i],::Y[i]);
  58. }
  59. glEnd();
  60. glutSwapBuffers();
  61. }
  62.  
  63.  
  64. int main (int argc, char * argv[])
  65. {
  66. int i=0;
  67. FILE *f;
  68. f=fopen("in.txt","r");
  69. fscanf(f,"%i",&::n);
  70. for(i=0,i<::n,i++){
  71. fscanf(f,"%i",::X+i);
  72. };
  73. for(i=0,i<::n,i++){
  74. fscanf(f,"%i",::Y+i);
  75. };
  76. fclose(f);
  77. for(i=0,i<::n,i++){
  78. ::R[i]=floor(sqrt((::X[i]-::c)*(::X[i]-::c)+(::Y[i]-::c)* (::Y[i]-::c)));
  79. };
  80. for(i=0,i<::n,i++){
  81. ::X[i]=::c+::a*::R[i]*cos(::al);
  82. ::Y[i]=::c+::a*::R[i]*sin(::al);
  83. };
  84.  
  85.  
  86.  
  87.  
  88. glutInit(&argc, argv);
  89. glutInitDisplayMode(GLUT_DOUBLE|GLUT_RGBA);
  90. glutInitWindowSize(800, 600);
  91. glutCreateWindow("OpenGL 1");
  92. glutReshapeFunc(reshape);
  93.  
  94.  
  95. glutKeyboardFunc(processNormalKeys);
  96. glutDisplayFunc(display);
  97.  
  98.  
  99. glutMainLoop();
  100.  
  101. return 0;
  102. }
Add Comment
Please, Sign In to add comment