Click here to load reader
Upload
angel-garcia
View
28
Download
1
Embed Size (px)
Citation preview
Practica 19Dibujando un Circulo
OBJETIVO: Introducir al Modelado Geométrico utilizando primitivas de OpenGL.
Descripción
Concepto: Círculo
Definición: OpenGL no tiene una primitiva que permita dibujar un círculo, sin embargo, éste se puede modelar a partir de la primitiva POLIGONO, dándole suficiente número de vértices, y distribuyéndolos de tal manera que formen un polígono regular.
Source: 3D Computer Mathematics – A Mathematical Introduction to OpenGL
Ejemplo de Cómo Dibujar un Círculo
Descripción
Dados R, el radio del círculo deseado, y la coordenada de su centro (Cx, C
Y, C
Z), es
posible aproximar ésta figura geométrica a partir de un POLIGONO regular con n vértices. Mientras mayor sea el valor de n la figura más semejante será a la de un círculo.NOTA: El círculo será dibujado en el plano XY.
Source: 3D Computer Mathematics – A Mathematical Introduction to OpenGL
public void circulo(GL2 gl, float R, float Cx, float Cy, float Cz, int numv){
float angulo = 0.0f; float Dx, Dy; gl.glBegin(GL2.GL_POLYGON);
for(int i = 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();
}
Ejemplo de Cómo Dibujar un Círculo
Descripción
Habiendo definido el método [circulo(...)] como miembro de nuestra clase LIENZO, solo resta mandarlo llamar para hacer uso de el.
Source: 3D Computer Mathematics – A Mathematical Introduction to OpenGL
public void display(GLAutoDrawable glad) { GL2 gl = 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); }
ResultadoDescripción
OBSERVE como se aproxima cada vez mas a la forma de un círculo cuando el número de vértices aumenta.
Source: 3D Computer Mathematics – A Mathematical Introduction to OpenGL
P19. Dibujando CírculosDesarrollo
1. Cree una Aplicación en Java que con OpenGL dibuje un círculo 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