Contenu
OpenGL, ou Open Graphics Library, est une API graphique (Application Programming Interface) permettant d'écrire des applications 2D et 3D dans divers langages et plates-formes de programmation. Il peut être utilisé pour rendre n'importe quoi, des objets simples et primitifs aux scènes 3D complexes. Open GL est largement utilisé dans la conception informatique, la visualisation scientifique, la simulation de vol et les jeux vidéo. Même si OpenGl ne dispose pas de méthodes pour dessiner directement un cercle, il est possible d'en créer un en utilisant une série de lignes. Vous devrez avoir une connaissance de base d'OpenGL pour dessiner le cercle.
Étape 1
Créez un programme de base avec une fenêtre OpenGL. Si vous n'êtes pas familiarisé avec ce processus, il existe un didacticiel sur la page OpenGL.
Étape 2
Ajoutez le fichier math.h.header à votre programme en entrant le code suivant au début du programme: #include Démarrez la méthode de cercle en ajoutant le code suivant avant d'afficher la fonction de rappel: void drawCircle (GLint x, GLint y, GLint radius, int num_lines) {} Les variables «x» et «y» seront utilisées pour définir le centre du cercle dans votre fenêtre, tandis que le «rayon» établit le rayon du cercle. L'entier "num_lines" est le nombre de lignes utilisées pour composer le cercle. Plus ce nombre est élevé, plus le cercle apparaîtra lisse. Ajoutez le code de configuration suivant à l'intérieur des clés: angle flottant GO int num_lines GO glColor3f (0.0, 0.0, 0.0) GO. La variable "angle" contiendra l'angle des lignes utilisées pour construire le cercle. L'appel de la fonction glColor3f () définit la couleur des lignes sur le noir, où la série de trois 0 correspond à l'intensité du rouge, du vert et du bleu sur une échelle de 0 à 1. Ajoutez le code suivant sous la fonction glColor3f () de l'étape 4: glBegin (GL_LINE_LOOP) GO Cela indique à OpenGL que toutes les lignes suivantes impliquent des lignes de dessin. Plus précisément, il dessinera un "GL_LINE_LOOP", qui est une série de lignes connectées. Entrez le code suivant pour une boucle for après l'appel glBegin (): for (int i = 0; i <row_number; i ++) {angle = i * 2 * M_PI / num_line; glVertex2f (x + (cos (angle) * rayon), y + (sin (angle) * rayon)); } Cette boucle fait trois choses. Tout d'abord, il itère en fonction de la valeur de "num_lines", où num_lines est un entier, dessinant une ligne à chaque itération et résultant en un cercle composé de lignes droites num_lines. Deuxièmement, il calcule l'angle des lignes par rapport au centre du cercle en radians. "M_P" est une constante définie dans math.h représentant pi. Enfin, l'appel à glVertex2f () calcule les coordonnées des points d'extrémité des lignes. Après la boucle, entrez la ligne de code suivante: glEnd () GO Cela indiquera à OpenGL que vous avez fini de dessiner les lignes. Pour dessiner le cercle dans une scène, ajoutez un appel de la méthode drawCircle () à la fonction d'affichage de rappel du programme, qui doit être préparée à l'étape 1. Spécifiez les valeurs de x, y, radius et num_lines, où x et y représentent un point dans votre scène, le rayon est le rayon du cercle et num_lines est le nombre de lignes qui composent le cercle. Encore une fois, si vous n'êtes pas familier avec OpenGL et l'affichage de rappel, consultez le didacticiel OpenGL. Compilez et exécutez votre programme. Si vous avez entré les fonctions correctement, il devrait se compiler sans erreurs. Si vous avez spécifié les valeurs pour x, y et rayon, vous devriez voir un cercle noir affiché sur un fond blanc.Étape 3
Étape 4
Étape 5
Étape 6
Étape 7
Étape 8
Étape 9