Este enunciado puede ser modificado para introducir nueva información o modificar errores en cualquier momento. Se recomienda al alumno que compruebe periódicamente este enunciado por si tales cambios se producen.
Nos centraremos en un espacio de dos dimensiones para simplificar la realización de la práctica.
Usaremos una clase llamada Punto, que se proporciona ya hecha en Punto.java, y que permite representar posiciones en un espacio de dos dimensiones como unas coordenadas (x,y).
Posicion de la cámara = Coordenadas (x,y) + Angulo de giro |
Por tanto los objetos tendrán tres campos o atributos de tipo real (x,y,a), donde x e y indican un punto del plano, y a indica un ángulo de giro. Así, los valores (10,20,1.5) se refieren a una cámara situada en el punto (10,20) del plano, y orientada en un angulo de 1.5 radianes. El Eje X positivo es la orientación 0 radianes, y el Eje Y positivo es la orientación PI/2 radianes.
Cree un fichero llamado Camara.java, que contenga la clase pública Camara, y declare los tres atributos x, y y a como de tipo double. Estos atributos deben ser privados. Cree también tres métodos llamados getX(), getY() y getA() para acceder al valor de estos atributos.
Esta clase debe tener un único constructor público que tome como parámetros los valores a asignar a los campos x, y y a.
public Camara(double x, double y, double a)
Cree también un método llamado vista que indique como se ve un punto dado, desde la posición de la cámara. Es decir, si las coordenadas de un punto P del plano son (x2,y2), y tenemos una cámara en (x0,y0,a0), el método vista debe devolver que coordenadas tendría ese punto si el origen de coordenadas estuviera situado en la posición de la cámara, y girado según esté girada la cámara, es decir, debe devolver (x1,y1).
public Punto vista(Punto p)
Incluya también en la clase unos métodos toString y equals.
public String toString() public boolean equals(Camara c)
El String devuelto por toString debe ser (x,y,a).
Para ejecutar esta prueba necesita los ficheros Pino.java y Pantalla.java.
La salida que debe obtenerse al ejecutar esta prueba es la siguiente:
Es aconsejable que el alumno diseñe también sus propias pruebas.
La calificación se obtiene ejecutando el comando sh eval13p3.
Página actualizada el día 25 de Octubre de 2006.