Poligoni

Un poligono è una sequenza di punti, collgati fra loro con dei segmenti. Ogni punto è collegato al seguente, e l'ultimo è collegato con il primo.

Per disegnare un poligono in Java, si può chiaramente usare la funzione drawLine, ma esiste anche un meccanismo che rende le cose più facili. Il procedimento consiste in tre passi:

  1. dichiarazione di una variabile di tipo poligono
  2. assegnazione di valori a questa variabile
  3. disegno del poligono
Esistono due modi per effettuare i primi due passi.

Definizione di poligoni con vettori

Si definiscono due vettori di interi, che contengono le coordinate x e y dei punti del poligono. Poi si dichiara una variabile di tipo poligono:
    int x={....};
    int y={....};
    Polygon pol=new Polygon(x, y, x.lenght);
Le prime due istruzioni creano due vettori, che devono avere la stessa dimensione. L'idea è che il primo punto avrà coordinate x[0],y[0], il secondo punto avrà coordinate x[1],y[1], e così via. La terza istruzione dichiara il poligono: in questo modo, viene creata una nuova variabile pol, ossia viene creata una zona di memoria in cui viene memorizzato un poligono. In particolare, il poligono è formato da x.lenght punti (numero di elementi del vettore x), e le coordinate dei suoi punti sono determinate dai valori memorizzati nei vettori x e y.

Aggiunta di punti a un poligono

Il secondo modo per creare un poligono è quello di partire da un poligono vuoto, e usare una funzione per aggiungere ogni volta un nuovo punto. Per creare un poligono vuoto, si usa la dichiarazione seguente.

    Polygon nomepoligono=new Polygon();
Questa dichiarazione crea un poligono che non contiene punti. Per poter definire il poligono che serve a noi, occorre aggiungere dei punti al poligono. La istruzione che aggiunge un punto a un poligono è:

    nomepoligono.addPoint(x,y);
Questa istruzione aggiunge il punto di coordinate x,y al poligono che è stato definito con nome nomepoligono. Partendo da un poligono vuoto e aggiungendo uno per volta i punti necessari, si può creare qualsiasi poligono.

Disegno del poligono

La creazione di un poligono (sia nel primo che nel secondo modo) non produce nessun risultato visibile nella finestra. In altre parole, dichiarare una variabile di tipo poligono, o aggiungere ad essa dei punti, non fa sí che il poligono venga disegnato. Per disegnare un poligono occorre mettere una istruzione drawPolygon. Il programma Poligoni.java disegna due poligoni pol e p, il primo dei quali viene definito usando i vettori di interi, mentre il secondo è creato vuoto e gli vengono poi aggiunti dei punti.
/*
  Disegna due poligoni.
*/

import java.awt.*;

public class Poligoni extends java.applet.Applet {
  public void paint(Graphics g) {
    /* metodo 1: definizione con due vettori */
    int x[]={10, 20, 30, 40};
    int y[]={5, 30, 5, 21};
    Polygon pol=new Polygon(x, y, x.length);


    /* metodo 2: si parte dal poligono vuoto e si aggiungono
       ogni volta dei punti */
    Polygon p=new Polygon();

    p.addPoint(100,100);
    p.addPoint(100,180);
    p.addPoint(180,140);
    p.addPoint(160,110);


    /* disegna i poligoni */
    g.drawPolygon(pol);
    g.drawPolygon(p);
  }
}

Le due istruzioni finali del programma sono quelle che disegnano effettivamente i due poligoni. L'esecuzione del programma produce il seguente risultato.