ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Computacion Grafica


Enviado por   •  6 de Diciembre de 2013  •  830 Palabras (4 Páginas)  •  312 Visitas

Página 1 de 4

TEST DE CONOCIMIENTO.

Duración: 90 min

Desarrollar una Aplicación Grafica que disponga los siguientes elementos:

• Principal (JFrame)

• AreaDibujo (JPanel)

• clsCalculo (Clase Java) -> Contiene Lógica de la Aplicación - Calculos.

• Punto (Clase Java) -> Contiene los elementos del Punto.

Características:

a) Ingresar dos puntos en el área de dibujo (JPanel), utilizando el mouse.

b) Dibujar la primitiva LINEA a través del algoritmo grafico DDA. (Código parte inferior del documento).

c) Mediante los métodos implementados en la clase clsCalculo determinar:

c1. Pendiente de la recta.

c2. Distancia entre los dos puntos que describen a la recta.

c3. Punto medio del segmento de la recta.

d) El punto medio (c3) se constituirá en el punto centro de la circunferencia y la cuarta parte de la distancia entre los dos punto (c2) el radio. Con estos datos dibujar la primitiva CIRCUNFERENCIA, a través del algoritmo DDA. (Código parte inferior del documento).

e) Calcular el área de la circunferencia y determinar si es mayor que la distancia entre los dos puntos (c2).

f) Los resultados serán escritos en el JPanel utilizando el método drawstring( ).

Nota: La aplicación grafica contendrá un solo botón el cual permitirá que se visualicen los resultados.

CÓDIGO DDA LÍNEA.

g.setColor(color.red);

int dx = P2.getX() - P1.getX();

int dy = P2.getY() - P1.getY();

int x0 = P1.getX();

int y0 = P1.getY();

int x1 = P2.getX();

int y1 = P2.getY();

if (Math.abs(dx) > Math.abs(dy))

{

float m = (float) dy / (float) dx;

float b = y0 - m * x0;

if(dx<0)

dx = -1;

else

dx = 1;

while (x0 != x1)

{

x0 += dx;

y0 = Math.round(m*x0 + b);

g.drawLine( x0, y0, x0, y0);

}

} else

if (dy != 0)

{

float m = (float) dx / (float) dy;

float b = x0 - m*y0;

if(dy<0)

dy = -1;

else

dy = 1;

while (y0 != y1)

{

y0 += dy;

x0 = Math.round(m * y0 + b);

g.drawLine( x0, y0, x0, y0);

}

}

...

Descargar como (para miembros actualizados) txt (3 Kb)
Leer 3 páginas más »
Disponible sólo en Clubensayos.com