P19 nelson circulo

Preview:

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