applet finita
????
Applet Rotazione
DESCRIZIONE
Progettiamo un'applet che fa ruotare un segmento intorno a un suo estremo secondo un dato angolo. Il piano di lavoro parte da ciò che si vuole ottenere e rappresentare, descrivendo le scene come in un lavoro teatrale. Nessun particolare può sfuggire, come la disposizione dei mobili e degli oggetti e le azioni dei personaggi.

La scena iniziale.
Sullo sfondo bianco dell'applet si vedono in alto a sinistra un bottone con su impressa la scritta "OK" e un campo di testo, in cui è scritto "30" e due segmenti OA e OA' l'uno nero e l'altro rosso che formano un angolo di 30° in senso antiorario; il segmento OA è orizzontale; i punti O, A e A' sono evidenziati da cerchietti .

La scena evolve.
Nel campo di testo si immette un numero intero anche negativo, come misura in gradi dell'angolo. Selezionando il pulsante OK, OA resta fisso, mentre OA' ruota per formare l’angolo assegnato.

Il modello matematico.
Siano l e h le dimensioni della parte di schermo impegnata dall'applet, si pone O con le coordinate (l/2, h/2) e il punto A (O.x + q , h/2), dove q rappresenta la lunghezza del segmento OA. Si trasforma l’angolo di 30° in radianti mediante la funzione RAD(angolo) = angolo*p/180. L'ampiezza dell’angolo espressa in radianti è indicata con la lettera greca q.
Due funzioni DAMMI_X e DAMMI_Y aventi come parametri O, A ed r restituiscono rispettivamente il valore dell’ascissa e dell’ordinata di A'.
Trasformato l'angolo assegnato in radianti mediante la funzione RAD, si ottiene l’angolo q'.

Le funzioni DAMMI_X e DAMMI_Y
Partendo dalle variabili A, O, q, ciascuna delle funzioni DAMMI_X e DAMMI_Y restituisce un numero intero perché le coordinante di un punto dell'applet sono ovviamente numeri interi .
Posto OA' = f(OA) dove f è la rotazione, si può scrivere mediante la notazione del Grassmann: A'-O = f(A-O) e quindi A' = f(A-O)+O.
Si associano a f il numero complesso m = cosq + i sinq , ad A e a O, di cui sono note le coordinate, i numeri complessi a = A.x+iA.y e o = O.x+iO.y.
Il punto A' è allora definito dal numero complesso:
a' = m(a-o)+o = (A.x-O.x) cosq +(A.y-O.y)sinq +O.x + i[(A.y-O.y) cosq +(A.x-O.x)sinq +O.y].
Si indicano con A.x e A.y rispettivamente l'ascissa e l'ordinata di A. Questa scrittura sarà adottata per ogni punto d'ora innanzi.
Le coordinate del punto A' sono la parte reale e il coefficiente della parte immaginaria. Il cambio di un segno è dovuto all’orientamento verso il basso dell’asse delle y .