Dit zal u voorzien van de cos ( ) en sin ( ) functies ( cosinus en sinus ) die nodig zijn om de cirkel te berekenen .
3 Begin je cirkelmethode door toevoeging van de volgende code voordat je beeldscherm callback functie : void drawCircle ( glinstering x , y glinstering , glinsteren straal , int num_lines ) { } de variabelen \\ " x \\ " en \\ " y \\ " zal worden gebruikt voor het instellen het middelpunt van de cirkel in het venster , terwijl \\ "radius \\ " natuurlijk zet straal van de cirkel . De integer \\ " num_lines \\ " is het aantal lijnen gebruikt om de cirkel te componeren . Hoe hoger het getal , hoe vloeiender de cirkel zal blijken te zijn
4
Voeg de volgende set - up code binnen de haakjes . Vlotter hoek GO int num_lines GO glColor3f ( 0.0 , 0.0 , 0.0 ) GO de variabele \\ " angle \\ " zal de hoek van de lijnen wordt gebruikt om de cirkel te construeren bevatten . De aanroep van de glColor3f ( ) stelt de kleur van de zwarte lijnen , waarbij de reeks van drie 0s overeen met de intensiteit van rood , groen en blauw op een schaal van 0-1 .
5
In de volgende code onder de glColor3f ( ) oproep van Stap 4 : glBegin ( GL_LINE_LOOP ) GO Dit vertelt OpenGL dat elke volgende regels betrekken tekenen van lijnen . Specifiek , dit trekt een \\ " GL_LINE_LOOP , \\ " die trekt een reeks van samenhangende lijnen
6
Voer de volgende for- lus code na de glBegin ( ) oproep : . For (int i = 0 ; i < num_lines ; i + + ) { hoek = i * 2 * M_PI /num_lines ; glVertex2f ( x + ( cos ( hoek ) * straal) , y + ( sin ( hoek ) * straal ) ) ; } Deze loop volbrengt drie dingen. Ten eerste herhaalt num_lines keer , wanneer num_lines een geheel getal , een lijn in elke iteratie en resulteert in een cirkel uit num_lines rechte lijnen . Ten tweede berekent de hoek van de lijnen ten opzichte van het middelpunt van de cirkel in radialen . \\ " M_PI \\ " is een constante variabele gedefinieerd in math.h vertegenwoordigen pi . Ten slotte is de glVertex2f ( ) oproep berekent de ( x , y) -coördinaten van de eindpunten van de lijnen
7
Na de voor -loop , voert u de volgende regel code : . Glend ( ) GO Deze vertelt OpenGL je klaar bent met het tekenen van lijnen .
8
om de cirkel in je scène te tekenen , een oproep aan de drawCircle ( ) methode om de weergave callback functie van uw programma 's , die u in stap 1 moeten hebben voorbereid . De waarden voor x , y , straal en num_lines , waarbij x en y staat voor een punt in de scène , radius is de straal van de cirkel , en num_lines is het aantal lijnen waaruit de cirkel . Nogmaals, als je niet bekend bent met OpenGL en de weergave callback zijn , verwijzen naar de OpenGL tutorial.
Compile 9 en uitvoeren van uw programma. Als u de functie correct hebt ingevoerd , dient het te compileren zonder fouten . Als u geldige waarden voor x , y en radius hebt opgegeven , moet u een zwarte cirkel weergegeven op een witte achtergrond te zien .