Una figura composta

Si vuole disegnare la figura seguente:

Come si può facilemente notare, questa figura è in effetti composta da due segmenti e da due archi di cerchio. I due segmenti non presentano nessuna difficoltà: il segmento orizzontale si trova tra le coordinate (200,100) e le coordinate (250,100), mentre il secondo si trova tra i due punti (300,150) e (300,200).

Per quello che riguarda gli archi, occorre per prima cosa individuare le coordinate dell'ovale di cui fanno parte. In questo caso, si tratta di archi di cerchio. Il cerchio piccolo è inscritto nel quadrato che ha l'angolo in alto in (200,100) e ha lato 100. Inoltre, l'arco parte da 0 gradi e si estende per 90 gradi. Quindi, l'istruzione necessaria per disegnare questo arco è:

    g.drawArc(200,100,100,100,0,90);
Per capire quali sono le coordinate dell'arco grande usiamo lo stesso metodo: il quadrato circosritto ha l'angolo in alto a sinitra nelle coordinate (100,100), e il lato è 200. Inoltre, l'arco parte da 90 gradi e si estende fino ai 360, ossia ha ampiezza 360-90. L'istruzione per disegnare questo arco è quindi:

    g.drawArc(100,100,200,200,90,360-90);
Il programma completo Composta.java è riportato qui sotto.

/*
  Disegna una figura fatta di segmenti e archi
*/

import java.awt.*;

public class Composta extends java.applet.Applet {
  public void paint(Graphics g) {

	/* i due segmenti */
    g.drawLine(200,100,250,100);
    g.drawLine(300,150,300,200);

	/* l'arco piccolo */
    g.drawArc(200,100,100,100,0,90);

	/* l'arco grande */
    g.drawArc(100,100,200,200,90,360-90);
  }
}

Il risultato dell'esecuzione di questo applet è esattamente il disegno che ci aspettavamo.