En esta tarea usded ejercitará la creación de clases para
la manipulación de figuras. Éstas estarán compuestas
por Arcos, Elipses, polígonos, y texto.
Por por ejemplo en:
Objetivo:
Usted debe desarrollar tres programas: mag para
ampliar una figura ingresada en formato FIG, trans otro para
trasladarla y rot otro para rotarla.
mag <x> <y> <f> [inFile]: mag toma dos parámetros
de entrada: centro punto y magnitud. El centro indica el punto sobrel el
cual se efectúa la amplificación indicada por magnitud.
trans <x> <y> [inFile] :trans toma dos
parámetros de entrada que prepresentan el desplazacimento x e y deseado.
rot <x> <y> <F | C> [inFile] : rot
hace una rotación respento al punto indicado y lo hace en favor o en
contra del sentido del reloj.
Las coordenadas de puntos están medidas en pixeles. la magnificación
es un real y F y C con carateres.
Cada uno de estos programas recibe la imagen desde un archivo de entrada
inFile y en formato FIG 3.2. Por ejemplo
para la figura presentada arriba, éste es
el archivo en formato FIG. Cuando este archivo es omitido, se asume que el
archivo es ingresado por la entrada estándar.
Como salida cada uno de sus programas debe entregar por pantalla la versión
en formato FIG 3.2 resultante de la figura resultante luego de la manipulación.
Para probar sus programas se recomienda ejecutar, por ejemplo:
mag 100 50 1.3 assig2.fig > assgMag.fig
o alternativamente
mag 100 50 1.3 < assig2.fig > assgMag.fig
Es decir suprograma recibe assig2.fig como entrada y la salida a consola
en este caso es redirigida al archivo assgMag.fig
Porsteriormente usted puede hacer uso del editor de figuras xfig, para
verificar el buen resultado de su programa. También puede ejecutar
cosas como:
mag 100 50 1.3 assig2.fig | fig2dev -Lpng > assgMag.png
con el obejto de generar una versión en formato png de su figura.
Ojo que hay muchos otros formatos soportados por fig2dev.
Importante !!!
1.- Esta tarea debe ser corrida en aragorn. Allí
está instalado xfig y fig2dev. Hay más documentación
a través de xfig en caso que sea de su interés.
2.- No se complioque con archivos FIG que manejen figuras
compuestas. Esta tarea sólo será sometida a figuras "planas"
o no compuestas.
3.- Está de más decir que se espera que
usted cree una clase "virtual" de formas y