Detta kommer att ge dig de cos ( ) och sin ( ) funktioner ( cosinus och sinus ) behövs för att beräkna den cirkeln .
3 Börja din cirkel metod genom att lägga till följande kod innan din display callback-funktion : void drawCircle ( glint x , y glimt , glimt radie , int num_lines ) { } variablerna \\ " x \\ " och \\ " y \\ " kommer att användas för att ställa in mitten av cirkeln i ditt fönster , medan \\ " radie \\ " , naturligtvis , sätter radie av en cirkel . Heltalet \\ " num_lines \\" är antalet linjer som används för att komponera cirkeln. Ju högre siffra , desto jämnare cirkel att visas vara
4
Lägg till följande på koden inom klamrarna : . Float vinkel GO int num_lines GO glColor3f (0.0, 0.0, 0.0 ) GO variabeln \\ " vinkel \\" kommer att innehålla den vinkel på linjerna som används för att konstruera cirkeln. Uppmaningen till glColor3f ( ) funktionen ställer in färgen på linjerna till svart , där serien av tre 0s motsvarar intensiteten i rött , grönt och blått på en skala från 0 till 1 .
5
Lägg till följande kod nedanför glColor3f ( ) samtal från Steg 4 : glBegin ( GL_LINE_LOOP ) GO Detta talar OpenGL att alla nedanstående raderna omfattar rita linjer . Specifikt , drar detta en \\ " GL_LINE_LOOP , \\ " som drar en serie sammankopplade linor
6
Ange följande för - loop kod efter glBegin ( ) samtal : . For (int i = 0 , i < num_lines , i + + ) { vinkel = i * 2 * M_PI /num_lines , glVertex2f ( x + ( cos ( vinkel ) * radie ) , y + ( sin ( vinkel ) * radie ) ) ;} Denna slinga åstadkommer tre saker. Först itererar det num_lines gånger , där num_lines är ett heltal , ritar en linje i varje iteration och resulterar i en cirkel bestående av num_lines raka linjer. Det andra , beräknar det vinkeln av linjerna i förhållande till centrum av cirkeln i radianer. \\ " M_PI \\ " är en konstant variabel definieras i math.h representerar pi . Slutligen glVertex2f ( ) anropet beräknar ( x , y ) -koordinaterna för ändpunkterna på linjerna
7
Efter for-loop , skriv in följande kodrad : . Glend ( ) GO här berättar OpenGL du är klar rita linjer .
8
att rita cirkeln i din scen , lägga ett samtal till drawCircle ( ) metod för att ditt program display callback-funktion , vilket du borde ha upprättats i steg 1 . Ange värden för x , y , strålbenet och num_lines , där x och y representerar en punkt inom din scen , är radien a radien på den cirkel, och num_lines är antalet rader som utgör cirkeln. Återigen , om du är obekant med OpenGL och displayen återuppringning , se OpenGL handledning .
9
kompilera och köra programmet . Om du har angett fungerar korrekt , bör det kompilerar utan fel . Om du har angett giltiga värden för x , y och radie , bör du se en svart cirkel som visas på en vit bakgrund .