Sei sulla pagina 1di 7

Practica 19 Dibujando un Circulo

OBJETIVO: Introducir al Modelado Geomtrico utilizando primitivas de OpenGL.

Descripcin

Concepto: Definicin:

Crculo
OpenGL no tiene una primitiva que permita dibujar un crculo, sin embargo, ste se puede modelar a partir de la primitiva POLIGONO, dndole suficiente nmero de vrtices, y distribuyndolos de tal manera que formen un polgono regular.

Source: 3D Computer Mathematics A Mathematical Introduction to OpenGL

Ejemplo de Cmo Dibujar un Crculo


Descripcin

Dados R, el radio del crculo deseado, y la coordenada de su centro (C x, CY, CZ), es posible aproximar sta figura geomtrica a partir de un POLIGONO regular con n vrtices. Mientras mayor sea el valor de n la figura ms semejante ser a la de un crculo. NOTA: El crculo ser dibujado en el plano XY.
publicvoidcirculo(GL2gl,floatR,floatCx,floatCy,floatCz,int numv){ floatangulo=0.0f; floatDx,Dy; gl.glBegin(GL2.GL_POLYGON); for(inti=0;i<numv;++i){ Dx=(float)(1*Math.cos(angulo*Math.PI/180)); Dy=(float)(1*Math.sin(angulo*Math.PI/180)); gl.glVertex3f(Cx+Dx,Cy+Dy,Cz); angulo=angulo+360.0f/numv; } gl.glEnd(); }

Source: 3D Computer Mathematics A Mathematical Introduction to OpenGL

Ejemplo de Cmo Dibujar un Crculo


Descripcin

Habiendo definido el mtodo [circulo(...)] como miembro de nuestra clase LIENZO, solo resta mandarlo llamar para hacer uso de el.

publicvoiddisplay(GLAutoDrawableglad){ GL2gl=glad.getGL().getGL2(); gl.glClear(gl.GL_COLOR_BUFFER_BIT); circulo(gl,1,3.5f,0.0f,0.0f,5); circulo(gl,1,3.5f,0.0f,0.0f,10); circulo(gl,1,3.5f,0.0f,0.0f,15); circulo(gl,1,3.5f,0.0f,0.0f,20); circulo(gl,1,3.5f,0.0f,0.0f,25); }

Source: 3D Computer Mathematics A Mathematical Introduction to OpenGL

Resultado
Descripcin

OBSERVE como se aproxima cada vez mas a la forma de un crculo cuando el nmero de vrtices aumenta.

Source: 3D Computer Mathematics A Mathematical Introduction to OpenGL

P19. Dibujando Crculos


Desarrollo

1. Cree una Aplicacin en Java que con OpenGL dibuje un crculo con R = 50, de color caf, y con centro en el punto (75, 75, 0);

Source: 3D Computer Mathematics A Mathematical Introduction to OpenGL

FIN

Potrebbero piacerti anche