Progetto di I.U.M. Modellazione Geometrica A.A. 2003-2003

Scopo dell'esercitazione

Realizzare un programma che calcola il guscio convesso di un insieme di punti nel piano, utilizzando uno a scelta fra gli algoritmi di Graham, QuickHull e Jarvis visti a lezione (rif. capitolo 2 delle dispense).

A parte sono fornite informazioni specifiche a seconda di quale algoritmo avete scelto di implementare:

  1. algoritmo di Graham
  2. algoritmo QuickHull
  3. algoritmo di Jarvis
Qui diamo alcune informazioni generali, valide qualunque degli algoritmi scegliate.

Il programma da voi realizzato deve accettare un insieme di punti da un file e restiuire il loro guscio convesso su un altro file. L'eseguibile deve poter essere lanciato specificando come parametri i nomi dei file di input e di output. Ovvero digitando una linea del tipo:

nome_eseguibile nome_file_input nome_file_output

Non e' richiesto che il programma faccia alcun tipo di visualizzazione grafica dei risultati. A parte e' fornito un programmino che serve a visualizzare l'input e l'output del vostro programma.

Formato dei file di input e di output

Il programma deve accettare in input un file ASCII contenente una sequenza di valori float, separati indifferentemente da spazi, tabulazioni, ritorni a capo. Tali valori, presi a coppie nell'ordine dato, definiscono le coordinate di un insieme di punti. Gli input corretti contengono un numero pari di valori float.

Il guscio convesso deve essere restituito in output nello stesso formato descritto per il file di input. In questo caso pero' le coppie di float corrispondono alle coordinate dei vertici del guscio convesso, ordinati in senso antiorario lungo il contorno del poligono. Il primo punto deve essere quello di ascissa minima (e, in caso di piu' punti con stessa ascissa, quello di ordinata minima).

File ausiliari forniti

Sono forniti:

Scadenza e modalita' di consegna

Va consegnato per posta elettronica all'indirizzo magillo@disi.unige.it un unico file compresso in formato .tgz oppure .zip contenente: La scadenza per la consegna e': 1 giugno 2003.