Tecnología

Inicio

El modo de hacer un círculo en OpenGL

OpenGL, u Open Graphics Library, es una API de gráficos por ordenador (interfaz de programación de aplicaciones) para escribir aplicaciones gráficas 2D y 3D a través de los lenguajes de programación y plataformas. Se puede utilizar para hacer cualquier cosa, desde objetos simples, primitivas hasta escenas complejas en 3D. OpenGL es ampliamente utilizado en el diseño asistido por ordenador profesional, la visualización científica, simulación de vuelo y juegos de video. Mientras OpenGL no tiene ningún método para dibujar directamente un círculo, un círculo puede ser construido usando una serie de líneas. Se necesita un conocimiento básico de OpenGL para dibujar un círculo.

Instrucciones

1 Establecer un programa básico que muestra una ventana de visualización OpenGL. Si no está familiarizado con este proceso, hay un tutorial sobre los fundamentos de OpenGL.

2 Añadir el archivo de cabecera math.h a su programa introduciendo el código siguiente al principio del programa: #include <math.h> Esto le proporcionará el cos () y sin () funciones (coseno y seno) necesarios para calcular el círculo.

3 Comience el método del círculo añadiendo el siguiente código antes de la función de visualización de devolución de llamada: drawCircle vacío (brillo x, brillo Y, radio brillo, int num_lineas) {} Las variables \ "x \" y \ "y \" serán utilizados para establecer el centro del círculo en la ventana, mientras que \ "radio \", por supuesto, establece el radio del círculo. El número entero \ "num_lineas \" es el número de líneas que formen parte del círculo. Cuanto mayor sea el número, más suave aparecerá el círculo para ser.

4 Agregue el siguiente código de configuración dentro de los corchetes: ángulo de flotación GO GO num_lineas int glColor3f (0.0, 0.0, 0.0) GO El "ángulo \" la variable \ contendrá el ángulo de las líneas utilizadas para construir el círculo. La llamada a la función glColor3f () pone el color de las líneas en negro, donde la serie de tres 0s corresponden a la intensidad de rojo, verde y azul en una escala de 0 a 1.

5 Agregue el siguiente código debajo de la llamada glColor3f () de la Etapa 4: glBegin (GL_LINE_LOOP) IR Esto le dice a OpenGL que cualquier siguientes líneas implican líneas de dibujo. En concreto, este dibuja un \ "GL_LINE_LOOP, \", que dibuja una serie de líneas conectadas.

6 Escriba el siguiente código para el bucle después de la glBegin () llamada: for (int i = 0; i <num_lineas; i ++) {i = ángulo de

2 M_PI / num_lineas; glVertex2f (x + (cos (ángulo) de radio), y + (sen (ángulo) de radio)); } Este bucle logra tres cosas. En primer lugar, se itera num_lineas tiempos, donde num_lineas es un número entero, dibujando una línea en cada iteración y que resulta en un círculo formado por num_lineas líneas rectas. En segundo lugar, calcula el ángulo de las líneas en relación con el centro del círculo en radianes. \ "M_PI \" es una variable constante definida en math.h que representa pi. Por último, el glVertex2f () calcula la llamada (x, y) las coordenadas de los puntos finales de las líneas.

7 Después de que el bucle de, introduzca la siguiente línea de código: glEnd () GO Esto le dice a OpenGL que haya terminado el trazado de líneas.

8 Para dibujar el círculo de la escena, añadir una llamada al método drawCircle () para la función de visualización de devolución de llamada de su programa, que debería haber preparado en el Paso 1. Especifique los valores de x, y, el radio y num_lineas, donde x e y representan un punto dentro de la escena, el radio es un el radio del círculo, y num_lineas es el número de líneas que componen el círculo. Una vez más, si no está familiarizado con OpenGL y la devolución de llamada pantalla, consulte el tutorial de OpenGL.

9 Compilar y ejecutar su programa. Si ha introducido correctamente la función, se debe compilar sin errores. Si ha especificado valores válidos para x, y, radio, debería ver un círculo negro que se muestra sobre un fondo blanco.