Computacion Grafica
Enviado por alevilzu • 6 de Diciembre de 2013 • 830 Palabras (4 Páginas) • 312 Visitas
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);
}
}
...