Contenido
OpenGL, o Open Graphics Library, es una API de gráficos (interfaz de programación de aplicaciones) para escribir aplicaciones 2D y 3D en varios lenguajes y plataformas de programación. Se puede utilizar para renderizar cualquier cosa, desde objetos simples y primitivos hasta complejas escenas en 3D. Open GL es ampliamente utilizado en diseño de computadoras, visualización científica, simulación de vuelo y videojuegos. Aunque OpenGl no tiene métodos para dibujar un círculo directamente, es posible construir uno usando una serie de líneas. Necesitará tener conocimientos básicos de OpenGL para dibujar el círculo.
Paso 1
Haga un programa básico con una ventana gráfica OpenGL. Si no está familiarizado con este proceso, hay un tutorial en la página de OpenGL.
Paso 2
Agregue el archivo math.h.header a su programa ingresando el siguiente código al comienzo del programa: #include Inicie el método del círculo agregando el siguiente código antes de mostrar la función de devolución de llamada: vacío drawCircle (GLint x, GLint y, GLint radio, int num_lines) {} Las variables "x" e "y" se utilizarán para definir el centro del círculo en su ventana, mientras que el "radio" establece el radio del círculo. El entero "num_lines" es el número de líneas que se utilizan para componer el círculo. Cuanto mayor sea este número, más suave aparecerá el círculo. Agregue el siguiente código de configuración dentro de las claves: ángulo de flotación GO int num_lines GO glColor3f (0.0, 0.0, 0.0) GO. La variable "ángulo" contendrá el ángulo de las líneas utilizadas para construir el círculo. Llamar a la función glColor3f () establece el color de las líneas en negro, donde la serie de tres 0 corresponde a la intensidad de rojo, verde y azul en una escala de 0 a 1. Agregue el siguiente código debajo de la función glColor3f () del paso 4: glBegin (GL_LINE_LOOP) GO Esto le dice a OpenGL que cualquier línea subsiguiente implica dibujar líneas. Específicamente, dibujará un "GL_LINE_LOOP", que es una serie de líneas conectadas. Ingrese el siguiente código para un bucle for después de la llamada glBegin (): para (int i = 0; i <número_fila; i ++) {ángulo = i * 2 * M_PI / num_line; glVertex2f (x + (cos (ángulo) * radio), y + (sin (ángulo) * radio)); } Este bucle hace tres cosas. Primero, itera según el valor de "num_lines", donde num_lines es un número entero, trazando una línea en cada iteración y dando como resultado un círculo compuesto de líneas rectas num_lines. En segundo lugar, calcula el ángulo de las líneas con respecto al centro del círculo en radianes. "M_P" es una constante definida en math.h que representa pi. Finalmente, la llamada a glVertex2f () calcula las coordenadas de los puntos finales de las líneas. Después del bucle, ingrese la siguiente línea de código: glEnd () GO Esto le dirá a OpenGL que ha terminado de dibujar las líneas. Para dibujar el círculo en una escena, agregue una llamada desde el método drawCircle () a la función de visualización de devolución de llamada del programa, que debe prepararse en el paso 1. Especifique los valores de x, y, radius y num_lines, donde xey representan un punto en su escena, radio es el radio del círculo y num_lines es el número de líneas que forman el círculo. Nuevamente, si no está familiarizado con OpenGL y la pantalla de devolución de llamada, consulte el tutorial de OpenGL. Compile y ejecute su programa. Si ingresó las funciones correctamente, debería compilarse sin errores. Si especificó los valores para x, y y radio, debería ver un círculo negro sobre un fondo blanco.Paso 3
Paso 4
Paso 5
Paso 6
Paso 7
Paso 8
Paso 9