Approssimazione di un insieme di punti
mediante ellissi ed ovali a 4 o 8 centri

Copyright Camillo Trevisan, luglio 1999.        trevisan@iuav.it

 

Download programma freeware ELLISSE.EXE (32 kB)

Download programma freeware OVALE4.EXE (38 kB)

Download programma freeware OVALE8.EXE (50 kB)

 

I tre programmi approssimano un insieme di punti di controllo, calcolando i parametri - relativi ad una ellisse oppure ad un ovale definito da 4 oppure 8 centri generatori - che rendono minimo lo scarto quadratico medio delle distanze dei punti dati dalla curva approssimante trovata.

I programmi richiedono l'inserimento dei valori iniziali approssimati dei parametri che definiscono le curve (comprese la traslazione del centro e la rotazione degli assi), fornendo, dopo alcune iterazioni, i coefficienti finali e tutti gli scarti (le distanze tra ciascun punto di controllo e la curva approssimante trovata).

Alcune caratteristiche dei programmi sono comuni:

· Sono programmi freeware, di libero uso e distribuzione.

· Funzionano nel sistema operativo Windows (9x, NT).

· Richiedono un unico file di ingresso, nel formato DXF standard (prodotto, ad esempio, da AutoCAD versione 12 o successive, ma in quel formato), contenente una o più polilinee 2D (aperte o chiuse), ciascuna formata da un massimo di 2000 punti. Nei due programmi per l'approssimazione di ovali il numero delle polilinee di ingresso può essere compreso tra 1 e 30: infatti, in questi casi gli ovali concentrici mantengono invariati alcuni parametri (i cateti dei triangoli generatori, oltre alle coordinate X, Y del centro e la rotazione degli assi di simmetria) e pertanto possono essere approssimate contemporaneamente più curve concentriche e coassiali.
Nel programma ELLISSE è prevista, di norma, una sola curva di ingresso: infatti, ellissi coassiali ed equidistanti tra loro sugli assi sono caratterizzate da parametri tutti diversi. Nel caso siano presenti più curve (anche in questo caso, fino ad un massimo di 30), verrà mantenuta costante la distanza tra i fuochi e, pertanto, le varie ellissi approssimanti non saranno equidistanti tra loro sugli assi, pur mantenendo lo stesso centro e la stessa rotazione degli assi.
Nel caso il file di ingresso contenga più di una polilinea, è importante notare che la selezione delle stesse - al momento della creazione del file DXF - deve avvenire in sequenza, la stessa della successiva introduzione dei valori dei raggi o dei semiassi: ad esempio dalla più esterna alla più interna o viceversa. Solo in questo caso, infatti, sarà possibile assegnare poi i corretti valori iniziali, durante lo svolgimento dei programmi di approssimazione. Nel caso di selezione complessiva - ad esempio mediante finestra di selezione - la sequenza delle polilinee scritte sul file potrebbe essere casuale o comunque non corretta. In tutti i casi è opportuno attivare l'opzione che consente la selezione delle entità grafiche.
Tutti i programmi richiedono di inserire i valori approssimati delle coordinate X ed Y del centro delle curve e la rotazione dell'asse maggiore, espressa in gradi e calcolata con verso orario rispetto all'asse X.

Per l'ellisse viene poi richiesto:
- La distanza stimata tra il centro dell'ellisse ed un fuoco.
- La lunghezza stimata del semiasse maggiore dell'ellisse (nel caso di più curve, questa richiesta sarà ripetuta per ciascuna polilinea).

Per l'ovale a 4 centri:
- La lunghezza stimata del cateto, del triangolo generatore, posto sul semiasse maggiore dell'ovale.
- La lunghezza stimata del cateto, del triangolo generatore, posto sul semiasse minore dell'ovale.
- Per ciascuna polilinea contenuta nel file di ingresso, la lunghezza stimata del raggio del minore dei due archi di cerchio che definiscono l'ovale (il raggio maggiore è infatti dato dal raggio minore sommato all'ipotenusa del triangolo generatore; il semiasse maggiore è dato dal raggio minore sommato al cateto posto su quell'asse ed, infine, il semiasse minore è dato dalla differenza tra il raggio maggiore e il cateto posto sull'asse minore stesso).

Per l'ovale a 8 centri (vedi figura):

- La lunghezza stimata del segmento OA.
- La lunghezza stimata del segmento OB.
- La lunghezza stimata del segmento OC.
- La lunghezza stimata del segmento DC.
- Per ciascuna polilinea contenuta nel file di ingresso, la lunghezza stimata del raggio AE. Anche in questo caso gli altri parametri sono calcolati di conseguenza.

Da notare che l'introduzione di parametri iniziali non congruenti con le caratteristiche geometriche delle curve, può comportare la mancata convergenza dell'iterazione. Si consiglia pertanto di definire accuratamente tali valori iniziali, con un errore massimo stimato del 10/15 percento. L'introduzione di uno o più parametri iniziali poco congruenti tra loro o con i punti di controllo, può comportare - in alcuni casi - la convergenza verso valori che non costituiscono il minimo assoluto. Il metodo di calcolo, infatti, consiste nel trovare - per mezzo di algoritmi pseudostocastici - la sella minima di una ideale superficie definita dagli infiniti scarti quadratici medi ottenuti variando i parametri generatori: nel caso i valori iniziali siano vicini a quelli finali tale ricerca sarà condotta senz'altro con successo; viceversa, potrebbe accadere che l'algoritmo iterativo venga "catturato" da un minimo locale, posto sul "percorso" tra il punto di partenza - definito dai valori iniziali - e il vero minimo assoluto. In tutti i casi è pertanto utile verificare il buon esito dell'iterazione, modificando i valori di partenza, controllando che, al contrario, i valori finali rimangano costanti.
Da notare, infine, che i due programmi per l'approssimazione di ovali sono necessariamente tendenzialmente instabili: infatti, mentre nel caso dell'ellisse il programma deve verificare la coerenza dei dati rispetto ad un'unica curva, per l'ovale la verifica deve essere eseguita su quattro o otto archi di cerchio. Mentre, fissati i due semiassi, esiste una sola ellisse con quei valori, al contrario esistono infiniti ovali - sia a 4 sia a 8 centri - con le stesse misure degli assi e diversa curvatura: nel caso degli ovali, pertanto, diviene indispensabile disporre di punti di controllo posti nelle vicinanze dei raccordi tra gli archi.
Il tempo di calcolo dipende - oltre che, evidentemente, dal numero dei punti di controllo - anche dalla stima dei valori iniziali: tanto più questi saranno vicini ai valori finali, tanto minore sarà il numero di iterazioni. E' comunque consigliato l'uso di un computer veloce, mentre non è richiesta la presenza di molta memoria RAM.

· Tutti i programmi producono tre file di uscita:

- Un file di testo (nome standard ELLISSE.TXT oppure OVALE4.TXT o OVALE8.TXT), in formato ASCII, contenente le coordinate dei punti di controllo di ingresso; la sequenza delle iterazioni; i coefficienti finali e gli scarti disaggregati. Questi ultimi si riferiscono alla distanza di ciascun punto di controllo dalla curva approssimante: un valore positivo indica che il punto è esterno alla curva approssimante, negativo che è interno.
I singoli scarti possono essere affiancati da uno o due asterischi: nel caso il valore assoluto della distanza di un punto dalla curva approssimante sia maggiore del doppio dello SQM (scarto quadratico medio) il punto verrà segnalato da due asterischi; se la distanza è maggiore dello SQM verrà inserito un solo asterisco. Nel caso la distanza sia minore dello SQM non verrà inserito nessun asterisco.

- Un file di testo (nome standard ELLISSE.COE oppure OVALE4.COE o OVALE8.COE), in formato ASCII, contenente il nome del file DXF di ingresso, il numero dei coefficienti (variabili in funzione del numero di curve) e i valori iniziali dei coefficienti. Questo file può essere usato - nel caso di prove ripetute - per evitare l'inserimento dei dati di ingresso. Alla prima domanda del programma, infatti, inserendo un nome con suffisso COE anziché DXF il programma aprirà il file e proseguirà il calcolo senza richiedere ulteriori dati. Questo file potrà essere modificato per mezzo di un qualsiasi editor di testo.

- Un file di testo (nome standard ELLISSE.DXF oppure OVALE4.DXF o OVALE8.DXF), in formato DXF standard - e pertanto rappresentabile mediante moltissimi programmi di grafica (compreso, ad esempio, Paint Shop) e CAD -, contenente le curve approssimanti e i punti di controllo. Tutti i file prodotti prevedono i seguenti layer:
Maggiore_scarto_doppio
, colore rosso: contenente i punti di controllo (costituenti le polilinee di ingresso) caratterizzati da una distanza dalla curva approssimante maggiore del doppio dello SQM (per identificare un punto con una piccola croce, attivare, in Autocad, il comando PDMODE, fornendo il parametro 3; e PDSIZE, seguito dalla dimensione della croce).
Scarto
, colore bianco: contenente i punti di controllo caratterizzati da una distanza dalla curva approssimante maggiore dello SQM.
Minore_scarto
, colore giallo: contenente i punti di controllo caratterizzati da una distanza dalla curva approssimante minore o uguale allo scarto quadratico medio.
Assi
, colore giallo: contenente gli assi di simmetria della curva approssimante.

Per i programmi OVALE4 e OVALE8:
Archi
, colore bianco: contenente gli archi di cerchio che compongono l'ovale o gli ovali approssimanti.
Raggi
, colore azzurro: contenente i raggi dei cerchi che compongono l'ovale o gli ovali approssimanti, posti in corrispondenza ai punti di giunzione.
Triangolo
, colore rosso: contenente i lati dei triangoli fondamentali che definiscono l'ovale o gli ovali approssimanti.

Per il programma ELLISSE:
Ellisse
, colore bianco: contenente l'ellisse approssimante composta da 500 segmenti (calcolata matematicamente e non definita come primitiva DXF, meno precisa).
Cateti
, colore verde: contenente i segmenti che uniscono i due fuochi dell'ellisse con il vertice superiore dell'asse minore dell'ellisse.

 

Homepage Camillo Trevisan  

Homepage Istituto Universitario di Architettura di Venezia

Homepage Dipartimento di Progettazione Architettonica

Visitatori dal  02/05/2000          Ultimo aggiornamento: 30/7/1999