{"id":20129,"date":"2022-11-08T20:08:55","date_gmt":"2022-11-08T14:38:55","guid":{"rendered":"https:\/\/jassweb.com\/solved\/solved-rotate-5-circle-problem-duplicate\/"},"modified":"2022-11-08T20:08:55","modified_gmt":"2022-11-08T14:38:55","slug":"solved-rotate-5-circle-problem-duplicate","status":"publish","type":"post","link":"https:\/\/jassweb.com\/solved\/solved-rotate-5-circle-problem-duplicate\/","title":{"rendered":"[Solved] rotate 5 circle problem [duplicate]"},"content":{"rendered":"<p> [ad_1]<br \/>\n<\/p>\n<div id=\"answer-6565786\" class=\"answer js-answer accepted-answer js-accepted-answer\" data-answerid=\"6565786\" data-parentid=\"6565630\" data-score=\"3\" data-position-on-page=\"1\" data-highest-scored=\"1\" data-question-has-accepted-highest-score=\"1\" itemprop=\"acceptedAnswer\" itemscope itemtype=\"https:\/\/schema.org\/Answer\">\n<div class=\"post-layout\">\n<div class=\"votecell post-layout--left\"><\/div>\n<div class=\"answercell post-layout--right\">\n<div class=\"s-prose js-post-body\" itemprop=\"text\">\n<p>You should call glutSwapBuffers only once in the drawing function.<\/p>\n<p>For an animation you have to call glutPostRedisplay, to ensure that the display function will be called again.<\/p>\n<p>The glBegin and glEnd calls only have to be called once per circle. In the for loop you just supply vertices with calls to glVertex.<\/p>\n<p>To simplify debugging I installed a keyboard handler that closes the window when the escape key is pressed.<\/p>\n<pre><code> \/\/ compile in linux: gcc ogl.c -lglut -lGLU\n\n#include &lt;GL\/glut.h&gt;\n#include &lt;math.h&gt;\n#include &lt;stdlib.h&gt;\n\nstatic void redraw(void);\n#define PI 3.14159265 \n\nenum{\n  EDGES=90,\n};\n\nstatic void \ncircle(float radius)\n{\n  int i;\n  glBegin(GL_LINE_LOOP); \n  for (i = 0; i &lt; EDGES; i++){ \n    glVertex2f(radius*cos((2*PI*i)\/EDGES),\n           radius*sin((2*PI*i)\/EDGES)); \n    glVertex2f(radius*cos((2*PI*(i+1))\/EDGES),\n           radius*sin((2*PI*(i+1))\/EDGES)); \n  } \n  glEnd();\n}\n\n\nint count=0;\nvoid display (void) \n{\n  float r=10;\n  glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);\n  glLoadIdentity();   \n\n  glRotated(count,0,0,1);\n  count++;\n  if(count&gt;360)\n    count=0;\n\n  glPushMatrix();\n  \/\/ ring1\n  glColor3f (0.0, 0.0 ,1.0);\n  glTranslatef(-30.0,10.0,-100.0);\n  circle(r);\n  glPopMatrix();\n\n  glPushMatrix();\n  \/\/ ring2\n  glColor3f (0.0, 0.0, 0.0);\n  glTranslatef(-8.0,10.0,-100.0);\n  circle(r);\n  glPopMatrix();\n\n  glPushMatrix();\n  \/\/ring3\n  glColor3f (1.0, 0.0 ,0.0);\n  glTranslatef(14.0,10.0,-100.0);\n  circle(r);\n  glPopMatrix();\n\n  glPushMatrix();\n  \/\/ring4\n  glColor3f (1.0, 1.0, 0.0);\n  glTranslatef(-19.0,-2.0,-100.0);\n  circle(r);\n  glPopMatrix();\n\n  glPushMatrix();\n  \/\/ring5\n  glColor3f (0.0, 1.0, 0.0);\n  glTranslatef(4.0,-2.0,-100.0);\n  circle(r);\n  glPopMatrix();\n\n  glutSwapBuffers();\n  glutPostRedisplay();\n}\n\nstatic void \nkeyb(unsigned char key, int x, int y)\n{\n  switch (key) {\n  case 27:  \/* Escape key *\/\n    exit(0);\n  }\n}\n\n\nvoid\ninit()\n{\n  glPointSize(3); \n  glShadeModel (GL_FLAT); \n  glMatrixMode(GL_PROJECTION);    \n  gluPerspective(45,1.0,10.0,200.0);\n  glMatrixMode(GL_MODELVIEW);\n  glClearColor(1.0,1.0,1.0,0.0);\n  glLineWidth(2);\n}\n\nint\nmain(int argc, char **argv)\n{\n  glutInit(&amp;argc,argv);\n  glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);\n  glutInitWindowPosition(100,100);\n  glutInitWindowSize(110*3, 110*3);\n  glutCreateWindow(\"draw circle\");\n  glutDisplayFunc(display);\n  glutKeyboardFunc(keyb);\n  init();\n  glutMainLoop();\n  return 0; \n}\n<\/code><\/pre>\n<\/p><\/div>\n<div class=\"mt24\"><\/div>\n<\/div>\n<p>            <span class=\"d-none\" itemprop=\"commentCount\">6<\/span> <\/p><\/div>\n<\/div>\n<p>[ad_2]<\/p>\n<p>solved rotate 5 circle problem [duplicate] <\/p>\n","protected":false},"excerpt":{"rendered":"<p>[ad_1] You should call glutSwapBuffers only once in the drawing function. For an animation you have to call glutPostRedisplay, to ensure that the display function will be called again. The glBegin and glEnd calls only have to be called once per circle. In the for loop you just supply vertices with calls to glVertex. To &#8230; <a title=\"[Solved] rotate 5 circle problem [duplicate]\" class=\"read-more\" href=\"https:\/\/jassweb.com\/solved\/solved-rotate-5-circle-problem-duplicate\/\" aria-label=\"More on [Solved] rotate 5 circle problem [duplicate]\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[320],"tags":[1999,324,1082,2552],"class_list":["post-20129","post","type-post","status-publish","format-standard","hentry","category-solved","tag-3d","tag-c","tag-opengl","tag-rotation"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>[Solved] rotate 5 circle problem [duplicate] - JassWeb<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/jassweb.com\/solved\/solved-rotate-5-circle-problem-duplicate\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"[Solved] rotate 5 circle problem [duplicate] - JassWeb\" \/>\n<meta property=\"og:description\" content=\"[ad_1] You should call glutSwapBuffers only once in the drawing function. For an animation you have to call glutPostRedisplay, to ensure that the display function will be called again. The glBegin and glEnd calls only have to be called once per circle. In the for loop you just supply vertices with calls to glVertex. To ... Read more\" \/>\n<meta property=\"og:url\" content=\"https:\/\/jassweb.com\/solved\/solved-rotate-5-circle-problem-duplicate\/\" \/>\n<meta property=\"og:site_name\" content=\"JassWeb\" \/>\n<meta property=\"article:published_time\" content=\"2022-11-08T14:38:55+00:00\" \/>\n<meta name=\"author\" content=\"Kirat\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Kirat\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-rotate-5-circle-problem-duplicate\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-rotate-5-circle-problem-duplicate\/\"},\"author\":{\"name\":\"Kirat\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31\"},\"headline\":\"[Solved] rotate 5 circle problem [duplicate]\",\"datePublished\":\"2022-11-08T14:38:55+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-rotate-5-circle-problem-duplicate\/\"},\"wordCount\":83,\"publisher\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\"},\"keywords\":[\"3d\",\"c++\",\"opengl\",\"rotation\"],\"articleSection\":[\"Solved\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-rotate-5-circle-problem-duplicate\/\",\"url\":\"https:\/\/jassweb.com\/solved\/solved-rotate-5-circle-problem-duplicate\/\",\"name\":\"[Solved] rotate 5 circle problem [duplicate] - JassWeb\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#website\"},\"datePublished\":\"2022-11-08T14:38:55+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-rotate-5-circle-problem-duplicate\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/jassweb.com\/solved\/solved-rotate-5-circle-problem-duplicate\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-rotate-5-circle-problem-duplicate\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/jassweb.com\/solved\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"[Solved] rotate 5 circle problem [duplicate]\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/jassweb.com\/solved\/#website\",\"url\":\"https:\/\/jassweb.com\/solved\/\",\"name\":\"JassWeb\",\"description\":\"Build High-quality Websites\",\"publisher\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/jassweb.com\/solved\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\",\"name\":\"Jass Web\",\"url\":\"https:\/\/jassweb.com\/solved\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png\",\"contentUrl\":\"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png\",\"width\":693,\"height\":132,\"caption\":\"Jass Web\"},\"image\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31\",\"name\":\"Kirat\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1776403586\",\"contentUrl\":\"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1776403586\",\"caption\":\"Kirat\"},\"sameAs\":[\"http:\/\/jassweb.com\"],\"url\":\"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"[Solved] rotate 5 circle problem [duplicate] - JassWeb","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/jassweb.com\/solved\/solved-rotate-5-circle-problem-duplicate\/","og_locale":"en_US","og_type":"article","og_title":"[Solved] rotate 5 circle problem [duplicate] - JassWeb","og_description":"[ad_1] You should call glutSwapBuffers only once in the drawing function. For an animation you have to call glutPostRedisplay, to ensure that the display function will be called again. The glBegin and glEnd calls only have to be called once per circle. In the for loop you just supply vertices with calls to glVertex. To ... Read more","og_url":"https:\/\/jassweb.com\/solved\/solved-rotate-5-circle-problem-duplicate\/","og_site_name":"JassWeb","article_published_time":"2022-11-08T14:38:55+00:00","author":"Kirat","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Kirat","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/jassweb.com\/solved\/solved-rotate-5-circle-problem-duplicate\/#article","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/solved-rotate-5-circle-problem-duplicate\/"},"author":{"name":"Kirat","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31"},"headline":"[Solved] rotate 5 circle problem [duplicate]","datePublished":"2022-11-08T14:38:55+00:00","mainEntityOfPage":{"@id":"https:\/\/jassweb.com\/solved\/solved-rotate-5-circle-problem-duplicate\/"},"wordCount":83,"publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"keywords":["3d","c++","opengl","rotation"],"articleSection":["Solved"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/jassweb.com\/solved\/solved-rotate-5-circle-problem-duplicate\/","url":"https:\/\/jassweb.com\/solved\/solved-rotate-5-circle-problem-duplicate\/","name":"[Solved] rotate 5 circle problem [duplicate] - JassWeb","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/#website"},"datePublished":"2022-11-08T14:38:55+00:00","breadcrumb":{"@id":"https:\/\/jassweb.com\/solved\/solved-rotate-5-circle-problem-duplicate\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/jassweb.com\/solved\/solved-rotate-5-circle-problem-duplicate\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/jassweb.com\/solved\/solved-rotate-5-circle-problem-duplicate\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/jassweb.com\/solved\/"},{"@type":"ListItem","position":2,"name":"[Solved] rotate 5 circle problem [duplicate]"}]},{"@type":"WebSite","@id":"https:\/\/jassweb.com\/solved\/#website","url":"https:\/\/jassweb.com\/solved\/","name":"JassWeb","description":"Build High-quality Websites","publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/jassweb.com\/solved\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/jassweb.com\/solved\/#organization","name":"Jass Web","url":"https:\/\/jassweb.com\/solved\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/","url":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","contentUrl":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","width":693,"height":132,"caption":"Jass Web"},"image":{"@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31","name":"Kirat","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/image\/","url":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1776403586","contentUrl":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1776403586","caption":"Kirat"},"sameAs":["http:\/\/jassweb.com"],"url":"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/"}]}},"_links":{"self":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/20129","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/comments?post=20129"}],"version-history":[{"count":0,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/20129\/revisions"}],"wp:attachment":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/media?parent=20129"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/categories?post=20129"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/tags?post=20129"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}