DECIMA ESERCITAZIONE DI LABORATORIO Informatica Grafica – Ingegneria Edile Architettura 28/4/2003 – a.a. 2002/2003 RIFERIMENTO: Horstmann cap. 6 Introduzione Gli argomenti di questa esercitazione sono Utilizzo di cicli Grafico di una funzione Riutilizzo del codice sviluppato nell’ultima esercitazione Esercizio ESERCIZIO 1: progettare un’applet che permetta di visualizzare il grafico della funzion y=sen(1/x). In particolare l’applet dovrà permettere all’utente di specificare l’intervallo delle x da considerare e calcolare automaticamente l’intervallo delle y, approssimare la funzione da graficare con una spezzata, con ascisse dei campioni uniformemente distribuiti sull’intervallo delle x e numero specificato da utente impostare la finestra di viewport a tutto schermo disegnare gli assi delle x e/o delle y nel caso in cui siano inclusi nella finestra di utente disegnare la spezzata Il codice da cui partire L’esercizio si intenderà completamente risolto una volta ottenuti i seguenti file. Un’applet GraficoFunzione.java in grado di a. acquisire da utente l’intervallo delle x ed il numero di campioni da considerare b. calcolare automaticamente l’intervallo delle y una volta noto l’intervallo delle x, in modo tale da permettere di visualizzare tutti i campioni calcolati. c. Impostare la finestra d’utente sulla base degli intervalli delle x e delle y ottenuti come ai due punti precedenti d. Impostare la finestra di utente a tutto schermo e. effettuare la trasformazione di coordinate del contesto grafico f. verificare se l’asse x ed y sono presenti nella finestra d’utente ed eventualmente disegnarli g. calcolare i punti del grafico e disegnare le linee della spezzata Si fa notare che i primi quattro passi vanno implementati nel costruttore dell’applet o nel metodo init() affinché non vengano rieseguiti ad ogni modifica della finestra dell’applet. Gli ultimi tre passi invece che riguardando il disegno dell’applet vanno implementati nel metodo paint per assicurare che ad ogni modifica della finestra dell’applet, il suo contenuto venga ridisegnato correttamente. 2. Un file GraficoFunzione.htm con un breve codice htm in grado di caricare un’applet GraficoFunzione.class. 1. Il codice del punto 1 viene fornito parzialmente realizzato ed è scaricabile dal sito. Per completarlo il codice bisognerà 1. completare il codice del metodo paint aggiungendo un ciclo che calcola i punti della funzione (sfruttando il metodo privato f(x)), calcola le linee della spezzata e le disegna. 2. aggiungere nel metodo init delle istruzioni per acquisire da utente (utilizzare classe JOptionPane) l’intervallo delle x ed il numero di campioni da considerare per il grafico, e che ne imposti i valori. Il codice del punto 2 è reso disponibile completamente realizzato ed è scaricabile dal sito dell’esercitazione. I passi dell’esercitazione 3. Scaricare i codici di cui ai punti 1-2 della sezione precedente salvandoli in una stessa cartella. 4. Aprire i due file da JCreator, compilare il codice di GraficoFunzione.java ed eseguire GraficoFunzione.htm.. Dovrebbe essere visualizzata la cornice che definisce il viewport di disegno senza il grafico. 5. Completare il codice di GraficoFunzione.java aggiungendo le istruzioni per calcolare i punti del grafico e disegnare la spezzata nel metodo paint aggiungendo le istruzioni per acquisire da tastiera l’intervallo delle x ed il numero di campioni nel metodo init. Compilare il codice di GraficoFunzione.java ed eseguire GraficoFunzione.htm.. Ora dovrebbe essere apparire il disegno del grafico e dovrebbe essere possibile la specifica dell’intervallo delle x e del numero di campioni da parte dell’utente..