239
I POLITECNICO DI MILANO Facoltà di Ingegneria Dottorato di Ricerca in Tecnologie e Sistemi di Lavorazione XV CICLO RICOSTRUZIONE AUTOMATICA DI PROFILI ACQUISITI MEDIANTE CMM Relatore: Chiar.mo Prof. Giovanni MORONI Coordinatore: Chiar.mo Prof. Michele MONNO Tesi di dottorato di Marco RASELLA matr. D00773

POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

  • Upload
    vutuong

  • View
    223

  • Download
    0

Embed Size (px)

Citation preview

Page 1: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

I

POLITECNICO DI MILANO Facoltà di Ingegneria

Dottorato di Ricerca in

Tecnologie e Sistemi di Lavorazione

XV CICLO

RICOSTRUZIONE AUTOMATICA DI

PROFILI ACQUISITI MEDIANTE CMM Relatore: Chiar.mo Prof. Giovanni MORONI Coordinatore: Chiar.mo Prof. Michele MONNO

Tesi di dottorato di Marco RASELLA matr. D00773

Page 2: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

pag. II

Indice Generale

Indice Generale .......................................................................................................II Indice delle Figure...................................................................................................V Indice delle Tabelle .................................................................................................X Introduzione ............................................................................................................ 1 Capitolo 1................................................................................................................ 4 Reverse Engineering ............................................................................................... 4

1.1 Il processo di Reverse Engineering....................................................... 10 1.2 I sistemi di acquisizione dati ................................................................. 12

1.2.1 Sistemi di rilevazione.................................................................... 13 1.2.2 I sensori di digitalizzazione........................................................... 17 1.2.3 Sensori elettronici a contatto......................................................... 18 1.2.4 I sensori senza contatto ................................................................. 23

1.3 Soluzioni Commerciali ......................................................................... 31 1.3.1 Macchine di Misura a Coordinate ................................................. 31

1.4 Sistemi senza contatto ........................................................................... 36 1.4.1 Soluzioni commerciali basati sulla triangolazione laser. .............. 37 1.4.2 Soluzioni commerciali a luce bianca strutturata. .......................... 40 1.4.3 Il software di elaborazione dei dati ............................................... 41

1.5 Ricostruzione del modello .................................................................... 44 1.5.1 Segmentazione e data fitting ......................................................... 45 1.5.2 Segmentazione e data fitting di superfici free-form...................... 47 1.5.3 Costruzione del modello solido..................................................... 49

Capitolo 2.............................................................................................................. 50 Curve ..................................................................................................................... 50

2.1 Forma Analitica..................................................................................... 50 2.1.1 Forma esplicita .............................................................................. 50 2.1.2 Forma implicita ............................................................................. 52

2.2 Forma Parametrica ................................................................................ 53 2.2.1 Curve Polinomiali ......................................................................... 55 2.2.2 Curve Spline.................................................................................. 55 2.2.3 Curve di Bezier ............................................................................. 57 2.2.4 Curve B-spline .............................................................................. 59

2.3 Le curve NURBS .................................................................................. 75 2.4 Interpolazione ed Approssimazione...................................................... 77

2.4.1 Penalized Least Squares................................................................ 80 2.4.2 100 Percent Confidence Intervals. ................................................ 81 2.4.3 Regression Splines. ....................................................................... 82

Capitolo 3.............................................................................................................. 84 Ricostruzione automatica di profili acquisiti mediante CMM.............................. 84

Page 3: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

pag. III

3.1 Formulazione generale del problema .................................................... 88 3.2 Formulazione matematica del problema ............................................... 91 3.3 Obiettivi del lavoro ............................................................................... 92

Capitolo 4.............................................................................................................. 94 Fairing di curve ..................................................................................................... 94

4.1 Formulazione generale del problema .................................................... 97 4.2 Funzione di costo: indicatori di fairness ............................................... 98

4.2.1 Indicatori di fairness qualitativi .................................................... 99 4.2.2 Indicatori di fairness analitici ..................................................... 105

4.3 Metodi di modifica del punto.............................................................. 109 4.3.1 Esempio Metodo Poliakoff ......................................................... 121

4.4 Criteri per terminare il processo di Fairing ........................................ 123 4.5 Algoritmi per la ricostruzione automatica di curve fair...................... 123

4.5.1 Algoritmo di Farin- Sapidis: ....................................................... 124 4.5.2 Algoritmo di J. Poliakoff et al..................................................... 126 4.5.3 Algoritmo di Zhang et al............................................................. 127

Capitolo 5............................................................................................................ 128 L’approccio proposto .......................................................................................... 128

5.1.1 Filtrazione dei punti .................................................................... 130 5.1.2 Fitting della Curva ...................................................................... 131 5.1.3 Miglioramento della Curva: Fairing ........................................... 131 5.1.4 End Condition ............................................................................. 133 5.1.5 Algoritmi implementati............................................................... 135 5.1.6 Scelta del metodo di distribuzione dei nodi ................................ 139

Capitolo 6............................................................................................................ 161 La fase di validazione.......................................................................................... 161

6.1 Case Studies ........................................................................................ 161 6.2 Case study: Caorle .............................................................................. 162

6.2.1 Algoritmo ‘Farin et al.’ .............................................................. 164 6.2.2 Algoritmo ‘Poliakoff et al.’......................................................... 165 6.2.3 Algoritmo ‘Zhang et al.’ ............................................................. 167 6.2.4 Algoritmo ‘Proposto Criterio C1’ .............................................. 168 6.2.5 Algoritmo ‘Proposto Criterio C2’ .............................................. 173

6.3 Case study: Profilo Design Esterno Andromeda................................. 174 6.4 Case study: Scarpa .............................................................................. 179

6.4.1 Algoritmo ‘Poliakoff et al.’......................................................... 181 6.4.2 Algoritmo ‘Proposto Criterio C1’ .............................................. 182

6.5 Case study: Caracas ............................................................................ 183 6.5.1 Algoritmo ‘Poliakoff et al.’......................................................... 185 6.5.2 Algoritmo ‘Proposto Criterio C1’ .............................................. 185

6.6 Quadro riassuntivo .............................................................................. 189 Capitolo 7............................................................................................................ 191 Funzioni Quasi Interpolanti Spline ..................................................................... 191

7.1 Integral Variation Diminishing Spline e relativo modello di curve.... 195

Page 4: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

pag. IV

Bibliografia ......................................................................................................... 210 Appendice ........................................................................................................... 218 Esempio applicativo delle Variation Diminishing Spline: Ricostruzione di Superfici di Rivoluzione ..................................................................................... 218

Page 5: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

V

Indice delle Figure

Figura 1-1: Processo di Reverse Engineering. ....................................................... 5 Figura 1-2: Applicazione Reverse Engineering Settore Automotive (Cortesia

Audi) ............................................................................................................... 5 Figura 1-3: Applicazione di Reverse Engineering nell'industria delle

telecomunicazioni (Cortesia Breuckmann). .................................................... 6 Figura 1-4: Applicazione Reverse Engineering Ambito Medico............................ 6 Figura 1-5: Applicazione Reverse Engineering ambito arte ................................... 7 Figura 1-6: Digitalizzazione della stele di Rosetta (Cortesia Breuckmann). .......... 7 Figura 1-7:Applicazione Stampi. ............................................................................ 8 Figura 1-8: Confronto con dati CAD (Cortesia Breuckmann)................................ 9 Figura 1-9: Diagramma del processo di Reverse Engineering.............................. 10 Figura 1-10:Sistemi di acquisizione dei dati......................................................... 13 Figura 1-11: Braccio Articolato (cortesia Faro).................................................... 14 Figura 1-12: Macchina di misura a Coordinate (cortesia Zeiss). .......................... 15 Figura 1-13: sistema di digitalizzazione: scanner ................................................. 16 Figura 1-14: Scansione di profili........................................................................... 16 Figura 1-15: Scansione di superfici....................................................................... 17 Figura 1-16: Sensori di digitalizzazione. .............................................................. 18 Figura 1-17: Tastatore elettronico punto a punto.................................................. 19 Figura 1-18: Tastatori piezoelettrici...................................................................... 20 Figura 1-19: Sensori a parallelogrammi articolati (Cortesia Zeiss). ..................... 21 Figura 1-20: Sistemi di scansione a molla di tipo passivo (a) o attivo (b). (Cortesia

Zeiss) ............................................................................................................. 22 Figura 1-21: Triangolazione laser: principio di funzionamento. .......................... 24 Figura 1-22: Triangolazione laser: principio di funzionamento. .......................... 24 Figura 1-23: Triangolazione laser: problematiche. ............................................... 25 Figura 1-24: Laser a fasci di luce (Cortesia Prototipazione Rapida). ................... 26 Figura 1-25: Schema di un interferometro laser (Cortesia Bosch 1997). ............. 28 Figura 1-26: Sistema a luce strutturata.................................................................. 28 Figura 1-27 Architetture CMM (Cortesia (ISO97). .............................................. 32 Figura 1-28: Architettura a sbalzo (Cortesia Johansson). ..................................... 33 Figura 1-29: Architettura a portale (Cortesia ZEISS) ........................................... 34 Figura 1-30: Struttura a pilastri (Cortesia Zeiss)................................................... 35 Figura 1-31: Struttura a braccio orizzontale.......................................................... 36 Figura 1-32: Minolta VI-910................................................................................. 37 Figura 1-33: Mensi S 10........................................................................................ 38 Figura 1-34: Sistema di acquisizione (Cortesia Mensi). ....................................... 39 Figura 1-35: Laser Design PS 3300. ..................................................................... 39

Page 6: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Indice delle Figure pag. VI

Figura 1-36: Breuckmann TOP-HE 600. .............................................................. 40 Figura 1-37: Steinbichler COMET C400.............................................................. 41 Figura 1-38: Fasi software del Reverse Engineering. ........................................... 45 Figura 2-1: Punti del piano cartesiano .................................................................. 51 Figura 2-2: strumento spline. ................................................................................ 56 Figura 2-3: Effetto della modifica di un punto di controllo su una curva spline .. 56 Figura 2-4: Spline interpolante punti non equispaziati. ........................................ 57 Figura 2-5: costruzione di una curva di Bezier. .................................................... 58 Figura 2-6: Controllo locale di una B-spline......................................................... 60 Figura 2-7: Effetto del grado della curva sulla sua forma..................................... 61 Figura 2-8: Uguaglianza delle curve B-spline e Bezier. ....................................... 61 Figura 2-9: Punti di controllo multipli nelle curve B-spline. ................................ 62 Figura 2-10 Attorcigliamento al punto di controllo .............................................. 64 Figura 2-11: Perdital contatto tra curva e profilo................................................. 64 Figura 2-12: Esempio di curva il cui profilo si approssima al poligono di controllo

che la definisce.............................................................................................. 65 Figura 2-13: Generazione di una B-spline chiusa attraverso la sovrapposizione dei

punti di controllo. .......................................................................................... 71 Figura 2-14: Curva B-spline Aperta...................................................................... 71 Figura 2-15: risultato dopo avere reso identici i punti 0 e 7 ................................. 72 Figura 2-16: i punti 1 e 8 sono resi identici .......................................................... 72 Figura 2-17: B-spline chiusa ................................................................................. 72 Figura 2-18: Generazione di una B-spline chiusa attraverso la sovrapposizione dei

nodi................................................................................................................ 73 Figura 2-19: Quadro riassuntivo curve NURBS. .................................................. 77 Figura 2-20: Esempio di curva B-spline ottenuta con l'algortimo di interpolazione.

....................................................................................................................... 79 Figura 3-1: Linea di cassetta (Cortesia Finproject S.p.A.).................................... 86 Figura 3-2: Curve di Progettazione (Cortesia Finproject S.p.A.) ......................... 87 Figura 3-3: Architettura software.......................................................................... 88 Figura 3-4: Set di punti iniziali modello Caracas (Cortesia Finproject S.p.A.) .... 89 Figura 3-5: Set iniziale punti Profilo Caracas (Cortesia Finproject S.p.A.) ........ 89 Figura 3-6: Profilo cefeo ricostruito mediante curva b-spline di grado tre........... 90 Figura 3-7: Ondulazioni presenti sul profilo iniziale. ........................................... 90 Figura 3-8: Curve di progettazione finali.............................................................. 91 Figura 4-1: Grafico della curvatura di un cerchio............................................... 100 Figura 4-2: Grafico della curvatura della funzione seno(x). ............................... 101 Figura 4-3: Grafico della curvatura. In ascissa si hanno i valori corrispondenti ai

punti. In ordinata i corrispondenti valori della curvatura............................ 102 Figura 4-4: Grafico della curvatura sul profilo di una curva B-spline................ 102 Figura 4-5: Retta e vettore normali principali..................................................... 104 Figura 4-6: Esempio di segni “sbagliati” nella curvatura. .................................. 105 Figura 4-7: Rimozione del nodo. Curva iniziale................................................. 115 Figura 4-8: Punti ausiliari.................................................................................... 115

Page 7: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Indice delle Figure pag. VII

Figura 4-9: Forma finale ..................................................................................... 115 Figura 4-10:Grafico di un arco di cerchio di raggio 10e4. Gli asterischi

rappresentano i punti di controllo, i cerchi sono i nodi. Si è fatto uso di una parametrizzazione cordale........................................................................... 116

Figura 4-11: Grafico della curva perturbata nei punti 5, 9 e 14.......................... 117 Figura 4-12: Grafico della curvatura della retta originale................................... 117 Figura 4-13: Grafico della curvatura della retta dopo le perturbazioni............... 118 Figura 4-14Grafico della curva dopo la prima iteraz. del processo di fairing .... 119 Figura 4-15Grafico della curva dopo 2 iterazioni del processo di fairing. ......... 119 Figura 4-16: Grafico della curva dopo 3 iterazioni del processo di fairing ........ 120 Figura 4-17:Grafico della curvatura alla fine del processo di fairing ................. 120 Figura 4-18: Grafico della curva dopo la prima iterazione. ................................ 121 Figura 4-19: Grafico curva dopo 2 iterazioni...................................................... 122 Figura 4-20: Grafico curva dopo 3 iterazioni...................................................... 122 Figura 4-21: Algoritmo di fairing automatico di Farin-Sapidis. ......................... 125 Figura 4-22: Algoritmo di fairing proposto da J.Poliakoff et al. ........................ 126 Figura 5-1: Algoritmo di ricostruzione proposto. ............................................... 128 Figura 5-2: Set di punti iniziali modello Caracas (Cortesia Finproject S.p.A.). . 129 Figura 5-3: Set iniziale punti Profilo Caracas (Cortesia Finproject S.p.A.). ..... 129 Figura 5-4: Curve finali modello Caracas........................................................... 130 Figura 5-5: Esempio di segni “sbagliati” nella curvatura. .................................. 132 Figura 5-6: Posizione punto. ............................................................................... 132 Figura 5-7: Condizione implementata per porre termine al processo di Fairing 135 Figura 5-8: Algoritmo Proposto .......................................................................... 137 Figura 5-9 Arco di circonferenza perturbato....................................................... 143 Figura 5-10: Grafico della curvatura della curva originale................................. 143 Figura 5-11 Grafico della curvatura della curva originale .................................. 144 Figura 5-12 Grafico della curvatura della curva perturbata. ............................... 144 Figura 5-13: Grafico andamento GFI- Metodo Uniforme .................................. 145 Figura 5-14: Grafico e punti di controllo della curva dopo il processo di fairing

utilizzando l'algoritmo Poliakoff et al., con parametrizzazione uniforme .. 146 Figura 5-15: Andamento GFI – Metodo Cordale................................................ 147 Figura 5-16: Grafico e punti di controllo della curva dopo il processo di fairing,

utilizzando l’algoritmo proposto da J. Poliakoff, con parametrizzazione cordale. ........................................................................................................ 148

Figura 5-17: Andamento GFI - Metodo Centripeto ............................................ 149 Figura 5-18: Grafico della curva dopo il processo di fairing, utilizzando il

algoritmo Poliakoff, con parametrizzazione centripeta .............................. 150 Figura 5-19: Andamento GFI - Metodo Uniforme ............................................. 152 Figura 5-20: Grafico della curva dopo il processo di fairing, utilizzando

l’algoritmo ‘Proposto’, con parametrizzazione uniforme ........................... 152 Figura 5-21: Andamento GFI - Metodo Cordale ................................................ 154 Figura 5-22: Grafico della curva dopo il processo di fairing, utilizzando il

l’algoritmo ‘Proposto’, con parametrizzazione cordale .............................. 155

Page 8: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Indice delle Figure pag. VIII

Figura 5-23: Andamento GFI - Metodo Centripeto ............................................ 157 Figura 5-24: Grafico della curva dopo il processo di fairing, utilizzando il

l’algoritmo ‘Proposto’, con parametrizzazione centripeta .......................... 157 Figura 5-25: Diagramma riassuntivo del processo di confronto......................... 160 Figura 6-1: Profilo iniziale case study Caorle..................................................... 162 Figura 6-2: Curvatura iniziale profilo 'Caorle.' ................................................... 163 Figura 6-3: Curvatura iniziale profilo Caorle riportata lungo il profilo.............. 163 Figura 6-4: Profilo 'Caorle' finale algoritmo 'Farin et al.' .................................. 164 Figura 6-5: Andamento finale curvatura profilo 'Caorle' algoritmo 'Farin et al.' 165 Figura 6-6: Grafico curvatura Algoritmo 'Zhang et al.' ...................................... 168 Figura 6-7: Caorle, metodo ‘Proposto Criterio C1’. .......................................... 169 Figura 6-8: Curvatura Caorle dopo il processo di fairing ‘Proposto Criterio C1’.

..................................................................................................................... 169 Figura 6-9: curvatura Caorle dopo il processo di fairing ‘Proposto Criterio C1’

..................................................................................................................... 170 Figura 6-10: Caorle, dettaglio 1 .......................................................................... 171 Figura 6-11: Caorle, dettaglio 2 .......................................................................... 171 Figura 6-12: Caorle, dettaglio 3 .......................................................................... 172 Figura 6-13: Caorle, dettaglio 4 .......................................................................... 172 Figura 6-14: Profilo finale 'Caorle' con Metodo Proposto Criterio C2. .............. 173 Figura 6-15: Grafico Curvatura Finale................................................................ 174 Figura 6-16: Profilo iniziale caso APDE. ........................................................... 175 Figura 6-17: Grafico Curvatura iniziale.............................................................. 175 Figura 6-18: Grafico Curvatura dopo Algoritmo 'Farin et al.' ............................ 176 Figura 6-19: Grafico Curvatura dopo Algoritmo 'Poliakoff et al.' ...................... 176 Figura 6-20: Grafico Curvatura dopo algoritmo 'Zhang et al. ............................ 177 Figura 6-21: Grafico Curvatura dopo Algoritmo 'Proposto C1'.......................... 177 Figura 6-22: Grafico Curvatura dopo Algoritmo 'Proposto C2'.......................... 178 Figura 6-23: Profilo ottenuto con 'Algoritmo 'Proposto C2' .............................. 179 Figura 6-24: Profilo iniziale caso 'Caracas'......................................................... 184 Figura 6-25: Grafico iniziale curvatura caso 'Caracas'........................................ 184 Figura 6-26: Curvatura 'Caracas' dopo Algoritmo 'Proposto Criterio C1' .......... 186 Figura 6-27: Caracas, metodo 'Proposto Criterio c1' .......................................... 187 Figura 6-28: Caracas dettaglio 1/a ...................................................................... 187 Figura 6-29: Caracas, dettaglio 1/b ..................................................................... 188 Figura 6-30: Caracas, dettaglio 2 ........................................................................ 188 Figura 7-1: Generazione di una superficie di rivoluzione................................... 220 Figura 7-2 – Algoritmo per la ricostruzione di superfici di rivoluzione. ............ 221 Figura 7-3: Benchmark ....................................................................................... 223 Figura 7-4: Sistema di misura. ............................................................................ 223 Figura 7-5 Sottoinsieme della superficie di rotazione considerato. .................... 226 Figura 7-6: Valore distanza come funzione del parametro λ: calcolato per l’ intera

superficie, (b) sottoinsieme. ........................................................................ 227

Page 9: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Indice delle Figure pag. IX

Figura 7-7Valore distanza come funzione del parametro λ: calcolato per il sottoinsieme di superficie............................................................................ 227

Figura 7-8: Benchmark: profilo suola ................................................................. 228 Figura 7-9: Benchmark: piastrella in marmo ...................................................... 229

Page 10: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

X

Indice delle Tabelle

Tabella 4-1: Coordinate dei punti della curva prima e dopo le modifiche. ........ 118 Tabella 5-1: Tabella punti di controllo della B-spline ........................................ 142 Tabella 5-2: Tabella punti di controllo della B-spline dopo il processo di fairing

condotto con l’algoritmo ‘Poliakoff’ e parametrizzazione centripeto......... 151 Tabella 5-3: Tabella punti di controllo della B-spline dopo il processo di fairing

condotto con l’algoritmo ‘Proposto’ e parametrizzazione uniforme .......... 153 Tabella 5-4: Tabella punti di controllo della B-spline dopo il processo di fairing

condotto l’algoritmo proposto e parametrizzazione cordale....................... 156 Tabella 5-5: Tabella punti di controllo della B-spline dopo il processo di fairing

condotto l’algoritmo ‘proposto’ e parametrizzazione centripeto ................ 158 Tabella 5-6: confronto valori GFI ....................................................................... 159 Tabella 5-7: confronto numero di iterazioni ....................................................... 159 Tabella 6-1 ; Case Study ..................................................................................... 161 Tabella 6-2: Indicatori di Fairness...................................................................... 165 Tabella 6-3: Altri parametri. ............................................................................... 165 Tabella 6-4: Indicatori di Fairness...................................................................... 167 Tabella 6-5: numero di iterazioni e tempo di CPU. ............................................ 167 Tabella 6-6: Indicatori di Fairness...................................................................... 168 Tabella 6-7: numero di iterazioni e tempo di CPU. ............................................ 168 Tabella 6-8: Indicatori di Fairness...................................................................... 170 Tabella 6-9: numero di iterazioni e tempo di CPU. ............................................ 170 Tabella 6-10: Indicatori di Fairness.................................................................... 174 Tabella 6-11: numero di iterazioni e tempo di CPU ........................................... 174 Tabella 6-12: Risultati ottenuti in termini di energia della curva. ...................... 178 Tabella 6-13: Riassunto risultati espressi in GFI / Curvatura ............................. 190 Tabella 6-14 Riassunto risultati espressi in GFI / Energia.................................. 190 Tabella 7-1: Valori dei raggi delle coordinate polari dei punti misurati............. 224 Tabella 7-2: Intervalli di confidenza. .................................................................. 225 Tabella 7-3: Valori delle distanze ottenute al variare del parametro λ. ............. 225 Tabella 7-4: Valori delle distanze ottenute al variare del parametro λ per il

sottoinsieme considerato. ............................................................................ 226 Tabella 7-5: risultati sperimentali ottenuti .......................................................... 229

Page 11: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

1

Introduzione

‘Sto lavorando duro per preparare il mio prossimo errore’ B. Brecht

La crescente competizione a livello mondiale e i radicali cambiamenti delle caratteristiche di consumo dei paesi industrializzati che si manifestano con veloci e consistenti variazioni della domanda dei beni prodotti dall’industria, con un’affermazione della cultura della qualità nelle operazioni industriali e con una crescente esigenza di certificazione dei manufatti per il cliente, impongono alle aziende di presentare sul mercato prodotti pronti a soddisfare queste esigenze nel minor tempo possibile. E’ quindi semplice capire come in questo contesto la riduzione del time-to -market e la produzione di beni di alta qualità a basso costo sono le sfide che le aziende manifatturiere devono affrontare e vincere per non perdere importanti fette di mercato. In questo ambito assumono un’importanza sempre più strategica le tecniche dette di ‘Time Compression’: Rapid Prototyping, Rapid Tooling, Rapid Manufacturing e Reverse Engineering, tecniche che mirano tutte alla riduzione del time to market. Parallelamente a queste esigenze negli ultimi anni è stata posta una grande attenzione al tema dell'incremento della sicurezza del personale negli ambienti di lavoro. Nel settore delle lavorazioni meccaniche e in particolare nel settore dei centri di lavoro ad asportazione di truciolo, sono stati sviluppati e adottati numerosi accorgimenti protettivi tra la zona di lavoro e l'operatore, accorgimenti che sebbene siano indispensabili per il conseguimento di un'adeguata sicurezza, in molti casi impediscono o rendono poco efficaci le tradizionali procedure operatore "a vista", come la presa di origini, gli accostamenti al pezzo, il controllo di un part-program nuovo. Problematiche che aumentano nel caso di macchine utensili ad alta velocità e di grande dimensione sia per la difficoltà di verifica diretta dell’operatore, sia per la gravità degli effetti di eventuali collisioni. Nella Sezione di Tecnologie Meccaniche e Produzione del Dipartimento di Meccanica del Politecnico di Milano, negli ultimi anni sono stati svolti e sono in corso studi e ricerche destinati ad individuare le situazioni di pericolo di collisione

Page 12: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Introduzione pag. 2

e destinati ad applicare tecniche di Reverse Engineering in particolari ambiti manifatturieri per migliorare le metodologie progettuali seguite. In particolare in relazione al primo obiettivo l’idea che si sta sviluppando è la seguente: la mappa degli oggetti presenti nel campo di lavoro della macchina utensile, rilevata da un dispositivo ottico ed adeguatamente elaborata, viene presentata all’operatore in un ambiente di realtà virtuale in grado di consentire il controllo remoto e in tempo reale dell’attività della macchina stessa. Oltre al controllo virtuale remoto della lavorazione, si sta sviluppando un sistema in grado di verificare e impedire le collisioni con gli oggetti contenuti nel volume di lavoro della macchina a seguito di movimenti comandati dall’operatore o direttamente da part program. Per quanto riguarda il secondo aspetto si sta realizzando un modulo software, che sarà di ausilio alla fase di progettazione del modello della suola per calzature. In particolare, partendo da speciali curve tridimensionali presenti sulla forma vestita della scarpa ed acquisite mediante CMM, il software dovrà essere in grado di fornire alcuni elementi progettuali in modo completamente automatico. Il presente lavoro si colloca nell’ambito di un argomento comune alle due problematica precedentemente descritte la definizione e lo sviluppo di algoritmi per la ricostruzione automatica di modelli geometrici. L’obiettivo specifico si concentra sul secondo tema di ricerca: la ricostruzione di particolari profili acquisiti mediante macchine di misura a coordinate che rappresentano le curve progettuali presenti sulla forma vestita della scarpa. La ricostruzione di un profilo comprende la costruzione di una prima curva interpolante il set di punti iniziali. Questa, però, non può essere direttamente utilizzata, in quanto l’elavato numero di punti acquisiti comporta la presenza di numerose microvariabilità lungo la curva stessa. Queste si traducono nella formazione di ondulazioni indesiderate, per eliminare le quali si rende necessaria una successiva fase di ammorbidimento della curva tramite una procedura detta fairing. Obiettivo di questo lavoro é, quindi, quello di analizzare, sintetizzare, formalizzare e verificare questo problema. Durante la fase di analisi si é cercato di scoprire l’esistenza di metodologie di uso comune al fine di ricostruire profili fair. L’analisi della letteratura pubblicata sull’argomento, ha permesso di mettere in luce l’esistenza di due approcci alla soluzione del problema uno globale ed uno locale. L’approccio globale realizza la rimozione delle microvariabilità cercando di definire direttamente durante il processo di interpolazione o approssimazione, la distribuzione ottima dei parametri del modello di curva utilizzato in funzione di un dato criterio. Questi metodi, però, portano alla definizione di modelli con vincoli non-lineari di non facile soluzione. L’approccio locale di contro separa la fase di costruzione della curva dalla fase di fairing, ovvero scelto il modello di curva da utilizzare si modificano unicamente le proprietà geometriche locali di alcuni punti, in modo tale da minimizzare una data funzione obiettivo, che eventualmente tiene in considerazioni eventuali vincoli progettuali.

Page 13: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Introduzione pag. 3

Si é, quindi, posto il problema di arrivare alla messa a punto di una metodologia generale, semplice, gestibile da un calcolatore, per ricostruire, a partire dal set di punti iniziali una curva fair. Si è trattato, di elaborare delle informazioni di carattere geometrico, al fine di arrivare alla sua definizione. Si è così messa a punto una procedura, il più possibile generale. Si é infine posto il problema di tradurre, in termini quanto più possibile indipendenti dall’operatore umano, la metodologia individuata precedentemente. Durante la fase di formalizzazione si sono, quindi, cercati dapprima gli strumenti più adatti a rendere automaticamente eseguibile tale metodologia per poi giungere ad una loro applicazione in un software adeguato. La fase finale di verifica ha avuto come obiettivo quello di testare il software sviluppato su una serie di curve campione, a complicanza crescente. Il risultato di tale lavoro, nonché obiettivo ultimo di questa tesi, é stato quindi lo sviluppo di un software caratterizzato da un’interfaccia user-friendly, da una struttura modulare e, quindi, facilmente modificabile ed espandibile, da ridotti tempi di elaborazione, da un intervento minimo dell’operatore umano, che non deve essere comunque un “esperto” del settore. Occorre sottolineare che l’importanza di tale lavoro risiede soprattutto nello sforzo di definire una metodologia automatica generale per la ricostruire di profili. La tesi è stata strutturata in sette capitoli nel modo di seguito riportato. Nel capitolo 1 viene descritto il mondo del Reverse Engineering cosa è, quali sono i passi necessari per ricostruire il modello solido di un oggetto partendo dall’oggetto stesso, quali sono i principali sistemi di acquisizione presenti sul mercato e quali sono le principali fasi software che è necessario implementare per ottenere una ricostruzione affidabile. Nel capitolo 2 si analizzano i principali strumenti matematici per la rappresentazione di curve nello spazio. A partire dalla forma più nota di rappresentazione quella analitica sino alle rappresentazione di tipo parametrico più complesse come le B-spline e le NURBS. Nel capitolo 3 è presentato e formalizzato in termini generali il problema studiato e si espicitano gli obiettivi di questo lavoro. Nel capitolo 4 viene presentato l’approccio adottato, gli algoritmi sviluppati e gli strumenti utilizzati. Nel capitolo 5 si analizzano i metodi presenti in letteratura per la ricostruzione di profili fair e si analizzano gli strumenti più adatti a rendere automaticamente eseguibile tale metodologia. Nel capitolo 6 vengono descritti i risultati ottenuti attraverso l’applicazione del metodo proposto ad un insieme di curve campione prescelti per validare l’implementazione realizzata. Nel capitolo 7 è riservato alla analisi della teoria di una particolare forma di rappresentazione parametrica di curve le Integral Quasi Interpolating Spline. Questa famiglia di curve è stata oggetto di studio e ricerca durante questo lavoro di dottorato e per le quali in appendice se ne riporta un esempio applicativo.

Page 14: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

4

Capitolo 1

Reverse Engineering

La modellazione geometrica tridimensionale, ovvero quell’insieme di metodologie utilizzate per definire le caratteristiche geometriche e topologiche di un oggetto, è ormai una tecnica di ampio uso nell’industria durante la fase di progettazione di nuovi prodotti. Infatti, il poter disporre di un modello matematico tridimensionale dell’oggetto che si vuole realizzare fornisce un sostanziale miglioramento alla qualità e all’efficienza delle fasi di progettazione, produzione ed analisi del bene stesso. Vi sono però oggetti per i quali, per varie ragioni, non è possibile disporre di tale modello ad esempio nell’ambito dell’industrial design molti progettisti preferiscono modellare manualmente l’oggetto da realizzare per potere, da una parte, dare forma alle loro idee nel modo più fedele possibile, dall’altra per valutare il modello fisico, di dimensioni reali, nel contesto in cui dovrà svolgere la propria funzione. In altri ambiti pur partendo da un modello virtuale si rende necessario la realizzazione di un modello fisico, in quanto gli strumenti di visualizzazione a disposizione non sono sufficienti per un’efficace valutazione. Modello fisico che una volta realizzato viene manualmente modificato, modifiche che quindi dovranno essere riportate nel modello virtuale. Quindi, è necessario in entrambi i casi se si vuole sfruttare appieno i benefici delle tecnologie CAX costruire e/o ricostruire il modello software geometrico dell’oggetto. Questo processo di ricostruzione della ‘matematica’ incognita è conosciuto col nome di reverse engineering [Var97] [Bid94] ovvero ingegneria inversa. Questo nome proviene dalla metodologia utilizzata che consente, partendo dal modello fisico, di risalire alla sua descrizione matematica. Infatti, solitamente, si è portati a pensare alla progettazione come un processo che ha inizio con delle idee, che vengono trasformate in un disegno 2D e sempre più spesso in un modello tridimensionale, e termina con la generazione delle istruzioni necessarie alla trasformazione delle materie prime in quello che si vuole realizzare. Al contrario, nel reverse engineering, gli oggetti sono acquisiti sotto forma di nuvola di punti mediante un opportuno sistema di rilevamento e, in seguito, i dati, raccolti sotto forma di nuvola di punti, sono elaborati da un software per ricreare il modello geometrico (Figura 1-1). Questo primo modello può poi essere migliorato, utilizzando funzioni messe a disposizione da software dedicati.

Page 15: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Reverse Engineering pag. 5

Figura 1-1: Processo di Reverse Engineering.

Questa disciplina ha innumerevoli campi di applicazione, infatti, sono sempre più i settori produttivi nei quali è necessario produrre la copia di un pezzo già esistente di cui non si dispone di disegni originali o di altra documentazione, o nei quali si può voler re-ingegnerizzare un pezzo esistente. Ad esempio negli ambiti in cui l’aesthetic design è particolarmente importante, la progettazione di prodotti caratterizzati da superfici cosiddette ‘libere’, come ad esempio le carrozzerie degli autoveicoli(Figura 1-2), piuttosto che le cover dei telefoni cellulari (Figura 1-3) richiedono numerose e costose interazioni sui modelli per rifinire le superfici e tradurre l’idea dello stilista in un prodotto realmente producibile.

Figura 1-2: Applicazione Reverse Engineering Settore Automotive (Cortesia Audi)

Parte Nuvola di punti Modello 3D

Sensor Software

Sensor Software

Page 16: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Reverse Engineering pag. 6

Figura 1-3: Applicazione di Reverse Engineering nell'industria delle

telecomunicazioni (Cortesia Breuckmann).

La possibilità di rilevare eventuali correzioni apportate manualmente al modello, in conformità ad esigenze estetiche, funzionali o produttive e di riportare automaticamente queste varianti sul modello matematico completo del pezzo consentirebbe di ridurre drasticamente i tempi di progettazione. Un altro importante ambito di applicazione è quello biomedico dove è necessario costruire protesi per arti da impiantare nel corpo umano per sostituire, o completarne, una parte, piuttosto che in ambito odontoiatrico per la realizzazione di calchi dentali (Figura 1-4). In questi ambiti è sempre più presente la necessità di ridurre i tempi di attesa per il paziente da protesizzare e di ridurre i costi di produzione, attualmente legati ad una forte componente di manualità e con un processo che segue molte fasi intermedie.

Figura 1-4: Applicazione Reverse Engineering Ambito Medico

Nell’ambito invece della salvaguardia dei beni culturali ed in particolare di quelle opere dove l’aspetto morfologico assume un ruolo primario le tecniche di reverse engineering consentono sotto opportune condizioni, sia di ottenere preziose informazioni sulle caratteristiche dell’arte sia di eseguire interventi di simulazione e pianificazione dell’azione di restauro. (Figura 1-5), (Figura 1-6). Attualmente sono numerose le applicazioni al rilievo ed alla catalogazione di opere artistiche ed architettoniche come statue e fontane, piuttosto che reperti archeologici od opere pittoriche.

Page 17: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Reverse Engineering pag. 7

Figura 1-5: Applicazione Reverse Engineering ambito arte

Figura 1-6: Digitalizzazione della stele di Rosetta (Cortesia Breuckmann).

Altro campo in cui questo processo trova applicazione è la produzione di stampi, dove è sempre più presente l’esigenza di disporre dei modelli tridimensionali dei

Page 18: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Reverse Engineering pag. 8

pezzi da realizzare. Questi modelli possono essere realizzati o virtualmente con l’ausilio di metodi CAD, oppure manualmente da parte di modellisti che trasferiscono i disegni esecutivi in un modello in resina o legno. In questo secondo caso, nasce l’esigenza di ottenere da questo il programma a controllo numerico per la lavorazione dello stampo. Le tecniche di reverse engineering consentono quindi di rilevare per punti la superficie del modello e poi da questa tramite opportuni software CAM di ricavare il percorso dell’utensile per tutte le fasi di lavorazione e per tutti i parti dello stampo dal punzone alla matrice e al premilamiera (Figura 1-7).

Figura 1-7:Applicazione Stampi.

Oltre che in ambito progettuale le tecniche e i sistemi di reverse engineering stanno trovando impiego anche per la verifica delle tolleranze di prodotti. Questi sistemi, infatti, permettono una misura veloce con una buona accuratezza. Partendo dalla nuvola di punti acquisita e dal modello solido dell’oggetto è poi possibile analizzare le differenti presenti (Figura 1-8). Le prestazioni metrologiche però non sono ancora paragonabili con quelle delle macchine di misura a coordinate che in quest’ambito rappresentano lo standard industriale per il controllo delle tolleranze. Infatti, i sistemi ottici sono influenzati da numerosi fattori di disturbo come le condizioni ambientali in cui si opera, lo stato superficiale dell’oggetto oltre naturalmente quelli legati all’hardware e all’elettronica.

Page 19: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Reverse Engineering pag. 9

Figura 1-8: Confronto con dati CAD (Cortesia Breuckmann).

Altri ambiti applicativi sono l’industria aerospaziale, in gioielleria e ovunque esiste la necessità di riprodurre forme complesse. Volendo dare uno sguardo al futuro, un’area che probabilmente ricoprirà vasta importanza nell’utilizzo di questa tecnica, è la generazione di singoli modelli realizzati “su misura”. Parecchie persone trovano con difficoltà abiti, scarpe, cappelli, perché le loro misure non rientrano nella norma. I pezzi bidimensionali di stoffa con cui confezionare il capo si tagliano secondo un modello determinato dal corpo tridimensionale a cui il capo è destinato. Quindi, il capo calzerà meglio se lo si confeziona in base alla forma e alle dimensioni di chi lo indosserà. Con la possibilità di eseguire misure su parti del corpo umano mediante opportuni sistemi di digitalizzazione 3D, e con l’uso di macchine automatiche per tagliare e cucire i tessuti, sarà possibile avere abiti su misura, piuttosto che caschi speciali o tute protettive che si adattano perfettamente alla singola persona. Con così tanti campi applicativi è naturale il grande interesse che questa disciplina sta suscitando sia in campo commerciale che nella ricerca scientifica. Attualmente, un sistema di reverse engineering’ideale’ non è ancora disponibile sul mercato. Un tale sistema dovrebbe essere costituito oltre che da un sistema hardware capace di acquisire insiemi di punti appartenenti all’oggetto che si vuol ricostruire, da un software in grado di gestire in modo completamente automatico questo set (nuvola) di punti. Attualmente, i software di reverse engineering forniti con i sistemi di acquisizione richiedono l’intervento o la supervisione dell’uomo. Infatti, i dati raccolti dal sensore sono in forma di punti dello spazio, per lo più non utilizzabili direttamente da programmi CAD. Occorre un programma d’interpretazione dati che colleghi questi punti formando una rappresentazione leggibile delle superfici definite dai punti. Tale programma deve essere abbastanza “intelligente”, poiché il sensore raccoglie generalmente molti più dati di quelli necessari per caratterizzare la forma dell’oggetto, ed i dati ridondanti o con scarsa risoluzione vanno scartati per non sprecare spazio in memoria. Inoltre, il sensore può avere raccolto dati spuri (“rumore”); il programma di interpretazione deve avere degli algoritmi che ne tengano conto. Dovrebbe essere

Page 20: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Reverse Engineering pag. 10

in grado di elaborare automaticamente i punti ricevuti in ingresso e produrre un modello geometrico completo, in cui non solo siano ricostruite le caratteristiche di forma dell’oggetto, ma anche gli intenti originali di progetto. Con questo s’intende che normalmente i progettisti, nella realizzazione di disegni CAD, includono molte relazioni e vincoli tra le superfici di un oggetto per ragioni estetiche, funzionali o di costruzione. Semplici vincoli possono essere il parallelismo o la perpendicolarità tra i piani, l’imposizione che il centro di una sfera giaccia su un asse, e cosi via. E’ importante quindi che il processo di modellazione preveda una sequenza di operazioni atte a determinare ciò che idealmente dovrebbe essere l’oggetto da riprodurre, comprendendo in questo anche l’individuazione di possibili vincoli tra le superfici. Inoltre, il software dovrebbe avere la capacità di gestire dati provenienti da fonti diverse, siano queste oggetti meccanici, provenienti dalla realtà comune, oppure oggetti del campo medico; dovrebbe poter supportare una varietà d’informazioni in entrata con diverse caratteristiche e finalmente produrre modelli con qualità ed accuratezza specificate dall’operatore. Attualmente i software consentono di eseguire sul set di punti operazioni di base, di ricostruire una superficie agendo su insiemi di punti selezionati manualmente dall’operatore. L’unico modello completo che sono in grado di realizzare, è un modello ottenuto per triangolazione. Andremo ora ad esaminare quali sono i principali passi di un algoritmo di reverse engineering e i principali vantaggi e svantaggi offerti dalle principali tecniche di acquisizione dei dati.

1.1 Il processo di Reverse Engineering Il processo di reverse engineering può essere schematizzato mediante il seguente diagramma (Figura 1-9):

1. Acquisizione Dati

2. Preprocessing

3. Segmentazione eData Fitting

4. Creazione delModello CAD

software

hardware

1. Acquisizione Dati

2. Preprocessing

3. Segmentazione eData Fitting

4. Creazione delModello CAD

software

hardwarehardware

Figura 1-9: Diagramma del processo di Reverse Engineering.

Page 21: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Reverse Engineering pag. 11

Chiaramente questa sequenza è puramente indicativa, poiché il processo attraverso il quale si genera un modello CAD non è un percorso obbligato, né un cammino privo di complicazioni, dovute principalmente ai fattori di errore che si possono incontrare, i quali comportano spesso la ripetizione di alcune di queste fasi. La prima fase è quella di acquisizione dei dati, durante la quale mediante un opportuno sistema viene acquisita la forma dell’oggetto sotto forma di nuvola di punti. Il sistema deve essere scelto in base alle specifiche esigenze. A questa segue la fase detta di preprocessing. Fase che consiste in tutte quelle operazioni che sono svolte prima che il vero processo di analisi dei dati abbia inizio. E’ essenzialmente una trasformazione dei vettori contenenti i dati in ingresso, in un nuovo set di vettori i cui elementi hanno le seguenti caratteristiche: mantengono le caratteristiche rilevanti dei dati acquisiti; eliminano almeno uno degli effetti indesiderati presenti nella sequenza originale; sono più facili da utilizzare. Le caratteristiche rilevanti comprendono tutte le informazioni intrinseche dei dati, e lo scopo dell’analisi dei dati è proprio quello di scoprire e presentare queste caratteristiche in maniera significativa. Gli effetti indesiderati sono quelle situazioni che impediscono un uso corretto ed efficiente degli strumenti di analisi, o che conducono alla generazione di risultati non accettabili. Esempi di effetti indesiderati sono: troppi dati in ingresso affetti da errori, dati frammentati, dati di poco interesse, dati perduti, ecc. In seguito avviene la segmentazione che è un processo utilizzato quando si ha a che fare con delle superfici e si divide in tre operazioni: la prima consiste nella suddivisione logica del set iniziale di punti in sottogruppi, così che ogni sottogruppo contenga solo i punti appartenenti ad una particolare superficie; la seconda consiste nel decidere a quale classe di superfici appartiene ciascun sottogruppo formato (superficie piana, cilindrica, ecc.); la terza operazione è la ricerca della superficie di quella particolare classe che meglio approssima i punti del sottogruppo considerato. In tal modo, dalla sequenza di punti densa che si ha in ingresso, è ora possibile riconoscere le diverse superfici che descrivono il nostro oggetto e proseguire più ordinatamente all’elaborazione del modello CAD. Quando invece si opera nelle due dimensioni la segmentazione non è necessaria. Tuttavia, rimane indispensabile un processo di ricostruzione e miglioramento delle curve, perché le stesse curve generate possono non avere una qualità accettabile. Per questo, una volta inseriti i dati acquisiti nel calcolatore, si procede con il data fitting, vale a dire con quell’insieme di tecniche utilizzate per la ricostruzione e il miglioramento della qualità delle curve e delle superfici. La creazione del modello CAD è la fase conclusiva di questo processo. Quando si costruisce il modello di un oggetto, si crea in pratica un suo sostituto, una sua rappresentazione più conveniente per gli scopi che ci si è prefissi e che sia più facile da usare ed analizzare. Se il modello è buono, risponderà ai propositi ed alle indagini allo stesso modo in cui farebbe l’originale. I metodi di modellazione geometrica sono una sintesi di tecniche derivate da molti campi: geometria analitica e descrittiva, topologia, teoria degli insiemi, analisi numerica, calcolo vettoriale e matriciale. L’apparenza non è l’unica caratteristica di interesse in un

Page 22: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Reverse Engineering pag. 12

modello geometrico. Si distinguono tre aspetti fondamentali della modellazione geometrica: La rappresentazione: data la forma fisica di un oggetto, che è considerata fissa, viene calcolata una sola volta una sua approssimazione matematica. Il progetto: per creare una nuova forma che soddisfi alcuni obiettivi operazionali o estetici, si manipolano le variabili che definiscono la forma finché tali obiettivi non vengono raggiunti. Il rendering: si crea un’immagine del modello per la sua interpretazione visiva. Questi tre aspetti, naturalmente, sono correlati strettamente; per esempio, quando si crea il modello geometrico di un nuovo prodotto, inizialmente il modello rappresenta un oggetto fisicamente inesistente; il modello deve essere adatto per l’analisi e per la valutazione. Dopo aver selezionato un progetto specifico, possiamo usare il suo modello geometrico per guidare la produzione dell’oggetto. Quando la produzione è completa, il modello rappresenta alla fine la forma fisica di un oggetto esistente. Ad ogni punto di questo processo, il modello geometrico fornisce informazioni circa la resa di immagini visive dell’oggetto, inclusi disegni di ingegneria e dimostrazioni di computer graphics. Allo stesso modo, la fase di creazione del modello CAD e i diversi step precedenti, numerati dall’1 al 4, possono essere ripetuti più volte: terminata la fase di segmentazione, ci si può rendere conto che i punti non erano stati sufficientemente trattati nella fase precedente di preprocessing e quindi è necessario tornare indietro; oppure, quando si giunge all’operazione finale di generazione del modello, questo può non risultare accettabile e richiedere la ripetizione dell’acquisizione dei dati. Le diverse fasi possono inoltre intersecarsi l’un l’altra, in quanto l’intera operazione può considerarsi interattiva e l’operatore segue i risultati di ciascuno step, valutando l’opportunità di proseguire al successivo. Il più delle volte quindi, è necessario eseguire più iterazioni prima di ottenere un risultato soddisfacente. Prima di entrare nell’analisi delle singole fasi software si analizzano i sistemi di acquisizione dati e i software di reverse engineering attualmente disponibili sul mercato.

1.2 I sistemi di acquisizione dati Attualmente in commercio esistono diversi sistemi che permettono l’acquisizione di nuvole di punti (Figura 1-10). Sistemi che possiamo distinguere in base alle caratteristiche di funzionamento ed alla loro flessibilità.

Page 23: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Reverse Engineering pag. 13

Figura 1-10:Sistemi di acquisizione dei dati

Ogni sistema si distingue per il meccanismo o il fenomeno che utilizza il sensore utilizzato per determinare l’interazione tra la superficie o il volume dell’oggetto di interesse. Esistono dei sistemi nei quali sono usati sensori il cui funzionamento sfrutta la luce, il suono o i campi magnetici per determinare la posizione di un punto senza quindi che vi sia contatto tra sistema ed oggetto, mentre in altri la superficie è toccata usando tastatori meccanici (sistemi tattili). In entrambi i casi, in funzione delle esigenze di utilizzo, si dovrà effettuare un’analisi adeguata per selezionare il tipo di sensore e quindi il sistema di acquisizione dei dati per la cattura della forma.

1.2.1 Sistemi di rilevazione I sistemi di rilevazione utilizzano un sensore che può essere montato o su un braccio robotizzato (Figura 1-11) oppure su una Macchina di Misura a Coordinate (Coordinate Measuring Machine - CMM) (figura 1.5), oppure su un sistema dedicato fisso o mobile. Un braccio articolato è un sistema altamente flessibile costituito da un braccio avente cinque gradi di libertà alla cui estremità è montato il sensore che permette rilevare viene movimentato manualmente dall’operatore. I sistemi più diffusi sono quelli della Faro, della HighRes e della MTS, con corse di lavoro e caratteristiche differenti a secondo dell’impiego a cui sono destinate. Sono disponibili sia sistemi portatili sia fissi.

Sistemi di acquisizione dei dati

Sistemi dedicati Bracci articolati Macchine di Misura a Coordinate

Page 24: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Reverse Engineering pag. 14

Figura 1-11: Braccio Articolato (cortesia Faro).

Una Macchina di Misura a Coordinate (Coordinate Measuring Machine - CMM) (Figura 1-12) è un robot cartesiano che permette la movimentazione di una sonda (end effector) utilizzata abitualmente per l’ispezione dimensionale di manufatti. E’ quindi un sistema di misura avente dai tre ai sei assi di movimentazione generalmente a controllo numerico, ciascuno in grado di fornire un’accurata misura di posizione. L'ispezione dimensionale di un oggetto contenuto nel volume di lavoro della macchina si realizza attraverso la movimentazione di un sensore in grado di rilevare un insieme di punti appartenenti alle superfici dell'oggetto. Attraverso la collezione delle coordinate di posizione dei punti rilevati e la loro successiva elaborazione software, è possibile ricostruire una rappresentazione matematica delle superfici dell’oggetto per utilizzarla nella valutazione delle tolleranze dimensionali e geometriche imposte sull’oggetto stesso, oppure per ricostruire la matematica della superficie.

Page 25: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Reverse Engineering pag. 15

Figura 1-12: Macchina di misura a Coordinate (cortesia Zeiss).

Un’altra categoria di sistemi di acquisizione sono gli scanner (Figura 1-13). Il sistema è composto da una macchina per la digitalizzazione in continuo con sonda a contatto, ed un software per elaborare i dati geometrici ricavati con un’unica scansione, e generare i part-program per la macchina. La macchina è composta da una struttura in lega leggera speciale, piano in granito, supporto per il piano in granito, tastatore in continuo a contatto. Questo tipo di soluzione è rivolto a chi deve eseguire dei lavori di copiatura di pezzi di piccole dimensioni e di peso contenuto. Possiede un volume di lavoro massimo di 600 mm x 500 mm x 400 mm e consentono di misurare pezzi di peso fino a 200 Kg. La velocità di scansione è piuttosto limitata rispetto alle CMM (fino a 3 m/min) e così pure la precisione (± 50 µm). Consente di realizzare scansioni 2D di profili (Figura 1-14) o scansione 3D di superfici (Figura 1-15), mentre non consente di effettuare la scansione di superfici contenenti fori o scanalature. Inoltre tale macchina non può essere utilizzata per eseguire la verifica del prototipo fisico realizzato a partire dal modello matematico ottenuto per mezzo di tecniche di reverse engineering.

Page 26: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Reverse Engineering pag. 16

Figura 1-13: sistema di digitalizzazione: scanner

Figura 1-14: Scansione di profili.

Page 27: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Reverse Engineering pag. 17

Figura 1-15: Scansione di superfici.

1.2.2 I sensori di digitalizzazione Si andranno ora a descriver le principali tipologie di sensori che è possibile montare sui sistemi di acquisizione. I sensori si differenziano tra loro per il principio di funzionamento, in particolare è possibile distinguere fra: Sensori a contatto: per i quali la rilevazione della presenza o assenza di materia in una zona avviene mediante il contatto fisico fra sensore e parte in misura, questi sensori sono molto diffusi in ambito metrologico. Sensori senza contatto: per i quali la rilevazione dei punti avviene senza il contatto fisico fra sensore e parte. Nella figura seguente (Figura 1-16) sono schematizzati i vari tipi di sensori disponibili:

Page 28: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Reverse Engineering pag. 18

Sensori di Digitalizzazione

Sensori a Contatto Sensori senza Contatto

Tastatori punto a punto Tastatori continui Sensori Ottici Sensori Acustici Sensori Magnetici

Sensori Ottici Attivi Sensori Ottici Passivi

Triangolazione Laser Interferometria Luce Strutturata Fotogrammetria

Sensori di Digitalizzazione

Sensori a Contatto Sensori senza Contatto

Tastatori punto a punto Tastatori continui Sensori Ottici Sensori Acustici Sensori Magnetici

Sensori Ottici Attivi Sensori Ottici Passivi

Triangolazione Laser Interferometria Luce Strutturata Fotogrammetria

Figura 1-16: Sensori di digitalizzazione.

1.2.3 Sensori elettronici a contatto Il sensore elettronico è costituito da uno stilo di acciaio o ceramica terminante con una sfera in rubino sintetico, caratterizzato da elevata durezza, e da un sistema, tastatore, per il rilevamento del contatto fra sfera e oggetto. Essi si possono distinguere in tastatori punto a punto o tastatori continui, a secondo che permettano di rilevare l’oggetto acquisendo un punto alla volta oppure acquisendo una serie di punti in continuo.

Tastatori punto a punto Nel caso dei tastatori punto a punto, che risultano quelli più utilizzati, il tastatore comanda la registrazione del punto mediante lo scatto meccanico di un interruttore che avviene non appena lo stilo entra in contatto con il pezzo. Il rilevamento delle quote del punto si ha con il sensore in movimento in direzione normale alla superficie sulla quale si trova il punto da verificare (Figura 1-17). La velocità costante d'approccio deve essere ridotta per non causare deformazioni meccaniche nell'urto, deve però essere sufficiente per lo scatto dell'interruttore, conseguente alla deflessione dello stilo. In particolare lo spazio percorso dalla sonda nell'arco di tempo che va dal contatto con il pezzo alla produzione del segnale percepito dalla macchina, viene chiamato pre-travel e la sua dimensione influisce sulla precisione del sistema di misura.

Page 29: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Reverse Engineering pag. 19

Figura 1-17: Tastatore elettronico punto a punto

Per ridurre l’errore associato al pre-travel esistono tastatori con elementi piezoelettrici (Figura 1-18). Questi emettono un segnale in seguito ad una ridotta inflessione dello stilo (segnale piezoelettrico), il quale se è confermato dal segnale elettrico tradizionale allora è considerato come punto di misura, altrimenti è considerato come inflessione casuale, dovuto ad esempio alle accelerazioni della movimentazione in rapido. Esistono poi degli altri sensori, relativamente recenti, il cui segnale è legato alla deformazione di estensimetri: consentono di migliorare di 1÷1.5 µm la precisione volumetrica della macchina.

Page 30: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Reverse Engineering pag. 20

Figura 1-18: Tastatori piezoelettrici.

Il sensore (detto anche testa di misura) punto a punto rappresenta la tecnologia di rilevamento più comune per applicazioni nel campo dei pezzi prismatici e delle superfici semplici. Sebbene questa tecnica sia la più economica, risulta piuttosto lenta e quindi inadatta al rilievo efficiente di forme complesse, e può generare variazioni significative nei risultati delle misure.

I sensori a contatto continuo I sensori elettronici continui sono tastatori che permettono la scansione continua di una superficie sia essa nota o incognita. Sono analogici in entrambi i casi, ma con comportamenti differenti. Nel caso di superfici note il tastatore è movimentato secondo una traiettoria definita e vengono rilevate sistematicamente le quote dei punti misurati. Nel caso di superfici incognite il tastatore analogico fornisce tre ulteriori assi controllati: ad ogni spostamento valutato nel sistema solidale con il tastatore corrisponderà una risposta della macchina che si adatta in modo da mantenere le deflessioni in un range stabilito. In Figura 1-19 è mostrato un esempio di tastatore analogico i cui ulteriori gradi di libertà sono ottenuti mediante un sistema a parallelogrammi articolati collegati mediante lamine che svolgono la funzione di cerniere piane. All’interno della

Page 31: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Reverse Engineering pag. 21

struttura esistono dei trasduttori cilindrici ad induzione capaci di rilevare istantaneamente le deflessioni dei parallelogrammi (Figura 1-19).

Figura 1-19: Sensori a parallelogrammi articolati (Cortesia Zeiss).

Un esempio di tale sensore è la sonda VAST della Zeiss che presenta un sistema di scansione attivo: questo implica che la forza di misura viene generata per induzione (molla elettronica), viene regolata ed applicata in forma vettoriale, come riportato in Figura 1-20. Pertanto non si manifesta alcuna modifica della forza di misura anche con la deflessione della testa di misurazione. La sonda VAST ha una risoluzione di 0.1 µm, forza di tastazione controllata e costante, indipendente dall’escursione della testa, e selezionabile da 0.05 e 1 N. Inoltre il sistema di tastatura della Zeiss permette la misurazione anche di elementi difficilmente accessibili, ad esempio fori profondi di piccoli diametri, per mezzo di tastatori lunghi fino a 300-400mm con sfera del diametro di 0.3 mm.

Page 32: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Reverse Engineering pag. 22

Tale sonda consente un carico massimo di 600g, di registrare fino a 60 punti/s con una velocità di scansione di 520 mm/s ed un’accelerazione di 2400 mm/s2. Altri costruttori di sonde analogiche sono Renishaw e Leitz. Renishaw presenta il sensore SP600 per la scansione. Esso è caratterizzato da una extracorsa angolare massima di circa14°, da una risoluzione di 0.5 µm, da un peso del corpo e della punta di circa 192g, da una lunghezza massima della prolunga del tastatore pari rispettivamente a 200 o 140 mm, a seconda che sia in posizione orizzontale o verticale. Consente di utilizzare velocità di scansione di circa 867 mm/s ed accelerazioni di 3200 mm/s2. La testa TRAX della DEA Brown & Sharpe consente di montare una prolunga del tastatore fino a 400 mm ed un carico massimo di 1 Kg. Consente di registrare fino a 50 punti al minuto con una velocità di scansione di 25 mm/s, una velocità di posizionamento di circa 200÷250 mm/s ed un’accelerazione fino a 2000 mm/s2. Entrambi questi metodi adottano un sistema di scansione a molla indicato con il termine passiva (Figura 1-20), che implica un ristretto campo di regolazione della scansione con un frequente controllo dell’asse principale. In questo caso la forza di misura è alta e continuamente diversa.

Forza di misura alta econtinuamentediversa

Asse principale

ristretto campodi regolazione

F

0

Forza di misura alta econtinuamentediversa

Asse principale

ristretto campodi regolazione

F

0

(a) (b)

Figura 1-20: Sistemi di scansione a molla di tipo passivo (a) o attivo (b). (Cortesia Zeiss)

I sistemi a contatto presentano i seguenti vantaggi rispetto a quelli non a contatto: non sono richiesti trattamenti delle superfici per evitare riflessioni; pareti verticali possono essere scandite accuratamente; la densità dei dati non é fissa, ma è automaticamente controllata a seconda

della forma del pezzo; non è richiesto un editing manuale per eliminare dati spuri; dettagli minuscoli possono essere accuratamente replicati.

Page 33: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Reverse Engineering pag. 23

1.2.4 I sensori senza contatto Si andranno ora a descrivere i principali sensori che consentono di rilevare la posizione spaziale di punto senza dover interagire fisicamente con l’oggetto. A questo vantaggio associano una velocità di scansione superiore a quella delle apparecchiature a contatto. Anche i loro punti deboli che erano precisione e ripetibilità negli ultimi anni, sono migliorati notevolmente e ci si spinge sino al centesimo di millimetro. I principi fisici seguiti per il loro sviluppo sono ottici, magnetici e acustici.

I sensori ottici I sistemi ottici sono attualmente i sistemi più promettenti nell’ambito della reverse engineering perché sono sistemi molto rapidi, precisi, versatili ed economici. Nell’ambito di questa categoria è possibile distinguere tra sistemi ottici passivi, che utilizzano sequenze di immagini ottenute da telecamere poste in posizioni diverse e sistemi ottici attivi che acquisiscono la forma dell’oggetto proiettando pattern di luce sull’oggetto stesso. I fenomeni fisici su cui si basano questi due insiemi di sistemi, sono rispettivamente: Sistemi ottici attivi:

• triangolazione • interferometria • luce strutturata • olografia conoscopica

Sistemi ottici passivi:

• fotogrammetria.

Sistemi ottici attivi

I sistemi ottici attivi si differenziano in base alla sorgente luminosa utilizzata e si possono avere sistemi laser, sistemi Moirè, sistemi basati sull’olografia conoscopica e sistemi a luce strutturata.

Sistemi basati sulla triangolazione laser La triangolazione si basa sul principio che se un raggio di luce arriva su una superficie da una data direzione e si osserva il raggio riflesso da un’altra direzione, la posizione della superficie è deducibile dalla direzione con cui la luce riflessa arriva all’osservatore (Figura 1-21).

Page 34: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Reverse Engineering pag. 24

Figura 1-21: Triangolazione laser: principio di funzionamento.

Il principio di funzionamento è il seguente: 1. Un raggio laser colpisce il bersaglio e viene riflesso (in modo diffuso). 2. Il punto colpito viene messo a fuoco da lenti su un vettore CCD. 3. In base alla posizione del punto sul vettore si può determinare la distanza

del bersaglio.

Figura 1-22: Triangolazione laser: principio di funzionamento.

Page 35: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Reverse Engineering pag. 25

Ovvero dobbiamo calcolare il valore d conoscendo il valore h, e questo si calcola mediante le seguenti relazioni trigonometriche (Figura 1-22):

)( αβαβα

β

−⋅=

=→⋅=

⋅=

tgrhtgtgbdtgda

tgba

La semplice triangolazione può servire a calcolare un rilievo nel piano perché permette di misurare le variazioni di altezza da punto a punto. Spostando il sensore a triangolazione sull’oggetto, o con più sensori correlati rivolti verso l’oggetto da diverse direzioni, si può rilevare anche tutta la superficie. Vi sono alcune particolari accorgimenti da seguire prima di eseguire una scansione con questi sistemi: l’oggetto da digitalizzatore deve avere una superficie opaca, non lucida, in modo che la luce incidente sia diffusa e non riflessa in un’unica direzione. Il problema è spesso risolto ricoprendo le superfici di polvere opacizzante (p.es. spray di gesso in sospensione acquosa). Inoltre, che per la triangolazione raggio incidente e raggio riflesso devono essere ad angolo, certi dettagli restano in ombra. Si può rimediare usando sensori con due rivelatori (sensori bi-oculari) per catturare la luce riflessa dai due lati o provare diversi orientamenti dello scanner. C’è in ogni caso sempre un limite alla profondità misurabile di cavità ristrette. (Figura 1-23).

7000 x 2000 mm

300

mm

campo di ripresa

movimentazione x-y del sensore

profondità di campo

riflessioni speculari

7000 x 2000 mm

300

mm

campo di ripresa

movimentazione x-y del sensore

profondità di campo

riflessioni speculari

Figura 1-23: Triangolazione laser: problematiche.

Attualmente sono disponibili due tipologie di sistemi che si basano su questo principio: i sistemi a triangolazione laser con sorgente puntiforme e sistemi a triangolazione laser con sorgente a striscia.

Page 36: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Reverse Engineering pag. 26

I sistemi a triangolazione laser con sorgente puntiforme, sono i più semplici sistemi a triangolazione laser, una sorgente mobile emette un raggio laser che viene ripreso da un array lineare di diodi. Per triangolazione viene calcolata la distanza. Il procedimento viene ripetuto esplorando la superficie con il sensore e misurando tutti i punti necessari per avere la risoluzione voluta. Si possono misurare da 50 a 200 punti al secondo, pari a 1-3 minuti per cm2 con risoluzione di 0.1 mm. Nei sistemi a triangolazione laser con sorgente a striscia (Figura 1-24), il sensore emette un fascio luminoso che si allarga in una direzione in modo da proiettare una linea retta sulla superficie da misurare. Come risultato della triangolazione, la retta viene deformata dall’andamento della superficie. La deformazione viene registrata con calcoli di triangolazione su ognuno di molti punti lungo la retta. Questo tipo di sensore equivale dunque a più sensori punto a punto funzionanti in parallelo. La velocità aumenta a spese della precisione. Se la linea è sufficientemente lunga, si può calcolare la forma dell’oggetto completo spostando il sensore lungo una sola direzione, in caso contrario si può esplorare l’oggetto a fasce. In alcuni di questi sensori la lunghezza della linea è regolabile; la maggior ampiezza di scansione va a scapito della risoluzione.

Figura 1-24: Laser a fasci di luce (Cortesia Prototipazione Rapida).

Sistemi basati sull’interferometria

Questo tipo di sistemi basano il loro funzionamento sul principio fisico dell’interferometria, ovvero la misura delle distanze in termini di lunghezze d’onda attraverso pattern di interferenza.

Page 37: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Reverse Engineering pag. 27

L’interferometro è un apparecchio che permette di decomporre un raggio luminoso in due o più raggi, di cui si osserva poi l’interferenza. L’apparecchio forma due immagini della sorgente e si osserva l’interferenza delle due onde provenienti da esse. I fenomeni interferenziali rivestono particolare interesse nel caso di onde elettromagnetiche di lunghezza d’onda compresa tra 400 e 750 nm (onde luminose) in quanto visibili all’occhio umano. Gli interferometri più comuni sono quelli ottici, laddove un singolo fascio di luce viene suddiviso per riflessione e rifrazione in due fasci perpendicolari ad opera di uno specchio semiargentato posto a 45° (Figura 1-25). I due fasci vengono diretti su due specchi completamente argentati, quindi totalmente riflettenti, ed infine ricombinati nuovamente per rifrazione e riflessione ad opera dello specchio semiargentato. La ricombinazione dei due fasci riflessi, osservabile su uno schermo o meglio con un sistema di visione messo a fuoco in modo opportuno, da luogo ad un’alternanza di frange luminose e buie in conseguenza del fatto che le onde costituenti i due fasci interferiscono e, a causa del diverso percorso compiuto, si sommano o si cancellano le une con le altre. La separazione tra frange luminose e buie dipende dalla purezza spettrale del fascio di luce ovvero dalla ristrettezza della banda di lunghezza d’onda in esso presenti. Quando il fascio è formato da una sola lunghezza d’onda, in altre parole da una luce perfettamente monocromatica, le frange hanno una separazione netta; nel caso più comune di fasci non perfettamente monocromatici le frange risultano con contorni iridescenti. La posizione delle frange è molto sensibile a piccole variazioni della posizione dei due specchi argentati, così che esso può venire utilizzato per misurare la lunghezza dei cammini percorsi dai due fasci di luce con una precisione dell’ordine di una lunghezza d’onda, in altre parole di circa 0.1 µm. La sovrapposizione di due raggi di luce coerenti è detta interferenza a due raggi. Due sorgenti di luce sono coerenti se emettono luce della stessa lunghezza d’onda con una differenza di fase costante nel tempo.

Page 38: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Reverse Engineering pag. 28

Figura 1-25: Schema di un interferometro laser (Cortesia Bosch 1997).

Sistemi basati su luce strutturata

Il metodo a luce strutturata utilizza pattern di luce proiettati sulla superficie di interesse, per poi catturare l’immagine del pattern riflesso dalla superficie. Un metodo molto diffuso in questo ambito é quello delle frange di moiré.

Figura 1-26: Sistema a luce strutturata.

Il moirè può essere definito come un modello visivo prodotto dalla sovrapposizione di due motivi regolari, che interferiscono geometricamente. Esempi di motivi regolari sono: linee parallele equispaziate, matrici rettangolari di punti, cerchi concentrici e linee radiali. Questi motivi regolari, che da questo punto in avanti chiameremo griglie, possono essere sovrapposti per riflessione,

Page 39: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Reverse Engineering pag. 29

per ombre, per mezzo di fotografie ottenute con una doppia esposizione, o per contatto diretto. Il modello moirè viene usato per la misura di variabili come spostamenti, rotazioni, curvature, profili e deformazioni essenzialmente attraverso la distorsione della griglia aderente alla superficie in esame; dalla distorsione della griglia esso fornisce attraverso un’immagine la variabile di misura. L’idea che sta alla base del metodo, parte da un’osservazione comune: quando due griglie o due reticoli di passo uguale, come ad esempio due serie di linee parallele, sono sovrapposti ed osservati per trasparenza o in luce riflessa, compaiono delle frange dette appunto di moirè. Esse sono dovute ad un fenomeno di interferenza geometrica, al fatto cioè che in alcuni punti i vuoti delle due griglie si sovrappongono esattamente ed in questo caso la luce passa, ed in altri, viceversa, i pieni dell’una corrispondono ai vuoti dell’altra nel qual caso la luce non passa. Uno dei maggiori limiti di questo metodo è la sua bassa risoluzione: essa è inversamente proporzionale al passo della griglia. Riducendo il passo della griglia è possibile incrementare la sensibilità; non conviene spingersi oltre le 40 linee/mm (a cui corrisponde una risoluzione dell’ordine di 0.01 mm) perché le frange risulterebbero mal definite.

Sistemi ottici passivi

Nei metodi ottici passivi per determinare la posizione spaziale dei punti non viene utilizzata alcuna sorgente luminosa artificiale, bensì viene ricavata attraverso triangolazione dall’analisi delle immagini ottenute da una coppia di camere (telecamere o foto-camere) poste in maniere differente rispetto all’oggetto da acquisire.

Il rilievo fotogrammetrico consente mediante la fotografia la rilevazione di un manufatto utilizzando la sua rappresentazione prospettica registrata su fotogrammi che opportunamente stampati potranno permettere veloci operazioni di restituzione. Com’è noto, da proiezioni ortogonali è possibile ottenere infinite prospettive, viceversa da una fotografia, non casuale ma eseguita con il preciso scopo di essere utilizzata per il rilievo, si può ottenere una prospettiva dalla quale è possibile ricavare le caratteristiche delle proiezioni ortogonali. I principi teorici della restituzione prospettica, se applicati alla fotografia, danno, infatti, luogo alla fotogrammetria. Ciò è possibile dal momento che la fotografia, è anch’essa una proiezione centrale, come la prospettiva. Le operazioni di riprese vengono effettuate impiegando una mono-camera, dove la base di ripresa è fissa, o una bi-camera con doppia base di ripresa. Posta la camera nel punto previsto, si orienta l’asse ottico secondo la direzione prevista, la lastra impressionata viene sviluppata e catalogata con l’indicazione dell’ora, del luogo di ripresa e del numero di stazione ai fini di una successiva identificazione. La restituzione fotogrammetrica avviene mediante speciali apparecchi chiamati restitutori che ricreano un modello ottico del tutto simile a quello di ripresa. Successivamente i due fotogrammi

Page 40: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Reverse Engineering pag. 30

vengono posizionati in due camere di proiezione (per avere l’identica posizione spaziale che avevano inizialmente), le quali vengono relazionate con il restitutore. I due raggi di proiezione fuoriuscenti dai due punti corrispondenti sui fotogrammi vengono ricostruiti mediante un sistema ottico o meccanico e incontrandosi nello spazio, materializzano il punto da restituire. Le intersezioni delle coppie di raggi che materializzano il punto vengono raccolte da carrelli mobili, secondo le direzioni cartesiane x, y, z; il punto viene restituito mediante l’ausilio di un tavolo da disegno automatico collegato ai carrelli. Tale tecnica viene anche chiamata passiva, in quanto risente della luce ambientale e richiede tratti e confini ben definiti, a differenza dei metodi attivi precedentemente descritti, che ottengono le coordinate dell’oggetto da informazioni esterne, quali angoli di visione, tempo di volo o forme di modelli proiettati.

Sensori acustici Questi sensori si basano sulla stessa tecnica dei sonar e di alcune macchine fotografiche con autofocus: conoscendo la velocità del suono e misurando il tempo necessario affinché il suono emesso da una sorgente ritorni indietro dopo essere stato riflesso da un oggetto si riesce a risalire alle distanze. Questo metodo è però molto sensibile al rumore a causa di possibili interferenze acustiche.

Sensori magnetici. I sensori magneti più conosciuti sono quelli derivanti dalla diagnosi anatomica in campo medico i quali utilizzano sensori spaziali che leggono sia l’interno che l’esterno dell’oggetto. Gli esempi più significativi sono la tomografia computerizzata (TAC) e la risonanza magnetica (RNM).

Nella tomografia computerizzata, un fascio di raggi X allargato viene diretto sull’oggetto; un rivelatore dietro l’oggetto registra i raggi che l’hanno attraversato. Si fa ruotare l’oggetto ripetendo il procedimento più volte per ottenere diversi profili dell’opacità dell’oggetto ai raggi X. Con una complessa procedura matematica, da questi dati si può ricavare una vista tridimensionale delle parti opache ai raggi X: nel corpo umano, per esempio le ossa. Per la fabbricazione automatica, la TAC è stata usata per creare le immagini delle ossa umane per preparare interventi chirurgici e per realizzare strutture da innestare.

La risonanza nucleare-magnetica utilizza un’onda elettromagnetica, generata da un magnete oscillante, che attraversa l’oggetto. L’onda è sintonizzata sulla frequenza di risonanza dei nuclei di un particolare atomo. Quando l’onda colpisce un atomo di quel tipo, il nucleo assorbe l’energia dell’onda e diventa opaco. Le parti d’onda che attraversano l’oggetto senza essere assorbite, sono registrate dall’altra parte e con una procedura matematica, simile a quella usata per la TAC, si calcola la distribuzione di quegli atomi. L’RNM non funziona con i metalli

Page 41: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Reverse Engineering pag. 31

perché le onde elettromagnetiche vengono dissipate dalle correnti elettriche. Ad oggi le applicazioni più importanti si sono avute in medicina, per digitalizzare la forma e la densità dei tessuti molli, che sono trasparenti ai raggi X e quindi difficilmente esplorabili con la TAC.

Vari altri tipi di sensori possono usarsi per digitalizzare a tre dimensioni. I satelliti del Geographic Information System (GIS) registrano continuamente la topografia terrestre e si stanno studiando metodi di digitalizzazione dei dati. Analogamente le sonde astronomiche trasmettono immagini fotografiche di pianeti, asteroidi e comete, utilizzabili per ricavarne dei modelli.

1.3 Soluzioni Commerciali Di seguito si presentano alcune soluzioni commerciali per l’acquisizione di punti, l’indagine non ha alcuna pretesa di essere esaustiva, ma solo di presentare alcune delle soluzioni attualmente più diffuse suol mercato.

1.3.1 Macchine di Misura a Coordinate Le macchine di misura a coordinate sono caratterizzate da differenti strutture secondo quanto riportato in [ISO97]: fixed table cantilever, moving bridge, fixed bridge, column, moving ram horizontal arm, moving table horizontal arm, gantry, L-shaped bridge, fixed table horizontal arm, moving table cantilever. (Figura 1-27). La struttura a sbalzo o cantilever è “caratterizzata da tre elementi movibili lungo guide mutuamente ortogonali (Figura 1-28). Il sensore di tastatura è collegato al primo componente che si muove verticalmente rispetto al secondo; l’insieme del primo e secondo componente si muove orizzontalmente relativamente al terzo. Il secondo componente è supportato solo ad una estremità, da cui il nome cantilever, e si muove orizzontalmente relativamente al basamento della macchina su cui è posizionato il pezzo” [ISO97]. Tale architettura è poco precisa a seguito delle flessioni del braccio trasversale, ha il vantaggio di poter misurare parti di pezzi meccanici anche notevolmente maggiori del volume di lavoro della macchina oltre ad essere conveniente economicamente. In generale la presenza dell'elemento a sbalzo limita la precisione della macchina, che risulta comunque di semplice realizzazione ed di facile accesso su tre lati. Un incremento della precisione è possibile con forti riduzioni delle masse in giuoco, ma con conseguenti notevoli riduzioni del volume di lavoro possibile. Solitamente è utilizzata nella versione manuale per misure fuori linea.

Page 42: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Reverse Engineering pag. 32

Figura 1-27 Architetture CMM (Cortesia (ISO97).

La struttura a portale adotta tre elementi dotati di moto relativo lungo assi mutuamente perpendicolari (Figura 1-29). Il sensore è collegato ad un primo elemento libero di traslare verticalmente (asse z) rispetto al secondo elemento. A questo sono consentite traslazioni orizzontali (asse y) rispetto al terzo, il quale è

Page 43: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Reverse Engineering pag. 33

una trave orizzontale supportata da due colonne ad essa solidali (portale) che poggiano sul basamento della macchina e sono dotate di moto relativo (asse x) rispetto alla base stessa, sulla quale poggia l'oggetto da misurare. Nella sua configurazione tipica, costituente circa il 62% del mercato di macchine di misura, il portale è mobile sul basamento fisso. La struttura può essere anche a portale fisso, con moto posseduto dalla tavola porta pezzo, o a portale a L rovesciata. Tale struttura, adatta sia alle sale metrologiche che agli ambienti produttivi (con possibilità di sistema automatico di cambio pallet APC), consente precisioni elevate grazie alla buona rigidità strutturale e risulta essere adatta al campo dimensionale medio. I fattori che limitano l'uso di questa struttura per la misura di particolari molto grandi sono essenzialmente l'inerzia delle masse in movimento e il fatto che le dimensioni massime del pezzo devono essere inferiori alle dimensioni del portale. In particolare nella figura è possibile distinguere : 1-basamento, 2-longherone asse x, 3-montante principale, 4-montante di sostegno, 5-traversa, 6-testa, 7-canotto, 8-testina porta accessori.

Figura 1-28: Architettura a sbalzo (Cortesia Johansson).

Page 44: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Reverse Engineering pag. 34

L’architettura a pilastri o gantry (Figura 1-30) “si differenzia dalle due precedenti in quanto il terzo componente si muove orizzontalmente su due binari guida montati sopraelevati rispetto al basamento della macchina su entrambi i lati ed il pezzo è posto sul basamento” [ISO97]. Tale configurazione permette la massima precisione per pezzi di grandi dimensioni, ma l’esistenza di pilastri indipendenti impone l’adozione di fondazioni adeguate per l’installazione della macchina. Risulta facilmente integrabile in un sistema produttivo permettendo ad esempio la verifica di pezzi montati su AGV.

Figura 1-29: Architettura a portale (Cortesia ZEISS)

L’architettura a colonna o column é caratterizzata da “due componenti movibili; il sistema di tastatura è collegato al primo componente che si muove verticalmente rispetto al basamento della macchina. Il secondo componente è montato sul basamento della macchina e si muove in un piano orizzontale rispetto al basamento stesso; il pezzo è montato sul secondo componente” [ISO97]. Tale configurazione può fornire elevate precisioni sebbene la sua sezione a C è sensibile ai gradienti termici che causano inarcamenti della colonna stessa ed

Page 45: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Reverse Engineering pag. 35

elevati errori di Abbe1 [Bos95]. Sono solitamente macchine da laboratorio e possono raggiungere precisioni di decimi di micrometro.

Figura 1-30: Struttura a pilastri (Cortesia Zeiss).

In alcune configurazioni anche la struttura a colonna può essere inserita in-process previo un incremento di accessibilità del pezzo da misurare ottenuto grazie all’adozione di una tavola girevole. Il caricamento dell’oggetto può essere realizzato da un robot o attraverso un sistema di cambio pallet automatico. L’architettura a braccio orizzontale o moving table horizontal arm è caratterizzata da “tre componenti movibili lungo assi mutuamente ortogonali; il sistema di tastatura è collegato al primo componente, che è a sua volta supportato solo ad una estremità e si muove verticalmente rispetto al secondo (Figura 1-31). L’insieme combinato del primo e secondo componente ed il terzo componente si muovono orizzontalmente relativamente al basamento della macchina. Il pezzo è montato sul terzo componente” [ISO97].

1 Si intende per errori di Abbe quelli di quadratura degli assi cartesiani.

Page 46: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Reverse Engineering pag. 36

Figura 1-31: Struttura a braccio orizzontale.

Risulta particolarmente indicata per l'inserimento in sistemi flessibili di produzione (FMS) nei quali possiamo avere soluzioni anche complesse con due macchine accoppiate frontalmente. Può essere facilmente dotata di sistemi di cambio automatico dei sensori e della tavola porta pezzo. In alcuni casi, nelle versioni più piccole, è associata ad una tavola porta pezzo girevole e, più raramente, basculante. Di precisione elevata anche su grandi dimensioni grazie all’assenza di strutture a sbalzo, risulta particolarmente indicata per l’inserimento in sistemi flessibili di produzione (FMS). Le macchine a braccio orizzontale sono per lo più utilizzate per il controllo di parti di automobili [Bos95].

1.4 Sistemi senza contatto Sul mercato italiano sono presenti tutte le maggiori aziende produttrici di sistemi di acquisizione senza contatto. Di questi troviamo disponibili sia sistemi basati sulla triangolazione laser sia sistemi basati sulla luce strutturata.

Page 47: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Reverse Engineering pag. 37

1.4.1 Soluzioni commerciali basati sulla triangolazione laser.

Sul mercato italiano sono presenti diverse soluzioni per la digitalizzazione di oggetti basati sulla triangolazione laser, sistemi che si differenziano sostanzialmente per le dimensioni del campo di lavoro, precisione e tipologia di installazione.

Un’analisi dei sistemi commerciali attualmente sul mercato ha consentito di individuare, tra i sistemi più diffusi, i seguenti:

Minolta VI-910

Minolta è presente sul mercato con il suo modello VI-910 (Figura 1-32) il quale presenta una struttura costituita da una sorgente laser a striscia (Classe II o Classe I “eye-safe)

Figura 1-32: Minolta VI-910

Un sistema specchio-specchio-galvanometro per orientare la striscia in modo da coprire un’area rettangolare sulla superficie dell’oggetto. Una telecamera digitale CCD 640×480 per riprendere la striscia deformata riflessa durante la scansione. Un sistema di autofocus ed un’ottica intercambiabile (tele, medio, grandangolo). Presenta un ingombro 213×413×271 mm, peso 11 kg sistema trasportabile. Che può essere montato su un apposito supporto. Oppure può essere integrato con sistemi di movimentazione automatici. Le specifiche di questo sistema sono: Campo di ripresa massimo: 1200×900 mm (corrispondente a un passo di scansione di 2 mm). Profondità di campo massima: 750 mm. Precisione di misura dichiarata: ±0,10 mm in condizioni particolari.

Page 48: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Reverse Engineering pag. 38

Scansione completa (~300.000 punti) in circa 4 secondi compreso il trasferimento dati al computer via SCSI.

Accanto al sistema viene offerto il software per il trattamento dei dati acquisisti che è aperto e fornisce un SDK per sviluppare applicazioni specifiche.

Mensi Serie ‘S’

Figura 1-33: Mensi S 10

Questa azienda è presenta sul mercato dell’acquisizione dei dati tridimensionali con la serie di sistemi ‘S’ (Figura 1-33). Questi presentano una struttura non documentata, probabilmente simile a Minolta VI-910. Sorgente laser Classe II o Classe IIIb. Telecamera CCD 726×578. Ingombro 280×78×158 mm, peso 13 kg. Può misurare distanze fino a 10 m, ma dichiara una precisione accettabile per l’applicazione (0,5-1 mm) solo nel range 1-2 m. Per queste distanze il campo di ripresa massima, corrispondente ad un’apertura di 46° per la striscia laser e di 320° per la rotazione (Figura 1-34), è di circa 3000×800 mm.

Page 49: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Reverse Engineering pag. 39

Figura 1-34: Sistema di acquisizione (Cortesia Mensi).

Passo di scansione intorno a 2 mm. Velocità dichiarata di scansione: 100 punti al secondo.

Laser Design

Figura 1-35: Laser Design PS 3300.

I sistemi laser Design utilizzano un fascio laser prodotto dall’eccitazione di un gas. Tutti i laser utilizzati sono di II classe con potenze da 20 a 1 mW e con una lunghezza d’onda di 670 nm (spettro del rosso) con esclusione del sistema PS-3300c che è dotato di un laser di classe I con potenza di 6,7 mW. I sistemi fissi a testa laser (RPS) hanno due telecamere simmetriche per consentire una migliore rilevazione degli spigoli, inoltre poiché l’oggetto è osservato da due angolazioni diverse la rilevazione è più definita. I sistemi di tipo mobile (PS) (Figura 1-35) sono invece dotati di uno specchio mobile che riflette la linea prodotta dal laser facendo sì che questa ‘spazzoli’ il pezzo da scansionare. Per ottenere una scansione accurata del pezzo si può

Page 50: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Reverse Engineering pag. 40

spostare con facilità il cavalletto sul quale è montato il sistema cambiando in questo modo il punto di visione. I software proprietari utilizzati da LDI per costruire la nuvola di punti sono: Surveyor Scan Control per la serie dei sistemi RPS Real Scan USB, per la serie dei sistemi PS. Entrambe i software pilotano la macchina, elaborano le coordinate dei punti e le esportano in vari formati e gestiscono la nuvola di punti (filtraggio, pulizia). In generale i sistemi LDI utilizzano una velocità di scansione fino a 14.400 pti/sec, per i sistemi RPS e fino a 15.000 pti/sec per i sistemi PS. La risoluzione standard dei sistemi LDI varia da 0.025 mm a 1.82 mm (ove per risoluzione si intende la più piccola variazione delle distanze rilevate dal sensore) I limiti o vincoli di questa tecnologia sono quelli comuni a tutti i sistemi di scansione: difficoltà di rilevazione di fori o cavità con rapporto profondità/raggio foro maggiore di 3.7 (corrispondente a 15°) per i sistemi RPS. difficoltà o impossibilità di lettura su superfici trasparenti o riflettenti difficoltà di rilevare gli spigoli e le cuspidi.

1.4.2 Soluzioni commerciali a luce bianca strutturata.

Sul mercato sono presenti diverse soluzioni per la digitalizzazione di oggetti a luce bianca strutturata, sistemi che si differenziano sostanzialmente per le dimensioni del campo di lavoro, precisione e tipologia di installazione.

Breuckmann

Figura 1-36: Breuckmann TOP-HE 600.

Questa azienda è presente sul mercato con un proiettore di luce strutturata con lampada alogena e frange basate su una tecnica brevettata (Miniaturized Projection Technique) (Figura 1-36), che combina i vantaggi delle modulazioni

Page 51: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Reverse Engineering pag. 41

rettangolari (Gray-code) e di quelle sinusoidali (phase-shift). Telecamera 1280×1024. Collegamento FireWire. Peso 2,5 kg. Ha un campo di ripresa: 480×360 mm. Profondità di campo: 320 mm. Risoluzione dichiarata: ~0.2 mm. Acquisizione in circa 1 secondo. Precisione dichiarata: ~0,1 mm. Il costo sensibilmente superiore a quello dei sistemi portatili a triangolazione laser.

Steinbichler

Figura 1-37: Steinbichler COMET C400

Steinbichler commercializza il sensore COMET C400 (Figura 1-37) che è costituito da una testa di scansione che integra un proiettore di luce bianca e una telecamera. La testa può essere integrata con accessori (riferimenti fissi, movimentazioni lineari o rotativi, ecc.) in base alle esigenze specifiche di ogni applicazione. Dimensioni di ingombro: 440×164×140 mm. Campo di ripresa massimo: 420×340 mm. Profondità di campo non dichiarata. Risoluzione 0,60 mm. Precisione dichiarata: ±0,1 mm. Generalmente vengono sviluppate soluzioni specifiche basate sui sensori a luce strutturata. Non esistono soluzioni a catalogo immediatamente proponibili per l’applicazione.

1.4.3 Il software di elaborazione dei dati I dati raccolti dal sensore sono di solito in una forma che rappresenta punti discreti dello spazio, per lo più non utilizzabile direttamente da programmi CAD e macchine fabbricatrici. Occorre un programma di interpretazione dati che colleghi questi punti formando una rappresentazione leggibile delle superfici definite dai punti. Tale programma deve essere abbastanza “intelligente”, poiché il sensore raccoglie generalmente molti più dati di quelli necessari per caratterizzare la forma dell’oggetto, ed i dati ridondanti o con scarsa risoluzione vanno scartati per non sprecare spazio in memoria. Inoltre il sensore può avere raccolto dati spuri

Page 52: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Reverse Engineering pag. 42

(“rumore”); il programma di interpretazione deve avere degli algoritmi che ne tengano conto. Dato l’odierno livello di sviluppo dell’intelligenza artificiale, per tutte queste procedure occorre l’intervento o la supervisione dell’uomo. Numerosi sono i software esistenti in commercio che rielaborano nuvole di punti al fine di generare delle superfici, alcuni dei quali sono connessi al particolare sistema per l’acquisizione dati. Il software GENESI della Mirai è rivolto fondamentalmente alla ricostruzione del modello matematico di un pezzo a partire dall’esperienza del progettista. Il progettista definisce sul modello le superfici elementari (patch) in totale autonomia, potendo sfruttare nel migliore dei modi il proprio sistema CAD. L’operatore, al quale non è richiesta alcuna nozione informatica, rileva poi dei punti sul contorno definito dal progettista sul modello reale. Potenti algoritmi di filtraggio e di smooting rendono questa operazione molto semplice e veloce. Il sistema calcola la superficie teorica definita dal rilievo. E’ importante osservare che in questo modo tutte le capacità del progettista vengono esaltate. Se ad esempio ritiene opportuno rilevare una zona del modello con una superficie di rivoluzione ed un’altra con una superficie rigata o di loft o tabulata o di sweep, con questo metodo ciò é possibile. L’operatore definisce il numero di punti necessario alla campionatura della superficie appena definita ed il sistema calcola il part program per la macchina tridimensionale a controllo generando il percorso di tastatura. Pochi semplici, ma precisi parametri sono richiesti all’operatore: velocità, raggio tastatore, distanza tra i punti. La macchina rileva i punti reali fornendo al sistema le coordinate del modello permettendo al sistema stesso di generare “on-line” la superficie reale. La superficie reale create presenta un errore di curvatura di Gauss sempre inferiore a 0.005 mm. Sembra non esista alcuna funzione che consenta di verificare la ricostruzione effettuata. Il software DataSculpt della Laser Design Industry di Minneapolis consente di guidare la scansione attraverso funzioni di gestione e di controllo. In particolare è possibile: delimitare la zona su cui effettuare la scansione attraverso delle spline; importare dei modelli 3D dei percorsi di scansione da effettuare; controllare la velocità e la precisione con cui deve essere effettuata la scansione; effettuare delle scansioni veloci ed approssimative per ottimizzare il percorso di scansione; archiviare i dati minimizzando lo spazio occupato su disco. Tale software sembra non occuparsi della costruzione del modello matematico della superficie. Il software Surfacer della Imageware può gestire dati provenienti da sistemi di reverse engineering. E’ dotato di funzioni di smoothing, campionamento e filtraggio. Esso permette di ricostruire, a partire dai punti rilevati, sia feature sia curve rispettando le tolleranze imposte dall’utente. Strumenti di analisi assicurano che la curva sia accurata e continua.

Page 53: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Reverse Engineering pag. 43

Inoltre possiede strumenti per modellizzare le superfici. Consente infine di paragonare la ricostruzione matematica con i punti misurati attraverso tecniche grafiche. Il software CySculpt della Cyberware consente di modellizzare superfici con mesh poligonali. Tali superfici possono essere importate in diversi formati (DXF, IGES, SCULPT, STL e GVA). La modellizzazione può essere applicata a singoli vertici o facce, ad un’area definita dall’utente sulla superficie oppure, in alcuni casi all’intero modello. CySculpt permette di mostrare più viste del modello e fornisce un controllo interattivo sulla traslazione, sulla rotazione, sulla prospettiva e su molte differenti opzioni di rendering. Inoltre possiede diverse routine per riparare modelli, compiere misure sul modello e preparare il modello per un processo di Rapid Prototyping. Una opzione molto interessante è rappresentata dalla possibilità di agire solo su aree delimitate di una superficie, permettendo all’utente di riformarle. Infine permette di assemblare in un unico modello poligonale più scansioni. Altri pacchetti software sono proposti in connessione da costruttori di macchine di misura a coordinate. Ad esempio Renishaw propone il software Tracecut per la scansione e la digitalizzazione di modelli originali sulle macchine di misura e sistemi speciali (Cyclone) e per la generazione di part-program di fresatura. Consente di svolgere alcune funzioni di manipolazione dei dati, quali ad esempio la specularità in X ed Y, la rotazione del modello, la traslazione in X, Y e Z, la conversione da maschio a femmina, la combinazione dei modelli e la divisione dello stampo. Supporta i formati STL in uscita e DXF in ingresso. DEA Brown&Sharpe propone SURFER NT per permettere la creazione di modelli matematici di superfici tramite digitalizzazione di modelli fisici. Integra e combina le funzioni di una workstation CAD/CAM avanzata con l’hardware ed il software di una macchina di misura a coordinate e comprende le seguenti funzioni:

• acquisizione automatica in tempo reale di punti della superficie usando una CMM;

• ricostruzione della matematica della superficie; • Presentazione grafica 3D della superficie usando gli strumenti tipici del

CAD; • Verifica della superficie free-form connessa al modello CAD; • Legami bidirezionali a sistemi CAD/CAM attraverso protocolli standard

(IGES, VDA, ASCII, FIAT). Interagisce con l’utente attraverso pull-down menu e finestre di pop-up. Si tratta di un software che ragiona per patch attraverso i seguenti 4 passi, come riportato in figura:

1. L’operatore attraverso l’uso del joy-stick definisce le patch che costituiscono la superficie;

2. La CMM acquisisce più punti per ciascuna patch e ne ricostruisce i bordi attraverso algoritmi di Bezier;

Page 54: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Reverse Engineering pag. 44

3. Per ciascuna patch viene costruita la superficie di minima energia a partire dai punti e dai bordi precedentemente ricavati;

4. Connessione delle diverse patch attraverso strumenti di CAD avanzati. Zeiss propone Dimension NT per l’attivazione, visualizzazione e manipolazione di punti, curve e superfici a forma libera, con ricostruzione della matematica di superfici complete, partendo da nuvole di punti raccolte con macchine di misura Zeiss o provenienti da altri sistemi di digitalizzazione. La nuvola di punti è convertita in una rappresentazione matematica di superfici e curve di tipo NURBS. In questo modo le superfici complesse possono essere descritte con pochi segmenti e con piccole quantità di dati. Le geometrie standard invece sono descritte da elementi geometrici esatti. Inoltre offre la possibilità di costruire sia superfici trimmed sia untrimmed. Per le prime DIMENSION calcola automaticamente una superficie più grande dell’area digitalizzata e proiettando matematicamente le curve sulla superficie calcolata, curve free-form molto precise possono essere adottate come limiti. Con superfici untrimmed DIMENSION calcola i limiti misurati in modo che il modello digitalizzato giaccia entro le cuve boundary. Permette di integrare scansioni parziali di un’unica superficie, di calcolare gli scostamenti tra la superficie ricostruita ed i punti misurati e fornisce alcune funzioni di menu per guidare l’operazione di reverse engineering. Contiene il postprocessore per l’importazione di file in formato ASCII, VDA, IGES.

1.5 Ricostruzione del modello Si vedranno ora i principali passi che è necessario seguire per ottenere, a partire dalla nuvola di punti acquisita il modello matematico dell’oggetto copiato. Questa fase essenzialmente di carattere software è senza dubbio la più onerosa e critica di un processo di reverse engineer in quanto è quella che richiede il maggior dispendio di ore uomo e macchina. Tralasciando la fase di preprocesso dei dati, andremo a vedere le fasi di segmentazione e creazione del modello solido (Figura 1-38).

Page 55: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Reverse Engineering pag. 45

1. Acquisizione Dati

2. Preprocessing

3. Segmentazione eData Fitting

4. Creazione delModello CAD

software

hardware

1. Acquisizione Dati

2. Preprocessing

3. Segmentazione eData Fitting

4. Creazione delModello CAD

software

hardwarehardware

Figura 1-38: Fasi software del Reverse Engineering.

1.5.1 Segmentazione e data fitting Esaminiamo ora i problemi correlati al processo di segmentazione e al successivo processo di approssimazione delle relative superfici. Consideriamo come dato di partenza un insieme numeroso e disorganizzato di dati campionati sulla superficie dell’oggetto; saranno necessari metodi diversi se per es. i punti sono stati digitalizzati solo lungo certe curve chiavi della superficie dell’oggetto. Lo scopo è produrre una rappresentazione della forma dell’oggetto composta da un insieme di superfici. Assumiamo quindi che l’oggetto possa essere suddiviso in varie superfici, che s’incontrano lungo lati smussati o retti. Alcune di queste superfici sono semplici, come piani o cilindri; altre necessitano di essere rappresentate mediante superfici free-form. I passi che si dovranno seguire per ricostruire la forma sono: segmentazione- durante questa fase si divide la nuvola di punti originale in sotto-insiemi, uno per ogni probabile superficie originale, in modo tale che ogni sotto-insieme contenga unicamente i punti campionati da una particolare superficie; classificazione- durante questa fase si decide a quale tipo di superficie ogni sotto-insieme di punti appartiene (planare, cilindrica, free-form..); Fitting- in questa fase si ricerca quale superficie di un dato tipo sia quella che meglio approssima i punti appartenenti a quel sottoinsieme.

Page 56: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Reverse Engineering pag. 46

L’ordine dei passi da seguire non è strettamente sequenziale poiché per es. per decidere se un punto appartiene ad un dato sotto-insieme richiede che siano effettuate delle misure di quanto bene approssimi quella superficie. Quindi in pratica si trovano in letteratura approcci che risolvono simultaneamente questi problemi, piuttosto che prevedano dei backtracking, o che utilizzano metodi iterativi o probabilistici. Una discussione di questi problemi si trova in [Leo95]; inoltre presentano un metodo che considera alcune possibilità in parallelo e trova la soluzione finale risolvendo un problema d’ottimizzazione. Esistono due diversi approcci alla segmentazione: il metodo “edge-based” e il metodo “face-based”. Il primo metodo cerca di trovare all’interno dell’insieme di dati quelli che rappresentano i lati del modello, e deduce le possibili superfici presenti dalla implicita suddivisione realizzata. Nel caso ad esempio si voglia ricercare dei lati ‘ben definiti’ si va a ricercare le posizioni ove la normale alla superficie (stimata) cambia improvvisamente direzione. Mentre per trovare dei lati di tipo ‘blend’ si cercano le zone dove è presente una discontinuità nella curvatura della superficie stimata. I principali problemi connessi con questa metodologia sono legati al fatto che i dati acquisiti, specialmente quelli con scanner laser, sono spesso inaffidabili nelle vicinanze di spigoli a causa del fenomeno della riflessione, il numero di punti utilizzati è basso, infatti, sono usati solo i punti vicino agli spigoli, questo comporta perdita di informazioni, infine la ricerca di lati arrotondati è decisamente poco affidabile, perché il calcolo di derivate partendo da dati affetti da disturbo è anch’esso affetto da errore. Esempi di questa tecnica sono descritti in [Smi85] e in [Mil97] La seconda tecnica (face based) lavora in senso opposto: cerca di stabilire se sotto insiemi di punti aventi medesime proprietà appartengano o meno ad una medesima superficie, i lati del modello vengono poi derivati dall’intersezione o da altri tipi di calcolo tra le varie superfici. I principali vantaggi legati a questa metodologia è che sono utilizzati tutti i dati a disposizione ed è maggiormente garantita la possibilità che la superficie trovata sia quella che meglio si adatta all’insieme di punti. Un classico esempio di questa tecnica è presente nel lavoro [Bes88]. La segmentazione e il surface fitting costituiscono un problema simile al problema dell’uovo e della gallina. Infatti, se conoscessimo a priori la tipologia di superficie che dobbiamo ricostruire potremmo stabilire immediatamente qual è il sottoinsieme di punti che le appartiene. Così se conoscessimo esattamente qual è il sotto insieme di punti che appartiene ad una data superficie sarebbe facile determinarla. Purtroppo a priori entrambe queste informazioni ci sfuggono. Per superare questo, si ricorre all’utilizzo di metodi interattivi. All’interno di questa categoria si distinguono due approcci: bottom-up e top-down. Si ipotizzi di adottare un metodo face-based per la realizzare la segmentazione. La classe dei metodi bottom-up parte da punti ‘seme’, inizialmente si determinano dei sotto insiemi di punti ad essi vicini che presumibilmente appartengono ad una

Page 57: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Reverse Engineering pag. 47

stessa superficie. Utilizzando tecniche di geometria differenziale locale altri punti sono classificati come appartenenti alla stessa superficie. Il processo termina quando non vi sono più punti ‘consistenti’ nella regione analizzata. Tipicamente si ha lo sviluppo in parallelo di varie regioni che eventualmente poi potranno essere unite, nel caso in cui si tocchino si riesca a dedurre che appartengono alla stessa superficie. Inoltre man mano che punti vengono aggiunti si può verificare un cambiante anche radicale della tipologia della superficie a cui i punti appartengono. (i.e. piano->cilindro). Esempi applicativi di questo metodo si possono trovare in [Leo95], [Sap95]. Dall’altro lato i metodi top-down partono dalla premessa che tutti i punti appartengono ad una data superficie e testano la validità di questa ipotesi. Se è subito verificata la procedura, termina altrimenti si suddividono i punti in due o più sotto insiemi e la verifica di ipotesi e ricorsivamente applicata, il processo prosegue sino a quando tutti i sotto insiemi generati soddisfano l’ipotesi. Questa tecnica è utilizzata sopratutto per la segmentazione delle immagini [Pie], mentre in ambito reverse engineering non è molto utilizzato. I problemi associati con queste due metodologie sono vari. Nel metodo bottom up la scelta del punto ‘seme’ dal quale partire il processo può essere difficile, logicamente un punto seme su di uno spigolo può portare a non trovare una soluzione accettabile. E’ necessario decidere come distribuire questi punti: se in modo uniforme o in qualche altro modo. E’ necessario porre molta attenzione sia alla scelta della superficie da utilizzare per approssimare i punti sia decidere come cambiare la tipologia di superficie utilizzare man mano che il processo di accrescimento prosegue deve essere fatto con molta cautela. Inoltre, anche variare le ipotesi sui punti che attualmente vengono aggiunti può portare se fatte in modo errato ad aggiungere punti sbagliati che compromettono la tipologia di superficie ricostruita. Il problema principale legato ai metodi ‘top-down’ è la scelta di dove e come suddividere gli insiemi. Spesso la suddivisione avviene lungo lungo linee rette invece che lungo i confini ‘naturali’. Questo comporta in pratica di dover eseguire dei passaggi aggiuntivi per unire i vari pezzi.

1.5.2 Segmentazione e data fitting di superfici free-form.

La segmentazione di superfici libere presenta notevoli difficoltà. Sono presenti quattro approcci :

• global approximating surfaces • curve network based surfaces • arbitrary topology surfaces • functionally decomposed surfaces.

Page 58: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Reverse Engineering pag. 48

Il primo approccio richiede che innanzitutto sia definita una prima superficie approssimante costituita da quattro lati e dai rispettivi vertici. Superficie grande tanto da contenere tutti i punti acquisiti. Dopodiché si calcolano i punti appartenenti alla superficie che corrispondono ai punti misurati e si determinano stimano i parametri della superficie minimizzando la distanza tra questi e i punti misurati. Se al termine di questa procedura di fitting la distanza tra la superficie così approssimata e i punti di misura originali è troppo elevata, si procede con un raffinamento della approssimazione. Questo si ottiene andando a suddividere la superficie iniziale in sotto- superficie oppure procedendo con una procedura di miglioramento locale. Il vantaggio di questa procedura è costituito dalla sua estrema semplicità e attraverso approssimazioni successive è possibile ottenere una prima superficie senza che vi siano interazioni con un eventuale operatore. Lo svantaggio principale è che non si fa alcuna ipotesi o deduzione sul tipo di superficie ricostruita. Il secondo approccio ‘curve network based surfaces’ è basato sulla definizione di una rete di curve che la superficie mediante un insieme di curve notevoli come ad esempio gli spigoli del modello solido, linee di simmetria, linee aventi curvatura massima etc. La costruzione di questa rete di curve è tutt’altro che banale e non si può fare in modo totalmente automatico, perciò si ha la necessità di un’interazione con l’operatore che deve selezionare quali curve sono di interesse. Terminata questa fase la successiva generazione di superfici è relativamente semplice. Il terzo approccio è una combinazione dei precedenti due. Innanzitutto, si uniscono i punti per triangolazione poi si definisce in modo automatico una prima superficie approssimante l’intero set di punti. Superficie caratterizzata dall’assenza di vincoli topologici. Basandosi su questa poi, si definisce un insieme di curve notevoli e si prosegue come nell’approccio precedente. Esempi di questo metodo si trovano in [Eck96], [Guo97]. Il quarto approccio functionally decomposed surfaces si propone di scoprire in qualche modo quali sono le caratteristiche dell’oggetto da ricostruire. Infatti, se è possibile dedurre informazioni su come è stato creato l’oggetto, quali erano le superfici funzionali e quali operazioni di modellazione solida sono state utilizzate per generarlo, semplificherebbe notevolmente lo sforzo per re-ingegnerizzare il prodotto. Il problema principale di questo approccio è che con le conoscenze attuali è impossibile qualunque forma di automazione. Inoltre il processo di fitting è più complesso in quanto non si deve ‘fittare’ un’unica superficie ma una serie di sotto parti. Queste tecniche possono aiutare nella creazione la topologia locale di un oggetto ma per ottenere il modello finale sono necessari altri passaggi per arrivare a generare un modello solido chiuso e consistente.

Page 59: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Reverse Engineering pag. 49

1.5.3 Costruzione del modello solido Lo scopo di questa fase è la creazione, partendo dai dati in precedenza acquisiti e organizzati, di un modello continuo e consistente di vertici lati e facce dove sia le relazioni topologiche esistenti tra le varie entità che la loro descrizione matematica siano opportunamente memorizzate [Hof89], [Man88]. Normalmente il punto di partenza di questa fase è costituito da un insieme disorganizzato di elementi geometrici, per i quali non è stato fatto alcun sforzo per fornirne l’adeguata consistenza topologica. A causa della diversità delle rappresentazioni della superficie e degli algoritmi applicabili, l’input per la creazione del modello può anche essere in vari formati a diversi livelli di completezza geometrica e topologica. E’ necessario quindi un approccio uniforme per la creazione del modello finale. Lo scopo di questa fase finale è creare un modello consistente e contiguo di vertici, lati e facce, dove sia le relazioni di adiacenza tra gli elementi costituenti che le equazioni matematiche di curve e superfici sono memorizzate esplicitamente. In alcuni approcci, alcune strutture di curve di contorno sono create simultaneamente con la segmentazione ma generalmente dobbiamo partire dalla costruzione del modello dal set di elementi. Questi sono creati mediante algoritmi di crescita di una regione locale o mediante algoritmi di fitting. Però queste non è detto che siano connesse tra loro, anzi nella maggior parte dei casi tra le varie superfici ricostruite vi sono dei gap, oppure queste si possono sovrapporre. In modo analogo una procedura di definizione dei lati delle superfici può aver prodotto lati che si intersecano o che non formano un set connesso. Su questi problemi si vedano [Fit97] [Hoo95]. Se però nei precedenti passaggi progettuali non sono stati definiti i lati è necessario ricavarli andando ad intersecare tra loro le varie superfici estendendole se necessario oltre i confini determinati inizialmente. Non sempre le superfici si uniscono mediante spigoli, sarà quindi necessario modificarle inserendo opportuni raccordi. Per quanto riguarda la localizzazione dei vertici, è un problema relativamente semplice se il vertice è punto di intersezione di tre lati ben definiti, ma che si complica notevolmente se i lati sono in numero maggiore e/o di tipo blend. Inoltre una volta creato un modello geometricamente consistente vi sono altri legami che si dovranno definire per creare un modello che sia accettabile anche da un punto di vista ‘ingegneristico’. Infatti, sarà necessario impostare alcune importanti relazioni geometriche tra le varie entità come: parallelismo, concentricità, ortogonalità, etc. [Gri95], [Hof93]

Page 60: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

50

Capitolo 2

Curve

In questo capitolo verranno analizzati i principali strumenti presenti in letteratura per la rappresentazione spaziale di curve, a partire dagli strumenti matematici e geometrici di base sino alla rappresentazione di curve mediante la famiglia di curve spline. Per rappresentare matematicamente elementi geometrici è possibile utilizzare sia una equazione non parametrica (forma analitica) che una equazione parametrica. Vediamole ora nel dettaglio.

2.1 Forma Analitica Mediante tale tipologia di rappresentazione è possibile definire unicamente curve piane ovvero curve che possono essere descritte mediante una relazione tra le coordinate x e y appartenenti alla curva. Questa relazione può essere di due tipi: esplicita e implicita.

2.1.1 Forma esplicita Una curva piana espressa in forma esplicita ha equazione: y=f(x), forma in cui ad ogni valore di y corrisponde uno ed un solo valore di x. Delle due variabili, x si chiama variabile indipendente, y la variabile dipendente; geometricamente si consideri un piano e in esso si traccino a partire da un punto 0(origine), due rette tra loro ortogonali x, y dette assi coordinati o assi ortogonali.

Page 61: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Curve pag.51

Figura 2-1: Punti del piano cartesiano

Fissata una unità di misura u, a un punto P appartenente al piano corrispondono due numeri reali a e b, che misurano le ascisse sugli assi x, e y dei punti Px e Py, che sono i piedi delle perpendicolari condotte da P agli assi medesimi. I numeri a e b sono definite le coordinate cartesiane ortogonali del punto P: a è detto l’ascissa di P, b l’ordinata di P. Se viceversa conduciamo dai punti Px e Py due rette ortogonali agli assi queste si incontreranno in un punto P, del quale ora a e b risulteranno essere le coordinate. Vi è quindi una corrispondenza biunivoca tra le coppie ordinante di numeri reali e i punti di un piano. [Ame77] Una funzione è definita continue se: Sia y = f(x) una funzione definita in un insieme T e sia x0 un punto di T, di accumulazione per l’insieme medesimo.2 La funzione f(x) si dice continua nel punto x0 se esiste finito il limite:

)(lim0

xfxx→

ed è uguale al valore f(x0), in altre parole se risulta:

)()(lim 00

xfxfxx

=→

2 Dato un insieme E, si dirà che x0 è un punto di accumulazione di E se in ogno intorno U0 di x0 cadono infiniti punti do E.

O x

y

P(a,b)

a

b

Page 62: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Curve pag.52

Se invece si ha

)()(lim 00

xfxfxx

=+→

oppure

)()(lim 00

xfxfxx

=−→

Si dice che f(x) è continua a destra, oppure a sinistra, nel punto x0. Sia sempre T l’insieme di definizione di una funzione y = f(x), si dice punto di discontinuità di f(x) ogni punto x0, ∈ T, in cui la funzione stessa non è continua o non è definita. In particolare è di nostro interesse ricordare la definizione di discontinuità di prima specie: la f(x) presenta in x0 una discontinuità di prima specie se esistono finiti i due limiti f(x0

+), f(x0-) e sono diversi. Perciò x0 deve essere punto di

accumulazione per T, sia sinistro che destro. La differenza

)()( 00−+ − xfxf

si chiama salto della funzione nel punto x0. Si riporta infine un’ultima osservazione, secondo la quale è possibile dimostrare che una funzione monotona è continua, o presenta al più discontinuità di prima specie, in ogni punto x0 che sia interno al suo intervallo di definizione. Vedremo, come la continuità di tipo geometrico è differente.

2.1.2 Forma implicita Per rappresentazione implicita di una curva si intende una sua descrizione mediante un’equazione del tipo f(x,y)=0. Questa equazione descrive una relazione implicita tra le coordinate x e y dei punti che appartengono alla curva. Per una data curva esiste un’unica rappresentazione in forma implicita a meno di una costante moltiplicativa. Come esempio si consideri l’equazione della circonferenza di raggio unitario centrata nell’origine del sistema di coordinate, questa in forma implicita è rappresentata dall’equazione:

01),( 22 =−+= yxyxf .

Page 63: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Curve pag.53

2.2 Forma Parametrica In forma parametrica, ciascuna coordinata dei punti appartenenti ad una curva è rappresentata separatamente come una funzione esplicita di un parametro indipendente:

( ) ( )( )tytxt ,)( =P bta ≤≤ Dove l’intervallo [a,b] è arbitrario, anche se spesso si utilizza la sua rappresentazione normalizzata: [0,1]. Come esempio possiamo vedere come l’equazione della circonferenza in forma parametrica assuma la seguente rappresentazione:

( ) ( )( ) ( )usenuy

uux== cos

π20 ≤≤ u

formulazione che ponenedo ( )2tan π=t diventa:

( )

( ) 2

2

2

12

11

ttty

tttx

+=

+−

= 10 ≤≤ t

Quindi la rappresentazione parametrica di una curva non è unica. Le forme in precedenza descritte hanno pregi e difetti volendo compararle si può dire che:

In forma analitica è possibile esprimere solo curve 2D, una curva 3D si ottiene con un sistema di due equazioni indipendenti in x, y e z. Infatti, aggiungendo una coordinata z(t), la forma parametrica P(t)=[x(t), y(t), z(t)] descrive una curva nello spazio.

In forma parametrica sono difficili da implementare curve non limitate

come ad esempio una retta, mentre è immediato rappresentare curve limitate andando a porre una semplice limitazione all’intervallo di variazione del parametro t.

Le curve parametriche hanno un senso di percorrenza definito da P(0) a

P(1), che le curve implicite non hanno, ciò rende più facile la generazione di punti lungo la curva.

Page 64: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Curve pag.54

In forma parametrica è difficile stabilire se un punto giace o meno sulla curva mentre è immediato in forma implicita.

La forma parametrica è più naturale per quanto concerne la

rappresentazione di forme su computer. I coefficienti di molte forme parametriche (ad es. Bezier e B-spline) hanno un considerevole significato geometrico. Questo si traduce in un modo intuitivo di progettare la curva e nella possibilità di avere algoritmi stabili ed affidabili.

Di contro la forma parametrica porta a convivere con anomalie proprie

della rappresentazione, indipendenti dalla geometria; ad esempio in una sfera rappresentata in forma parametrica come:

( ) ( ) ( )( )vuzvuyvuxvu ,,,,,),( =S dove:

( )

ππ 200)cos(),(

)sin()sin(),()cos()sin(,

≤≤≤≤===

vuvvuz

vuvuyvuvux

Se calcoliamo la normale alla superficie:

vu

vu

SSSS

N××

=

Si nota subito come questa non può essere calcolata in corrispondenza dei poli. All’interno di questo lavoro la tipologia di curve presenti non può che essere rappresentata mediante forme parametriche non essendo riconducibile ad alcuna forma analitica nota. Si andranno, ora ad esaminare tra le varie tipologie di curve parametriche esistenti quelle che: sono facilmente, efficientemente ed accuratamente processata da un computer e in particolare: • Il calcolo di punti e derivate è semplice • Il calcolo sia sufficientemente insensibile a errori di arrotondamento e di

troncamento. • Richiedono poca memoria per essere salvate.

Page 65: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Curve pag.55

2.2.1 Curve Polinomiali Una curva parametrica polinomiale di grado n ha equazione: P(t) = tnan + t n-1 an-1 + tn-2an-2 + · · · +a0,

• n: è il grado del polinomio • L’ordine del polinomio è pari al numero dei coefficienti. • E’ sempre valida la relazione: ordine = grado + 1.

Esempi: P(t) = ta1 + a0 P(t) = t2a2 + ta1 + a0 P(t) = t3a3 + t2a2 + ta1 + a0, Le funzioni polinomiali hanno un certo numero di caratteristiche:

Sono facili da descrivere. Servono unicamente i coefficienti (a0, a1, a2, …, an).

Si può immagazzinare una funzione polinomiale utilizzando pochi byte. Mentre altre funzioni possono richiedere strutture più complesse.

Il calcolo delle derivate è semplice Es: nXn-1.

Calcolare il valore in un punto è veloce: uniche operazioni che occorre fare sono +, -, e *.

2.2.2 Curve Spline Le curve spline derivano il loro nome da uno strumento utilizzato per il disegno tecnico chiamato, appunto, spline (Figura 2-2), costituito da una bacchetta di plastica o di altro materiale che può essere facilmente flesso in modo da passare esattamente per una serie di punti, detti punti di controllo, in precedenza localizzati sul disegno. Alcuni pesi detti duck, fanno in modo che la spline assuma una posizione fissa così che il disegnatore possa seguirne i contorni e tracciare la curva continua passante per i punti desiderati. Una curva spline può quindi essere disegnata in modo da passare per un numero qualsiasi di punti; inoltre il cambiamento di curvatura lungo la spline stessa è graduale e non si verificano cappi. La curva risultante può essere rappresentata mediante una funzione cubica. Per questo motivo si parla di spline cubiche piane e possono essere rappresentate esattamente da curve cubiche parametriche composte.

Page 66: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Curve pag.56

Figura 2-2: strumento spline.

Le spline presentano lo svantaggio di non consentire un controllo intuitivo sulla forma della curva. Se si cambiasse, ad esempio, la posizione di uno o più punti di controllo, quasi certamente si genererebbero delle perturbazioni poco prevedibili, non solo localmente nell’intorno del punto modificato ma lungo tutto la curva (Figura 2-3).

Figura 2-3: Effetto della modifica di un punto di controllo su una curva spline

Inoltre, se i punti della spline non sono equispaziati si hanno delle oscillazioni non volute (Figura 2-4).

Page 67: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Curve pag.57

Figura 2-4: Spline interpolante punti non equispaziati.

Una soluzione a questi problemi consiste nel disporre di una rappresentazione che permette di controllare la forma della curva in modo intuitivo, modificando solo qualche semplice parametro. Le curve di Bezier soddisfano in parte a questa richiesta.

2.2.3 Curve di Bezier Queste curve sviluppate contemporaneamente e distintamente da P. Bezier e da P. de Casteljou ingegnere della Citroen si basano su un’idea molto semplice. data una sequenza di punti di controllo (ad es.: P0, P1, P2), definiamo una funzione polinomiale f tale che:

– f(0) = P0 (il primo punti di controllo). – f(1) = P2 (l’ultimo punto di controllo).

Per trovare valori intermedi si ripete l’operazione di interpolazione lineare. Nel caso di tre punti, dato t tra 0 ed 1:

– Si interpola linearmente prima tra P0e P1. – Poi tra P1e P2. – Alla fine si interpoli linearmente tra i due valori ottenuti.

Ad esempio dati tre punti (P0, P1, P2), se vogliamo trovare la posizione del punto corrispondente al valore del parametro t = 0.5 si opera come segue:

Page 68: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Curve pag.58

1p

0p

2p

0.5

0.5

0.50.5

0.5

0.5

A

B

C

1p

0p

2p

0.5

0.5

0.50.5

0.5

0.5

A

B

C

Figura 2-5: costruzione di una curva di Bezier.

Innanzitutto, si trova il punto t=0.5 per interpolazione lineare tra P0e P1 (Punto A). dopodiché si trova il punto t=0.5 per interpolazione lineare tra P1e P2 (Punto B). Infine si trova il punto t=0.5 per interpolazione lineare tra A e B. Tale punto giace sulla curva di Bézier. Quindi dati n+1 punti P0, P1, P2, ... e Pn nello spazio, una curva di Bézier è definita dall’equazione :

( ) ( )∑=

=n

iiin tBt

0, PP 10 ≤≤ t

dove: Pi : punti di controllo {Pi}: poligono di controllo n: grado della curva n+1: ordine e

( ) ( ) ( ) iniin tt

inintB −−−

= 1!!

!,

è il polinomio di Bernstein detto anche funzione di miscelamento.

Page 69: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Curve pag.59

2.2.4 Curve B-spline Una curva B-spline, è definita da n+1 punti di controllo Pi, dall’ordine k+1 e dal set di nodi ed è formulata come segue:

∑=

=n

ikii tNPtP

0, )()( , max0 tt ≤≤

Dove )(, tN ki sono le funzioni Basis-spline viste definite su un vettore di nodi non-periodico. I punti di controllo formano il poligono detto Poligono di controllo. Le funzioni di base Basis-spline hanno seguenti proprietà:

1. Partizione dell’unità: ∑=

=n

iki tN

1, 1)(

2. Positività: 0)(, ≥tN ki

3. Azione locale: 0)(, =tN ki se [ ]1, ++∉ kii ttt

4. Continuità: )(, tN ki è (k-2) volte differenziabile in modo continuo. 5. Proprietà di ricorsione. Infatti, ciascuna di queste è definita come segue:

1

1,1

1

1,,

)()(

)()()(

++

−++

−+

−−+

−−=

iki

kiki

iki

kiiki tt

tNtt

tttN

tttN

dove

=,0,1

1,iN altrove

ttt ii 1+<≤

E dove si pone 0/0 = 0 se i denominatori nella prima equazione diventa zero.

La prima proprietà (partizione dell’unità) assicura l’invarianza alle trasformazioni affini: applicare una trasformazione affine ai punti di controllo equivale ad applicarla a tutti i punti della curva. Sia p un punti nello spazio euclideo tridimensionale E3 .Una trasformazione affine indicata con ψ trasforma E3 in E3 e

Page 70: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Curve pag.60

ha questa forma: ψ(p)=Ap+v, dove A è una matrice 3x3 e v è un vettore. Le trasformazioni affini includono traslazioni, rotazioni, scalature dimensionali. La seconda proprietà garantisce che il segmento della curva giaccia completamente all’interno del profilo convesso definito dai punti di controllo Pi. La terza proprietà indica che ciascun segmento di una curva B-spline è influenzato da soli k punti di controllo o, in altri termini, che ciascun punto di controllo influisce su k segmenti della curva. Inoltre le caratteristiche che rendono una B-spline efficiente nella modellazione geometrica, sono le seguenti: 1. Il controllo locale della curva può essere raggiunto cambiando la posizione di

uno o più punti di controllo, utilizzando punti di controllo multipli, cioè definendo più punti in una medesima locazione, oppure scegliendo un grado diverso (k-1). Come menzionato in precedenza, cambiare un solo punto di controllo influisce solo su k segmenti della curva. La Figura 2-6seguente mostra il controllo locale di una curva ottenuto muovendo P3 in *

3P e **3P .

Come si vede cambiano solo i quattro punti che circondano P3.

Figura 2-6: Controllo locale di una B-spline

2. Una curva B-spline non periodica passa attraverso il primo e l’ultimo punto di controllo P0 e Pn ed è tangente al primo (P1 – P0) e all’ultimo (Pn – Pn-1) segmento del poligono di controllo, come mostrato nella Figura 2-6.

3. Aumentare il grado della curva significa assottigliare la curva. In generale, più

basso è mantenuto il grado, e più vicina ai punti di controllo risulta la curva ottenuta, come mostrato in Figura 2-7. Con k = 1 si ottiene una curva di grado 0.

Page 71: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Curve pag.61

Figura 2-7: Effetto del grado della curva sulla sua forma.

4. Una curva di secondo grado è sempre tangente al punto medio di tutti i segmenti interni del poligono (Figura 2-7). Questo non avviene per gli altri gradi.

5. Se k eguaglia il numero di punti di controllo (n) allora la B-spline degenera in una curva Bezier, (Figura 2-8).

Figura 2-8: Uguaglianza delle curve B-spline e Bezier.

6. I punti di controllo multipli creano regioni nella curva B-spline con valori di curvatura alti. Questo è utile quando si ha la necessità di creare angoli acuti (Figura 2-9). Questo concetto può essere reso più chiaro dicendo che l’effetto

Page 72: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Curve pag.62

ottenuto equivale a tirare di più la curva verso i punti di controllo, incrementandone la molteplicità.

Figura 2-9: Punti di controllo multipli nelle curve B-spline.

7. Aumentare il grado della curva rende più difficoltoso il controllo della curva e meno accurato il processo di calcolo. Per questo, le B-spline cubiche sono sufficienti per un gran numero di applicazioni.

I nodi I ti sono chiamati nodi parametrici o semplicemente nodi. Questi valori formano una sequenza di valori non decrescente chiamata vettore dei nodi e costituiscono un dato essenziale, assieme ai punti di controllo, per poter definire una curva B-spline. Esistono diverse possibilità nella scelta del modo di parametrizzare una curva, ovvero delle modalità da seguire per suddividere il dominio della curva stessa. Il primo passo consiste nel trovare un set di parametri che fissi i punti di controllo in determinate posizioni. Più precisamente, se i punti di controllo sono P0, …, Pn, allora gli n+1 parametri t0, …, tn nel dominio della curva, devono essere ricercati in modo che il punto Pk corrisponda al parametro tk per k compreso tra 0 ed n. Esiste un numero infinito di possibilità per la selezione dei parametri. Per esempio, si può dividere equamente il dominio, oppure scegliere in maniera casuale gli n+1 nodi dal dominio. Quello che è impartante sottolineare è che la scelta dei parametri influisce sulla forma della curva. Di seguito si espongono le tre tipologie principali di parametrizzazione di una curva: il metodo uniforme, il metodo cordale ed il metodo centripeto.

Il metodo uniforme Il metodo più semplice di selezione dei parametri è il metodo uniforme. Si suppone che il dominio sia normalizzato e pari a [0, 1] e si necessitino n+1 parametri uniformemente distribuiti. Il primo e l’ultimo parametro devono essere

Page 73: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Curve pag.63

0 ed 1 poiché si vuole che la curva passi per il primo e per l’ultimo dei punti di controllo. Si ha perciò t0 = 0 e tn = 1. Poiché gli n+1 punti dividono l’intervallo [0, 1] in n sottointervalli equivalenti, ciascuno dei quali deve essere di lunghezza 1/n, i punti di divisione sono 0, 1/n, 2/n, 3/n, …, (n-1)/n ed 1. Da cui:

1

00

=

=

=

n

i

tnit

t

per 11 −≤≤ ni

Per esempio, se si devono definire 5 parametri, segue che n = 4 e i parametri uniformemente spaziati sono 0, 1/4, 1/2, 3/4, e 1. Se si dovessero definire 8 parametri, allora n = 7 e i parametri equamente distribuiti sono 0, 1/7, 2/7, 3/7, 4/7, 5/7, 6/7 e 1. Nel caso in cui il dominio non è normalizzato in altre parole, è [a, b] invece di [0, 1], sarà allora [a, b] ad essere diviso in n intervalli dai n+1 punti di divisione, a e b inclusi. Poiché la lunghezza di questo intervallo è b-a. la lunghezza di ogni sottointervallo, è (b-a)/n. Quindi i parametri sono:

btn

abiat

at

n

i

=

−+=

=0

per 11 −≤≤ ni

Nonostante il metodo uniforme di generazione dei parametri sia semplice, è stato provato che in alcuni casi può generare effetti indesiderati, soprattutto quando il set dato è costituito da punti di controllo non uniformemente distanziati. In tal caso si possono generare “gobbe” nella curva, angoli acuti o addirittura attorcigliamenti della stessa. Nella Figura 2-10, si verifica un attorcigliamento al punto di controllo numero 3. Nella Figura 2-11la curva perde il contatto con il profilo tra i punti 1, 2 e 3. Sebbene non si possa affermare che questi problemi occorrano unicamente con questo metodo di parametrizzazione, certamente si riscontrano più frequentemente che con gli altri metodi.

Page 74: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Curve pag.64

Figura 2-10 Attorcigliamento al punto di controllo

Figura 2-11: Perdital contatto tra curva e profilo

Il metodo cordale Quando una curva, sia essa interpolante od approssimante, si avvicina notevolmente al profilo del poligono di controllo, la lunghezza del segmento di curva tra due punti adiacenti si approssima molto bene alla lunghezza della corda tra questi due punti di controllo, e la lunghezza totale della curva si approssima altrettanto bene alla lunghezza totale del poligono di controllo. Per questa ragione, se il dominio è suddiviso tenendo in considerazione la distribuzione delle lunghezze delle corde, i parametri produrranno un’approssimazione che segue l’ascissa curvilinea o lunghezza d’arco. Questo è il merito del metodo cordale.

Page 75: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Curve pag.65

Figura 2-12: Esempio di curva il cui profilo si approssima al poligono di controllo

che la definisce

Si suppone di avere un set di punti di controllo P0, P1, …, Pn. La lunghezza tra Pi-1 e Pi è |Pi – Pi-1|, e la lunghezza del poligono dato è la somma delle lunghezze di queste corde:

∑=

−−=n

iii PPL

11

Perciò, il rapporto tra la lunghezza della corda tra il punto P0 e il punto Pk, definita con Lk, e la lunghezza del poligono di controllo è:

L

PPL

n

kii

k

∑=

−−= 1

1

Quindi, se si vuole utilizzare una parametrizzazione cordale, il dominio deve essere suddiviso tenendo in considerazione il rapporto Lk. Più precisamente, se il dominio è [0, 1], allora il parametro tk sarà posizionato al valore di Lk:

1

1

0

11

0

=

−=

=

∑=

n

k

iiik

t

PPL

t

t

Page 76: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Curve pag.66

Un esempio renderà più chiaro il processo. Si supponga di avere quattro punti di controllo (n = 3): P0 = (0, 0), P1 = (1, 2), P2 = (3, 4), P3 = (4, 0). La lunghezza di ciascuna corda è:

123.417

828.222

236.25

23

12

01

==−

==−

==−

PP

PP

PP

e la lunghezza totale è:

1876.917225 =++=L Infine si hanno i seguenti parametri corrispondenti:

1

5512.0

2434.0

0

3

12012

011

0

=

=−+−

=

=−

=

=

tL

PPPPt

LPP

t

t

Anche in questo caso, se il dominio non è [0, 1], ma [a, b], i parametri sono i seguenti:

btabLat

at

n

kk

=−+=

=)(

0

Il metodo centripeto Si supponga di essere al volante di un’auto e di seguire un percorso a curve, tipo slalom. E’ necessario stare molto attenti quando si affrontano le curve più strette, in modo che l’accelerazione normale (e quindi la forza centripeta) non sia troppo elevata. In caso contrario si corre il rischio di perdere il controllo della vettura. Al fine di guidare in modo sicuro, la forza normale lungo il percorso dovrebbe mantenersi proporzionale alla variazione dell’angolazione della curva. Il metodo centripeto è un’approssimazione di questo modello. Infatti, si può considerare il metodo centripeto come un’estensione del metodo cordale.

Page 77: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Curve pag.67

Si supponga di avere i soliti punti di controllo P0, P1, …, Pn. Prima di tutto è necessario scegliere un valore positivo per a. Solitamente si pone a = 1/2, per ricavare la radice quadrata. Quindi, la distanza tra due punti adiacenti è data da

akk PP 1−− al posto del convenzionale 1−− kk PP . La lunghezza del poligono di

controllo sotto questa nuova misurazione è data da:

an

iii PPL ∑

=−−=

11

Il rapporto tra la distanza tra P0 e Pk sul poligono e la lunghezza totale è:

LL

n

k

aii

k

∑=

−−= 1

1PP

Perciò, L0 = 0, L1, …, Ln = 1 dividono [0, 1] tenendo in considerazione la lunghezza del poligono di controllo sotto la nuova misurazione. Quindi i parametri sono:

1

1

0

11

0

=

−=

=

∑=

n

k

i

aiii

tL

t

t

PP

Se a = 1, il metodo centripeto diventa il metodo cordale, e per questo il primo può essere considerato un’estensione del secondo. Se a < 1, per esempio a = 1/2,

akk 1−− PP è minore di 1−− kk PP . Di conseguenza, l’impatto di una corda più

lunga (lunghezza > 1) sulla lunghezza del poligono di controllo dato viene ridotto, e l’impatto di una corda più corta (lunghezza < 1) è aumentato. Per queste caratteristiche il metodo centripeto si comporta meglio del metodo cordale nei confronti degli angoli acuti, approssimandoli in maniera più precisa, come si può costatare dalla figura che segue:

Page 78: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Curve pag.68

Figura 2.7: Esempio di utilizzo dei tre metodi di parametrizzazione.

Si consideri l’esempio visto nel caso cordale al paragrafo precedente. Si hanno quattro punti di controllo (n = 3): P0 = (0, 0), P1 = (1, 2), P2 = (3, 4), P3 = (4, 0). Scegliendo a = 1/2, la lunghezza di ciascuna corda è:

031.217

682.122

495.15

2/123

2/112

2/101

==−

==−

==−

PP

PP

PP

E la lunghezza totale è:

208.517225 =++=L Infine si hanno i seguenti parametri corrispondenti:

1

6101.0

2871.0

0

3

2/112

2/101

2

2/101

1

0

=

=−+−

=

=−

=

=

tL

t

Lt

t

PPPP

PP

Page 79: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Curve pag.69

Si può quindi affermare, alla luce di quanto detto ed osservando la figura 2.7, che il metodo centripeto è migliore dei due esaminati in precedenza? Certamente no, come si può osservare dall’esempio che segue:

Figura 2.8: Esempio di utilizzo dei tre metodi di parametrizzazione.

Qui si hanno sette punti di controllo e la B-spline deve interpolare questi punti. Si può osservare come il metodo uniforme offra un buonissimo risultato; il metodo centripeto si distacca dal profilo dell’uniforme in diversi punti; il cordale infine si discosta decisamente troppo dal profilo ideale. Quindi, la scelta di utilizzo di una parametrizzzione rispetto ad un’altra dipende molto dalla tipologia di curve che si devono realizzare, e soprattutto dai profili che devono essere analizzati, essendo chiaro come i diversi metodi presentino dei vantaggi in taluni casi, controbilanciati da altrettante imperfezioni in altri.

Generazione del vettore dei nodi Una volta definito il set di parametri, è possibile generare il vettore dei nodi. Si supponga di avere ottenuto n+1 parametri t0, t1, …, tn e il grado p. Per una B-spline di grado p, si richiedono m+1 nodi, dove m = n + p + 1. Se le condizioni al contorno sono quelle per cui la B-spline debba passare per il primo ed ultimo punto di controllo, e che nei due punti sia tangente al primo ed ultimo segmento del poligono di controllo (nella terminologia anglosassone una B-spline con tali caratteristiche è indicata come “clamped”), allora questi nodi sono: u0 = u1 = … = up = 0, up+1, …, um-p-1, um-p, = … = um = 1. Più precisamente, i primi p+1 nodi sono uguali a 0 e gli ultimi p+1 nodi sono uguali ad 1. I rimanenti n-p nodi interni risultano dai diversi metodi utilizzati per la definizione dei parametri. Un vettore dei nodi generato con il metodo uniforme non richiede il processo di definizione dei parametri, ed è molto semplice da generare:

Page 80: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Curve pag.70

1...1

0...

1

10

====+−

=

====

+−−

+

mpmpm

pj

p

uuupnju

uuu

per pnj −= ,...,2,1

Negli altri due casi invece è necessario operare dapprima definendo i parametri e solo successivamente generare il vettore dei nodi.

B-spline aperte e chiuse Quello che è stato detto fino ad ora, rappresenta la teoria delle curve B-spline aperte o non periodiche. La stessa teoria può essere estesa al caso di curve B-spline chiuse o periodiche. L’unica differenza tra le due forme riguarda la scelta dei nodi e delle funzioni di base. Due sono i sistemi più semplici per generare una B-spline chiusa: mediante la sovrapposizione dei punti di controllo, oppure mediante la sovrapposizione dei nodi.

Sovrapposizione dei punti di controllo. Si supponga di dover costruire una curva B-spline chiusa p(u) di grado p definita da n+1 punti di controllo P0, P1, …, Pn. Il numero di nodi è m+1, dove m = n + p + 1. Questa è la procedura di costruzione: 1. Definire una sequenza uniforme di m +1 nodi: t0 = 0, t1 = 1/m, t2 = 2/m, …,

tm = 1. 2. Sovrapporre i primi p e gli ultimi p punti di controllo. Più precisamente,

siano P0 = Pn-p+1, P1 = Pn-p+2, …, Pp-2 = Pn-1 e Pp-1 = Pn. La figura seguente mostra quanto appena detto:

Page 81: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Curve pag.71

Figura 2-13: Generazione di una B-spline chiusa attraverso la sovrapposizione dei

punti di controllo.

La curva così costruita ha continuità Cp-1 al punto di unione p(tp) = p(tn-p). Di seguito si presenta un esempio che chiarisce il procedimento passo a passo. La Figura 2-14 mostra una curva B-spline aperta di grado 3 definita da 10 (n = 9) punti di controllo e vettore dei nodi uniforme. Nella figura, le coppie di punti di controllo 0 e 7, 1 e 8, 2 e 9 sono sistemate vicine l’una all’altra per illustrare la costruzione della curva chiusa. La Figura 2-15 mostra il risultato dopo avere reso identici i punti 0 e 7. La forma della curva non cambia molto. Quindi, i punti 1 e 8 sono resi identici come mostrato nella Figura 2-16. Infine, la curva si chiude quando anche i punti di controllo 2 e 9 sono resi identici (Figura 2-17).

Figura 2-14: Curva B-spline Aperta

Page 82: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Curve pag.72

Figura 2-15: risultato dopo avere reso identici i punti 0 e 7

Figura 2-16: i punti 1 e 8 sono resi identici

Figura 2-17: B-spline chiusa

Page 83: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Curve pag.73

Sovrapposizione dei nodi Un secondo modo di costruire una curva B-spline chiusa è quello di sovrapporre i nodi. Si supponga di voler ottenere una B-spline chiusa p(t) di grado p definita da n + 1 punti di controllo P0, P1, …, Pn. La procedura da seguire è la seguente: 1. Aggiungere un nuovo punto di controllo Pn+1 = P0. Ora quindi i punti di

controllo sono n + 2. 2. Definire un’appropriata sequenza di n + 1 nodi u0, u1, …, un. Questi nodi

non sono necessariamente uniformi, e questo è un vantaggio rispetto al metodo precedente.

3. Aggiungere p + 2 nodi e sovrapporli ai primi p + 2 nodi: tn+1 = t0, tn+2 = t1, …, tn+p = tp-1, tn+p+1 = tp, tn+p+2 = tp+1 come mostrato nella Figura 2-18. In questo modo si hanno n + p + 2 = (n + 1) + p + 1 nodi.

Figura 2-18: Generazione di una B-spline chiusa attraverso la sovrapposizione dei

nodi

Calcolo delle derivate Si consideri una B-spline nella forma seguente:

∑=

=n

iipi tNuP

0, )()( P

La derivata di ciascuna di queste funzioni base può essere calcolata come segue:

Page 84: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Curve pag.74

)()()()( 1,111

1,',, tN

ttptN

ttptNtN

dtd

piipi

piipi

pipi −++++

−+ −

−−

==

Inserendo queste derivate nell’equazione della curva si ottiene il risultato seguente:

∑−

=−+==

1

01,1

' )()()(n

iipi tNtt

dtd QPP

dove i iQ sono definiti come segue:

)( 111

iiipi

i Ptt

p PQ −−

= ++++

Perciò, la derivata di una B-spline è un’altra curva B-spline di grado p-1, definita sul vettore dei nodi originale, con un nuovo set di punti di n controllo Q0, Q1, …, Qn-1. Poiché la derivata prima di una curva B-spline è un’altra curva B-spline, applicando ricorsivamente la tecnica appena illustrata, si possono calcolare senza difficoltà anche le derivate di ordine superiore.

Page 85: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Curve pag.75

2.3 Le curve NURBS Per ovviare al problema di non poter rappresentare curve semplici come il cerchio, sono state introdotte le NURBS che sono un’ulteriore generalizzazione delle B-spline. Queste sono curve razionali definite da punti di controllo e dai relativi pesi, e sono rappresentate in forma parametrica formalmente simile alle B-spline. Una NURBS di grado k è definita:

( )( )

( )∑

=

== n

iiki

n

iiiki

wtN

wtNt

0,

0, P

P

dove: • Pi : punto di controllo o punto di de Boor • {Pi: i = 0,1,…,n}: poligono di controllo o poligono di de Boor. • k: grado • k+1: ordine • {wi}: sono i pesi • Ni,k sono B-spline basis function

( )( )

( )∑

=

== n

iiki

n

iiki

ki

wtN

wtNtR

0,

0,

, funzioni base delle NURBS

Dall’equazione delle funzioni base e dalle proprietà delle funzioni base delle B-spline si derivano le proprietà delle NURBS:

1. Supporto locale: Ri,k(t) = 0 se t è al di fuori dell'intervallo [ti, ti+k+1). Inoltre per ogni dato intervallo [ti, ti+1) al massimo t+1 funzioni base sono diverse da zero e precisamente Ri-k,k(t),..., Ri,k(t).

2. Ri,k(t) ≥ 0 per ogni i,k e t∈[0,1]

3. R0,k(t) = Rn,k(t) = 1

Page 86: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Curve pag.76

4. Per ogni sotto-intervallo [ti, ti+1), la somma di tutte le funzioni non nulle in quell’intervallo è uguale a 1 per qualunque t.

5. Tutte le derivate di Ri,k(t) esestono all’interno di un sotto-intervallo (dove

la funzione è un polinomio) e gli estremi del sotto-intervallo la funzione è k-p volte derivabile, dove p è la molteplicità del nodo. Quindi aumentare la molteplicità di un nodo riduce il grado di continuità della curva in quel punto.

6. A parte il caso k=0, Ri,k(t) ha esattamente un massimo nell’intervallo [0,1].

7. Se tutti i pesi wi sono uguali, allora Ri,k(t) = Ni,k(t); cioè le B-spline sono

casi particolari delle NURBS, in cui tutti i pesi hanno lo stesso valore, cioè wi =a con a ≠ 0.

Da queste proprietà derivano le seguenti caratteristiche geometriche:

1. Dalla proprietà 3 segue che C(0) = P0 e C(1) = Pa

2. Invarianza per trasformazioni affini e alle trasformazioni prospettiche.

3. Convex hull. Le curve sono contenute nel guscio convesso definito dai punti di controllo Pi.

4. P(t) è infinitamente derivabile all’interno dei sotto-intervalli, e k-p volte in

corrispondenza di un nodo di molteplicità p.

5. Variation diminishing: ogni retta interseca la curva al più nel numero di volte con cui interseca il poligono di controllo.

6. Una NURBS senza nodi interni è una curva di tipo rationl-Bezier, poiché

le Ri,k(t)=Bi,k(t). Come casi speciali delle NURBS ci sono anche le B-spline e le curve di Bezier non-razionali (Figura 2-19).

7. Approssimazione locale: se il punto Pi o il peso wi vengono modificati

questo modificherà la curva solo nell’intervallo [ti, ti+k+1) Quest’ultima proprietà consente di apportare modifiche locali alla curva modificando la posizione del punto di controllo o del suo peso; in particolare, modificare il peso ha il seguente effetto:

Aumentando il valore del peso wi la curva è attratta da Pi. Diminuendo il valore peso wi, la curva è allontanata da Pi.

Page 87: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Curve pag.77

Al variare del valore del peso, ogni punto della curva si muove lungo una retta uscente da Pi.

Se il peso diventa negativo, la tendenza resta, ma si perde la proprietà di variation diminishing.

B-Spline

Bezier

NURBS

Polinomiali interpolanti Analitiche in forma parametrica

B-Spline

Bezier

NURBS

Polinomiali interpolanti Analitiche in forma parametrica

Figura 2-19: Quadro riassuntivo curve NURBS.

2.4 Interpolazione ed Approssimazione

In questo capitolo vedremo come costruire delle curve che approssimano un insieme di dati geometrici come punti e vettori di derivate. Si distinguono due tipi di metodologie: interpolazione e approssimazione. Con l’interpolazione si costruisce una curva che passa esattamente attraverso i punti e assume i valori delle derivate nei punti. In approssimazione si costruisce una curva che non necessariamente passa attraverso i punti ma li approssima. Il problema dell’interpolazione può essere formulato come segue: Dato un insieme di punti nello spazio, calcolare i punti di controllo, i nodi che generano la curva che interpola i punti dati con un grado di continuità definito. Supponiamo di avere un insieme di punti {Qk}, con k = 0,...,n e che si voglia interpolare mediante una curva B-spline di grado p. Se si assegna ad ogni Qk un parametro di pari a ku e si scegli un opportuno vettore di nodi U ={u0,...,um} è possibile impostare un sistema di equazioni lineari di dimensione (n+1) x (n+1).

( ) ( ) i

n

ikkk PupNiuCQ ∑

=

==0

, (x.2)

Page 88: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Curve pag.78

in cui i punti di controllo Pi sono le n+1 incognite. La scelta dei valori uk e del vettore U influisce sia sulla forma della curva che sulla sua parametrizzazione. I valori uk possono essere scelti utilizzando indifferentemente una delle tre tecniche che abbiamo visto prima: metodo uniforme, metodo cordale o metodo centripeto. Definiti questi il vettore dei nodi U può essere definito in modo tale da risultare uniformemente spaziato:

pnjcon

pnju

uuuu

pj

mpm

p

−=

+−=

===

===

+

,...,1

1

1...0...0

(x.3)

Questo metodo, è sconsigliato in quanto se utilizzato insieme ad una parametrizzazione di tipo cordale può portare il sistema ad essere singolare. Il vettore dei nodi viene quindi scelto mediante una tecnica di averaging:

pnjcon

up

u

uuuu

pj

jiipj

mpm

p

−=

=

===

===

∑−+

=+

,...,1

1

1...0...

1

0

(x.4)

Con questo metodo il vettore dei nodi riflette la distribuzione del parametro uk; inoltre utilizzando l’equazione (x.4) in combinazione con il metodo cordale o centripeto si ottiene un sistema definito positivo, limitato con semi-larghezza di banda pari al massimo a p, quindi Ni,p(uk) = 0 per ogni |i-k| ≥ p. Sistema che può essere risolto mediante eliminazione gaussiana senza pivoting. La Figura 2-20 mostra un esempio di curva ottenuta con il metodo di interpolazione. I cerchi neri rappresentano i punti che si volevano interpolare. Gli asterischi sono invece i punti di controllo calcolati e che rappresentano il poligono di controllo per la curva B-spline. La parametrizzazione utilizzata in questo esempio è quella cordale

Page 89: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Curve pag.79

Figura 2-20: Esempio di curva B-spline ottenuta con l'algortimo di interpolazione.

Come si è detto le spline sono fondamentalmente delle funzioni interpolanti che, partendo da un certo numero di punti da interpolare, connettono i nodi che delimitano ogni intervallo con una funzione polinomiale di un dato ordine. Quindi, si è visto come per costruire una spline si suddivide l’intervallo in cui è definita in N+1 sotto intervalli mediante un opportuno set di N punti detti nodi e in ciascuno di questi si costruisce una funzione polinomiale di grado k, in modo tale che assuma valori nei tratti delimitati da nodi, sia derivabile k volte negli intervalli tra due nodi e sia k-1 volte derivabile nei nodi stessi. Sebbene sia possibile considerare vari tipi di funzioni polinomiali, la più utilizzata è la funzione cubica, sotto le ipotesi di continuità nei punti che costituiscono i nodi, ed avente in tali punti derivata prima e derivata seconda continua. Nel caso in cui i dati seguono un modello non deterministico, vi sono tre approcci per approssimare questi punti mediante spline, in corrispondenza di tre differenti modi di vedere il disturbo presente nei dati. Siccome avere a disposizione dati di tipo stocastico non vincola la funzione approssimante a passare esattamente per i punti come per le spline interpolanti, fare dell’approssimazione richiede l’utilizzo di routine di ottimizzazione e non semplicemente la soluzione di un sistema lineare di equazioni come nel caso delle spline cubiche interpolanti. Il primo, che è anche il più frequentemente usato, parallelizza la procedura di approssimazione di curve nel senso dei minimi quadrati con un criterio di

x

y

Page 90: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Curve pag.80

minimizzazione. Utilizza una funzione obiettivo con presente un termine basato sui minimi quadrati più un termine che penalizza le asperità della curva- E’ appropriato utilizzare questo metodo quando non è possibile stimare l’errore a priori. Quando invece le osservazioni provengono da uno strumento di misura calibrato è a volte possibile impostare un intervallo di confidenza su ogni punto. Il secondo metodo è utilizzato in questa circostanza. Il terzo metodo è anch’esso una procedura basata sui minimi quadrati, ma utilizza una prospettiva differente. Si assume che le spline siano espresse con una forma polinomiale a pezzi particolare e si utilizza il metodo least square per stimarne i parametri.

2.4.1 Penalized Least Squares. Si supponga che il valore x dell’osservazione appartenga ad un intervallo infinito. Senza perdere di generalità, si può assumere che l’intervallo sia [0. 1] e che si abbia 0<x0<x1<...xn<1 la spline che approssima tale sequenza si ottiene come soluzione del seguente problema di ottimizzazione:

( )( ) ( )( )∑ ∫=

+−n

iii dxxLfyxf

1

1

0

22min λ

0,.. >∈ ssatofiWfVS m λ In questa formulazione oltre al termine ‘minimi quadrati’ troviamo un termine che tiene conto dell’andamento della curvatura lungo la curva, termine che serve per valutare la perdita di smoothness. Si noti che il parametro l > 0 controlla la capacità di smoothing del modello. Se λ è troppo piccolo la spline avrà un overfit, nel caso limite di λ=0 diventerà una spline interpolante, cio comporta un abbassamento del bias ma un aumento della varianza. Nel caso opposto l che tende ad infinito il termine di smoothing domina e rimuove non solo i dati disturbati ma anche quelli corretti. Quindi una scelta corretta del parametro λ è fondamentale. Il metodo della Cross Validation è sicuramente tra i più utilizzati ed è stato indicato da numerosi autori [Wah75] [Wah76] [Wah79] [Wah80] [Gol79], [Cra79], [Wah80] [Gam79]. Nel suo lavoro [Wah79b] presenta il metodo della (generalized) cross validation per la scelta del parametro l. Tale parametro è il parametro di smooth. Sia ksλ la soluzione del problema studiato. ksλ è uno stimatore di yk e λ è scelto correttamente se ( )k

k xsλ è un buon stimatore di yk. Per misurare la bontà della stima si sceglie il valor medio dell’errore al quadrato:

( )( )∑=

−=n

kkk

k yxsn

CV1

21)( λλ

Page 91: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Curve pag.81

Funzione definita: cross-validation. Il parametro λ è scelto in modo tale da minimizzare CV(λ). Per certe ragioni tecniche è desiderabile calcolare una funzione CV pesata:

( )( ) ( )∑=

−=n

kkkk

k wyxsn

GCV1

21)( λλ λ

Dove i wk(l) sono pesi scelti in modo tale da riflettere che i dati non sono equispaziati e altri possibili effetti. In [Gol79] e [Cra79] viene dettagliata la scelta dei wk(l). Questa funzione chiamata la generalized cross-validation, ha una particolare semplice rappresentazione matriciale:

( )( )

( )( )2

2

1

1

)(

−=

λ

λλ

AITracen

yAInGCV

Dove A(λ) è la matrice n x n unicamente determinata da

( )

( )( )yA

xs

xs

i

i

λ

λ

λ

=

Quindi la soluzione è la scelta di λ che minimizza GCV(λ). La funzione generalized cross-validation assomiglia in qualche modo all’errore quadratico medio, e si potrebbe sospettare una qualche relazione asintotica. In effetti [Wah] da il seguente risultato: se

( ) ( )( )∑=

−=n

kkk xfxs

nMSE

1

21)( λλ

Dove f è la funzione vera allora, sia MSE(l) che GCV(l) possono essere visti come funzioni casuali dei {εi}.

2.4.2 100 Percent Confidence Intervals. Un metodo di approssimazione alternativo consiste nel non modificare la funzione obiettivo ma di eliminare il vincolo di interpolazione. Questo tipo di tecnica di

Page 92: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Curve pag.82

fitting è anche conosciuta come la soluzione per il problema di interpolazione Generalized Hermite-Birkhoff (GHB). Sia [ai bi] un intervallo di confidenza 100 percento per le ordinate in xi con ai<bi. Il problema GHB è allora il seguente:

( )( )∫1

0

2min dxxLf

( ) iiim tfWfVS βα ≤≤∈ ,.. Un’interpretazione statistica del problema può essere data considerando il seguente modello: yi=f(xi) + εi i=1,2,...,n Se εi sono iid definite nell’intervallo [-e1, e2] allora dato che εi > -e1 è chiaro che yi + e1 > yi –εi = f(xi). Cioè (yi-e2, yi+e1) è un intervallo di confidenza 100 percento e possiamo identificare αi con yi – e2 e βi con yi + e1. [Att68] dimostra l’esistenza di tali spline mentre [Lau69] ne formula un teorema caratterizzante. La soluzione di questo problema è una spline polinomiale di grado 2m – 1 con nodi nei punti dove sono attivi i vincoli.

2.4.3 Regression Splines. Questo approccio consiste nel considerare delle funzioni a pezzi che si uniscono in modo smooth imponendo delle opportune condizioni di continuità. In altre parole si utilizzando delle spline che sono delle funzioni continue di grado m con m-1 derivate continue. Di queste funzioni ve ne innumerevoli e per poterle scegliere è necessario determinare una serie di parametri liberi:

• il grado m della funzione • il numero di nodi • la posizione dei nodi • i coefficienti liberi della funzione spline.

Normalmente il grado è fissato. Il numero di nodi è in genere molto minore del numero di osservazioni. Mentre i coefficienti liberi sono stimati per mezzo del least square. Vediamolo più nel dettaglio:

Page 93: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Curve pag.83

Nell’ipotesi che si abbiano N nodi indicati con ζ1 ,..., ζN in modo tale che ζ1 <ζ2<....< ζN la spline di regressione di grado k ha la seguente forma : Dove con (a)+ si indica max(0,a). Quindi una volta scelti i parametri: k: il grado della spline N: il numero dei nodi ζ =(ζ1… ζN)T: la posizione dei nodi per ottenere una stima di y si deve stimare: b =(b0, ..., bk)T b=(b1, ..., bN)T: i coefficienti liberi Il modello è stato proposto in letteratura da [Smi79] e Suits et al [Sui78] i quali mostrano come in questo caso la stima dei coefficienti liberi si riduca alla soluzione di un modello lineare e come siano applicabili i test t- e F- per determinare quando i coefficienti bi e βj sono uguali a zero. Altri lavori sono invece legati alla scelta dei parametri: Wold nel suo lavoro [Wol74] basandosi sulla sua esperienza pratica suggerisce alcune utili raccomandazioni per la selezione della posizione dei nodi nel caso in cui si utilizzino spline cubiche. In [Mar86] Marsh presenta un metodo per scegliere il numero e la posizione dei nodi dato il grado della spline, metodo che è una estensione del lavoro di [Sui78] e [Smi79]. Il grado della funzione spline k, è spesso posto semplicemente pari a tre, che è il più piccolo valore che consente alla curva di avere un carattere di tipo ‘morbido’, ovvero si sceglie una spline cubica. Le scelte k =2 e k =1 portano alla realizzazione di spline lineari e quadratiche. Casi questi che sono affrontati ad esempio da [Aga78]e [Ert76] In[Frie89] Friedman and Silverman svilupparono un metodo chiamato TURBO. In [Frie91] Friedman introdusse le multivariate adaptive regression splines (MARS) la quale è una metodologia per stimare la funzione di regressione che implica interazione. Questi metodi implicano stepwise addition and deletion to select a set of knots. In [Lee00] Lee propone un metodo per la selezione del modello ovvero un metodo che in modo automatico sceglie il grado della spline, il numero e la posizione dei nodi utilizzando per trovare l’ottimo il minimum description length principle.

( ) i

N

j

kjij

kikii xxbxbby εζβ +−++++= ∑

=+

110 ...

( )∑=

+−++++=

N

j

kjj

kk

xxbxbby1

ˆ10ˆˆ...ˆˆˆ ζβ

Page 94: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

84

Capitolo 3

Ricostruzione automatica di profili acquisiti mediante CMM.

Presso la Sezione di Tecnologie Meccaniche e Produzione del Dipartimento di Meccanica del Politecnico di Milano, negli ultimi anni sono stati svolti e sono in corso studi e ricerche destinati ad applicare tecniche di Reverse Engineering in diversi ambiti manifatturieri. Studi e ricerche che hanno come scopo quello di riuscire ad individuare ed evitare le situazioni di pericolo di collisione che possono venirsi a creare durante la lavorazione di pezzi meccanici e di migliorare ed automatizzare alcune fasi della progettazione di beni. Per quanto rigurada la prima problematica l’idea che si sta sviluppando è la seguente: la mappa degli oggetti presenti nel campo di lavoro di una macchina utensile a controllo numerico computerizzato, è rilevata da un dispositivo ottico ed adeguatamente elaborata da un algoritmo di reverse engineering in modo tale da poter essere presentata all’operatore in un ambiente di realtà virtuale. Operatore che sarà quindi in grado di operare un controllo remoto e in tempo reale dell’attività della macchina stessa. Oltre al controllo virtuale remoto della lavorazione, si sta sviluppando un sistema in grado di verificare e impedire le collisioni con gli oggetti contenuti nel volume di lavoro della macchina a seguito di movimenti comandati dall’operatore o direttamente da part program. Attività che è stata suddivisa in diverse fasi: dopo aver definito un opportuno sistema per il rilevamento dell’orografia dell’ambiente di lavoro, si passa alla definizione e sviluppo di algoritmi per la ricostruzione dei modelli geometrici, e contemporaneamente si ha lo studio e sviluppo di algoritmi per la verifica delle collisioni. Il punto di partenza quindi è lo sfruttamento di tecniche di visione e algoritmi di elaborazione delle immagini e di reverse engineering, associate all’utilizzazione dei sistemi di rilevamento della posizione disponibili in macchina, al fine di ottenere una ricostruzione grafica dell’ambiente operativo (pezzi e attrezzature) tipico di una situazione di lavoro in termini di superfici. Nel campo della computer graphics e del computer aided design il problema della ricostruzione di superfici, a partire da una nuvola di punti è ben noto e presenta

Page 95: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Curve pag.85

diversi approcci risolutivi in base all'area applicativa ed alla struttura dei dati di partenza. Nella ricostruzione di superfici partendo dal contorno (surface from contours) si cerca di ricostruire una struttura tridimensionale partendo da un insieme di contorni bidimensionali paralleli; sebbene siano stati presentati vari ed interessanti studi permangono delle severe limitazioni sui metodi implementati. Limitazioni dovute sia al forte legame tra il metodo e la struttura topologica dei dati a disposizione (poligoni chiusi che giacciono su piani paralleli), sia per le difficoltà che si presentano a trattare automaticamente strutture ramificate. Altra area di impiego è la ricostruzione di superfici partendo da insiemi di punti acquisiti attraverso scansione tridimensionale (3 D scanning). Scansione effettuata utilizzando principalmente sistemi di tipo non a contatto (es. laser) fissi o mobili, che consentono di acquisire grandi quantità di punti, i quali, però, si presentano in forma non organizzata ovvero non presentano alcun legame topologico. Alcuni metodi implementati ricorrono all'utilizzo di insiemi di superfici piane (mesh) per approssimare la superficie reale, insiemi che però diventano via via sempre più numerosi al crescere della complessità della forma acquisita. Alcuni recenti studi hanno affrontato la ricostruzione di superfici di forma libera utilizzando come superfici base delle superfici algebriche. Il problema che si presenta è che questo tipo di rappresentazione non è supportato all'interno dei comuni sistemi di modellazione, dove la superficie normalmente utilizzata per rappresentare superfici libere è la B-spline. L'utilizzo di questo tipo di superfici per approssimare superfici incognite ha così visto un notevole sviluppo di lavori però, la maggior parte di questi o considera superfici topologicamente semplici come insiemi di piani, sfere oppure sono metodi non completamente automatizzati. La limitazione maggiore è legata ai tempi di elaborazione: fatto rilevante vista la mole di punti di partenza che si avranno dall’acquisizione dell’area di lavoro. Per quanto riguarda il secondo aspetto presso la Sezione di Tecnologie Meccaniche e Produzione, si sta realizzando un modulo software, che sarà di ausilio alla fase di progettazione del modello della suola per calzature. In particolare, partendo da particolari curve tridimensionali presenti sulla forma vestita ed acquisite mediante CMM, il software dovrà essere in grado di fornire in modo automatico alcuni elementi progettuali necessari per la generazione del modello solido della suola. Elementi che sono dei particolari profili bi e tridimensionali presenti sulla forma della scarpa che vengono acquisiti mediante CMM. In particolare l’obiettivo di questo progetto è di razionalizzare l’attuale metodologia seguita nella fase di progettazione della suola. Per conseguire tale risultato è previsto lo sviluppo di un modulo software che consenta di porre le basi per sistematizzare e velocizzare l’attività di progettazione. Come è facilmente intuibile le problematiche presenti per la definizione e lo sviluppo di algoritmi per la ricostruzione di modelli geometrici sono differenti per le due problematiche descritte in precedenza.

Page 96: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Curve pag.86

Decisamente più complessa è la ricostruzione di superfici, per poter affrontare tale problematica con una conoscenza ed una padronanza degli strumenti disponibili adeguata, in questa prima fase si è cominciato dallo studio delle problematiche legate alla ricostruzione di curve. Nello specifico in questo lavoro si è affrontato il problema della ricostruzione delle curve tridimensionali presenti sulla forma vestita ed acquisite mediante CMM. A tutt'oggi per progettare la suola, inizialmente, si ricostruisce il modello geometrico tridimensionale di una linea di interfaccia tra la suola stessa e la forma vestita, linea che in gergo prende il nome di 'linea di cassetta' (Figura 3-1).

Figura 3-1: Linea di cassetta (Cortesia Finproject S.p.A.).

Questa curva ha una forma che, nei casi più semplici, presenta una simmetria rispetto ad un piano ‘centrale’ mentre negli altri casi presenta un andamento complesso. La presenza dell’una o dell’altra forma è funzione sia di esigenze tecniche, es. contenimento della scarpa, sia di aspetti puramente estetici determinati dallo stilista. Inoltre, questa linea viene utilizzata per costruire uno

Page 97: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Curve pag.87

strumento fisico utile, sia in fase progettuale, che in fase contrattuale, per la verifica della correttezza delle dimensioni: la dima. Oltre a questa viene acquisita un altra curva presente nella parte inferiore della suola detta ‘curva interna’. Partendo da questa si ottengono per proiezioni successive su piani appartenenti ad un opportuno sistema di riferimento altri profili bidimensionali utili per la successiva fase di progettazione. (Figura 3-2)

Figura 3-2: Curve di Progettazione (Cortesia Finproject S.p.A.)

Attualmente, questa fase non segue una procedura univoca, ma, in funzione della complessità delle curve e dei dati in ingresso forniti dal committente, sono seguite delle differenti metodologie. In ciascuna è previsto l’utilizzo di una macchina di misura a coordinate per rilevare un insieme di punti caratteristici. Questi punti sono poi utilizzati sia per la ricostruzione della linea di cassetta, sia per la ricostruzione degli altri profili. Ricostruzione che attualmente viene fatta in modo manuale e interattiva utilizzando una serie di funzioni messe a disposizione da un software CAD presente in azienda. Ciò che si sta sviluppando è un modulo software che partendo dalla nuvola di punti ordinati acquisiti mediante CMM, sia in grado di generare questo insieme di curve senza che vi sia interazione con l’operatore. In particolare le nuvole di punti acquisite tramite macchina di misura a coordinate (CMM) saranno trasferita al modulo software mediante un file in formato opportuno. Terminata l’elaborazione da parte dell’algoritmo, i set di punti rappresentanti i profili e la ‘dima’, sono resi disponibili al software CAD presente in azienda per proseguire con la successiva fase progettuale di creazione del modello solido della suola. Software che presenta la seguente architettura:

Page 98: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Curve pag.88

Algoritmidi calcolo

Interfaccia Utente

DatiProfili

CMM

Punti curve

Dati Dima

CAD

Figura 3-3: Architettura software

In particolare, in questo lavoro lo sforzo si è concentrato sullo sviluppo degli algoritmi di calcolo necessari per la corrtta ricostruiolnì dei vari profili di progetto.

3.1 Formulazione generale del problema

Il dato iniziale è costituito da un insieme ordinato di punti tridimensionali (Figura 3-4) (Figura 3-5) acquisiti mediante CMM. Punti che devono essere connessi opportunamente in modo da ricreare la forma della curva originale. Dato che la forma di questa difficilmente è riconducibile ad un’equazione analitica, sarà necessario utilizzare delle funzioni spline. Queste potranno essere sia interpolanti che approssimanti, poiché le tolleranze presenti consentono di considerare i punti acquisiti come punti deterministici.

Page 99: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Curve pag.89

Figura 3-4: Set di punti iniziali modello Caracas (Cortesia Finproject S.p.A.)

Figura 3-5: Set iniziale punti Profilo Caracas (Cortesia Finproject S.p.A.)

Page 100: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Curve pag.90

B-spline interpolante di grado = 3B-spline interpolante di grado = 3 Figura 3-6: Profilo cefeo ricostruito mediante curva b-spline di grado tre.

Il problema principale che sorge una volta ricostruita questa curva è la presenza di microvariabilità che portano alla formazione di ondulazioni indesiderate.(Figura 3-7)

Figura 3-7: Ondulazioni presenti sul profilo iniziale.

Per poter rilevare e rimuovere queste irregolarità è stata sviluppata una procedura di fairing ovvero di ammorbidimento della curva. quest’ultima è reiterata sino a

Page 101: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Curve pag.91

che una particolare condizione di stop si verifica. In modo da ottenere un insieme di curve prive di ondulazioni (Figura 3-8).

Figura 3-8: Curve di progettazione finali.

3.2 Formulazione matematica del problema

Da un punto di vista matematico il problema di ricostruire e migliorare una curva è stato impostato nel seguente modo: Dato un set di punti ordinato acquisito mediante macchina di misura a coordinate o altro sistema di digitalizzazione Qi ∈ Rd (i=0,...,n) d=2,3..., scegliere un modello di curva che data la natura ‘libera’ della forma dei profili, possiamo assumere in forma parametrica

( ) ),,( tP knft =

dipendente dal numero di punti n dal grado e dall’eventuale distribuzione dei nodi in modo tale che

• Per una data parametrizzazione t = (t0,...,tn) P(t) sia tale che:

( ) iit PP = oppure:

Page 102: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Curve pag.92

• Trovare la curva che meglio approssima i punti dati secondo una data norma. Misurando la distanza in corrispondenza dei nodi ti, questo si traduce in una delle seguenti condizioni:

( )uunutPP −

≤≤0max

( )( )tutnu

PP −≤≤≤≤ 100

minmax

In entrambi i casi si tratta di scegliere i parametri o la posizione dei punti di controllo in modo opportuno. Dato che la curva ricostruita deve rispondere a caratteristiche di forma ben precise, come detto in precedenza non devono essere presenti ondulazioni indesiderate la scelta dei parametri dovrà essere condotto in modo tale da minimizzare una funzione di costo J che misura il grado di fairness della curva. Funzione che deve necessariamente essere espressa in forma quantitativa. Inoltre, sarà necessario esprimere un vincolo sulla forma finale della curva che non dovrà scostarsi eccessivamente da quella iniziale.

3.3 Obiettivi del lavoro Questo lavoro si inserisce nell’ambito dei sistemi per la ricostruzione di curve e superfici assistita dal calcolatore ed affronta in particolare la ricostruzione di profili acquisiti mediante macchina di misura a coordinate. La ricostruzione di un profilo comprende la costruzione di una prima curva interpolante il set di punti iniziali, la presenza di innacuratezze all’interno di questi rende necessaria una successiva fase di ammorbidimento di detta curva tramite una procedura di fairing. Obiettivo di questo lavoro é, quindi, quello di analizzare, sintetizzare, formalizzare e verificare questo problema. Durante la fase di analisi si é cercato di vagliare gli strumenti matematici presenti in letteratura per la rappresentazione di curve con una forma libera e quindi non esprimibile mediante equazioni analitiche e di scoprire l’esistenza di metodologie di uso comune al fine di ricostruire profili fair. L’analisi della letteratura pubblicata su quest’ultimo argomento, ha permesso di mettere in luce l’esistenza di due approcci alla soluzione del problema uno globale ed uno locale. L’approccio globale realizza la rimozione delle inaccuratezze cercando di definire direttamente durante il processo di interpolazione o approssimazione, la distribuzione ottima dei parametri del modello in funzione di un dato criterio. Questi metodi, però, portano alla definizione di modelli con vincoli non-lineari di non facile soluzione.

Page 103: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Curve pag.93

L’approccio locale di contro separa la fase di costruzione della curva dalla fase di fairing, ovvero scelto il modello di curva da utilizzare si modificano unicamente le proprietà geometriche locali di alcuni punti, in modo tale da minimizzare una data funzione obiettivo che eventualmente tiene in considerazioni di eventuali vincoli progettuali. Si é, quindi, posto il problema di arrivare alla messa a punto di una metodologia generale, semplice, gestibile da un calcolatore, per ricostruire, a partire dal set di punti iniziali una curva fair. Si è trattato, quindi, di elaborare delle informazioni di carattere geometrico, al fine di arrivare alla sua definizione. Si è così messa a punto una procedura, il più possibile generale. Si é infine posto il problema di tradurre, in termini quanto più possibile indipendenti dall’operatore umano, la metodologia individuata precedentemente. Durante la fase di formalizzazione si sono, quindi, cercati dapprima gli strumenti più adatti a rendere automaticamente eseguibile tale metodologia (tali strumenti sono descritti nel corso del prossimo capitolo) per poi giungere ad una loro applicazione in un software adeguato. La fase finale di verifica ha avuto come obiettivo quello di testare il software sviluppato su una serie di curve campione, a complicanza crescente. Il risultato di tale lavoro, nonché obiettivo ultimo di questa tesi, é stato quindi lo sviluppo di un software. Occorre sottolineare che l’importanza di tale lavoro risiede soprattutto nello sforzo di definire una metodologia automatica generale per la ricostruzione di profili.

Page 104: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

94

Capitolo 4

Fairing di curve

Il processo di fairing consiste nel rilevare e rimuovere le irregolarità causate da piccole innacuratezza nella posizione dei punti di misura. Infatti, sebbene un sistema di digitalizzazione tridimensionale a contatto o non contatto possa fornire dati molto accurati, errori legati alla procedura di misura, ad interferenze esterne come ad esempio vibrazioni o legati a fenomeni di riflessione, sono inevitabili [Var97]. Questi errori influenzano la successiva fase di progettazione, in quanto portano alla ricostruzione di una prima forma con presenti ondulazioni indesiderate che devono essere rimosse, e questo costituisce un dispendio di risorse notevole. Attualmente, infatti, il processo è fortemente basato sull’esperienza del progettista che identifica le regioni in cui queste irregolarità sono presenti, e le corregge andando a modificare la posizione dei punti di controllo della curva esaminata. Un metodo interattivo è stato proposta da Renz [Ren82] dove l’operatore dopo aver identificato le zone da correggere le modifica in modo tale che il diagramma delle derivate prime e seconde migliori. Quindi è un processo legato all’esperienza del singolo operatore che procede per correzioni successive e che richiede un notevole impegno di tempo, soprattutto se il set di punti è particolarmente denso. Recentemente i lavori di ricerca si sono focalizzati sullo sviluppo di algoritmi di fairing automatici. In letteratura sono stati presentati due approcci per la soluzione di questo problema: globale e locale. L’approccio globale realizza la rimozione delle inaccuratezze cercando di definire direttamente durante il processo di interpolazione o approssimazione, la distribuzione ottima dei parametri del modello in funzione di un dato criterio. Questi metodi , però, portano alla definizione di modelli con vincoli non-lineari di non facile soluzione. [Hos69], [Mar84], [Hos88], [Rog89], [Now90], [Sar91], [Hag92], [Fol94], [Spee98]. L’approccio locale di contro separa la fase di costruzione della curva dalla fase di fairing, ovvero scelto il modello di curva da utilizzare si modificano unicamente le proprietà geometriche locali di alcuni punti, in modo tale da minimizzare una data funzione obiettivo che eventualmente tiene in considerazioni di eventuali vincoli progettuali.

Page 105: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Fairing di curve pag.95

A sua volta il processo locale di fairing può essere interattivo o automatico. Il fairing locale interattivo è analogo a quanto detto prima, ed è una metodologia completamente incompatibile con una qualsiasi forma di automazione del processo di progettazione computer-aided. Il fairing locale automatico è stato oggetto di interessanti e recenti studi. Sapidis e Farin [Far90] hanno sviluppato un algoritmo per la ricostruzione automatica di curve B-spline di ordine quattro. Innanzitutto costruiscono la curva spline in B-form, scegliendo a priori sia l’ordine che la distribuzione dei parametri. Dopodichè, propongono, per ottenere una curva più ‘fair’ di spostare i singoli punti di controllo in modo tale da minimizzare un funzionale che tiene conto delle variazioni di curvatura nell’intorno dei singoli punti. Nel loro lavoro [Eck95a] gli autori propongono un interessante algoritmo per il fairing di curve B-spline di ordine qualsiasi. Basandosi sul lavoro di Farinf e Sapidis [Far90] propongono di cambiare ad ogni step la posizione di un punto di controllo della curva in modo tale che la nuova curva minimizzi l’integrale della derivata l-esima elevato al quadrato della curva B-spline, tenendo in considerazione della presenza o meno di un eventuale vincolo sulla posizione della curva, l’algoritmo però non è completamente automatico, infatti l’opratore deve decidere a priori il numeor di iterazioni che questo deve fare. Pigounakis e Kaklis [Pig96] propongono un algoritmo per il fairing automatico di curve B-spline planari nel caso in cui siano presenti contemporaneamente un vincolo di preservarne la convessità, un vincolo di tolleranza locale sulla posizione dei punti e delle condizioni agli estremi della curva. L’algoritmo è suddiviso in due stadi dapprima mediante un approccio di tipo globale perturbano il poligono di controllo in modo tale da ottenere una curva che soddisfa i vincoli imposti, andando a risolvere un problema di programmazione nonlineare, poi mediante un approccio locale modificano i punti di controllo della curva al fine di minimizzare le variazioni di curvatura, utilizzando l’algoritmo di Farin e Sapidis [Far90]. Nel suo lavoro [Pol96] Janet Poliakoff presenta un algoritmo per il fairing automatico di curve B-spline cubiche. Algoritmo che è un estensione del metodo sviluppato da Kjellander [Kie83] al caso in cui i nodi della curva scelta non siano distribuiti uniformemente. Nel successivo [Pol99], l’autrice et al. migliorano ulteriormente l’algoritmo introducendo un nuovo indicatore per la valutazione di quali punti modificare basato anch’esso sulla minimizzazione della variazione di curvatura, ma che è indipendente da eventuali fattori di scala presenti nel modello. E utilizzano un impostazione algoritmica introdotta da Ding in [Din87], ovvero suddividono la procedura di fairing in due passi successivi denominati rispettivamente rough and finish fairing. Durante la prima fase si ha una correzione di tutti i punti che presentano ai loro lati due punti di inflessione. Questa correzione iniziale permette a velocizzare il processo. Dopodiché, modifica i vari punti della curva in modo da minimizzare il funzionale precedentemente introdotto. Infine, propongono un nuovo criterio per decidere quando terminare il processo: quattro valori consecutivi dell’indicatore utilizzato per valutare la curva vengono esaminati se il

Page 106: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Fairing di curve pag.96

rapporto tra il minimo ed il massimo valore di questa serie è maggiore di una tolleranza fissata τ il processo a termine. J. Ye e R. Qu in [Ye99] partendo dal presupposto che migliorare un profilo significa ottimizzare un funzionale che descrive la qualità della curva, e che può essere basato sul quadrato della derivata del secondo ordine della curva, sulla curvatura, o su derivate di ordine superiore, propongono il criterio della minima energia elastica. L’energia totale di una trave elastica di lunghezza l è proporzionale all’integrale del quadrato della curvatura misurato lungo la trave stessa. Tuttavia, il funzionale che esprime l’energia esatta è complicato e, di conseguenza, tale metodo è operativamente dispendioso e richiede molto tempo. Si utilizzano quindi funzionali approssimanti. In questo lavoro gli autori propongono di minimizzare un funzionale composito che tiene conto sia dell’energia associata alla curva sia un termine che tiene conto dell’eventuale necessità di controllare la distanza tra punto originale e punto modificato. Il punto da modificare, individuato attraverso l’analisi del grafico della curvatura, viene trasportato in una posizione che permetta una riduzione del valore dell’energia, calcolato secondo il funzionale di cui sopra. Il metodo proposto però non è un metodo automatico ed è applicabile solo alle spline di Fergusson. In [Zha01] gli autori propongono un metodo per realizzare il fairing automatico di curve spline e B-spline cubiche basato sulla minimizzazione dell’energia. Questo metodo tiene anche conto del fatto che durante il processo di fairing vi possono essere delle variazioni di forma eccessive. Ad esempio se fosse necessario ammorbidire tutti i punti della curva questo potrebbe portare alla generazione di una curva degenere come ad esempio una retta. Per sorpassare tale problema, gli autori definiscono per ogni punto, una regione entro la quale deve giacere il nuovo punto, in modo tale che questo non si muova eccessivamente rispetto all’originale. Questa regione che indicano con Ri e definita restraining region, è di forma circolare con raggio definito opportunamente. Quindi valutano ogni punto della curva mediante un indicatore locale basato sulla variazione della derivata terza nel suo intorno. Valutano l’energia della nuova curva e se non è diminuita terminano il processo di fairing. [Liu02], gli autori presentano un algoritmo basato sulla D-curvature (curvatura discreta). Ovvero non propongono alcun modello di curva e stimano un valore di curvatura per ogni punto basandosi su informazioni geometriche ricavabili dai singoli punti. L’algoritmo presentato è un processo continuo in cui ciascun ciclo consiste di due stadi successivi rough e fine. In ciascun ciclo i punti considerati “scomodi” vengono individuati attraverso l’analisi delle proprietà della curvatura discreta e della differenza del primo ordine della stessa in due. Questi poi sono archiviati come “punti scomodi singoli” (SBP) o “punti scomodi multipli” (MBP),

Page 107: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Fairing di curve pag.97

a seconda che rappresentino delle eccezioni inserite in una successione di punti che soddisfano alle caratteristiche di fairness, oppure si trovino all’interno di una serie di punti da correggere. Tale correzione viene poi eseguita muovendo il punto in una posizione ritenuta migliore sulla base di considerazioni energetiche. In particolare, riprendendo la funzione energia per set di punti discreti proposta da Su e Liu [Su89] , muovendo il punto nella nuova posizione si tende a ridurre il livello di energia dello stesso così come il livello di energia globale della curva. Il numero delle correzioni in ciascun ciclo è mantenuto minore di una data tolleranza di forma. Però, il metodo è applicabile solo a set di punti densi e non a curve.

4.1 Formulazione generale del problema

In generale possiamo formulare il problema di migliorare una curva da un punto di vista matematico nel seguente modo: Dato un set di punti ordinato acquisito mediante macchina di misura a coordinate o altro sistema di digitalizzazione Qi ∈ Rd (i=0,...,n) d=2,3..., generare una curva B-spline

( ) ( ) ),,(0

, tPP knftNtn

iiki == ∑

=

dove: k: è l’ordine della spline, t è il vettore dei nodi e Ni,k sono le funzioni di base,

• Trovare per una data parametrizzazione t = (t0,...,tn) una funzione P(t) tale che:

( ) iit PP =

oppure:

• Trovare la curva che meglio approssima i punti dati secondo una data norma. Misurando la distanza in corrispondenza dei nodi ti, questo si traduce in una delle seguenti condizioni:

( )uunutPP −

≤≤0max

Page 108: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Fairing di curve pag.98

( )( )tutnuPP −

≤≤≤≤ 100minmax

In entrambi i casi si dovranno scegliere i parametri o la posizione dei punti di controllo in modo tale da minimizzare un funzione di costo che misura il grado di fairness della curva. Funzione che deve necessariamente essere espressa in forma analitica e che deve tener conto di eventuali vincoli di forma presenti sulla curva e che descriveremo nel prossimo paragrafo. Il tutto realizzato in modo automatico senza che vi sia interazione tra operatore. Quindi, in generale, si può dire che, una volta scelto il modello di curva da utilizzare, e il funzionale di fairness che si vuole minimizzare le informazioni necessarie per realizzare un processo di fairing automatico sono:

i. Quale punto/i devono essere ‘ammorbiditi’.

ii. Come modificare il punto/i in modo da eliminare questo andamento non voluto.

iii. Quando l’algoritmo si deve fermare.

4.2 Funzione di costo: indicatori di fairness

La scelta della funzione di costo che si vuole minimizzare e strettamente correlato con la definizione di curva fair, attualmente in letteratura sono presenti ed accettate due differenti criteri per definire quando una curva è fair e precisamente:

C1. Una curva (spline) si dice essere fair se minimizza l’integrale della sua curvatura elevata al quadrato k2(s) rispetto alla lunghezza cordale. [Meh74]

C2. Una curva spline si dice essere fair se il grafico della sua curvatura k(t) è

continuo, ha il segno corretto ed è il più vicino possibile a quello di una funzione continua con il minor numero possibile di tratti monotoni [Far90].

Questi due criteri in teoria non sono applicabili a curve polinomiali a pezzi in quanto portano a dover risolvere un problema non lineare attraverso il quale non si riesce a trovare alcuna soluzione esatta. Inoltre, per ottenere delle soluzioni

Page 109: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Fairing di curve pag.99

approssimate è necessario implementare strumenti numerici molto onerosi in termini di tempo computazionale [Mor93]. Quindi negli algoritmi di fairing implementati in letteratura il criterio C1 viene linearizzato assumendo che il parametro attuale t della spline x approssimi l’ascissa curvilinea relativa. Quindi viene minimizzato l’integrale:

( )( ) dttxEb

a

2

2 ''∫=

La soluzione di questo, se come nel caso delle curve spline si è in uno spazio lineare, è semplice. Il criterio C2 è correlato all’andamento della curvatura: se questa cresce o decresce monotonicamente la forma è considerata buona. Invece, si ha una indicazione negativa se una curva presenta ampie e frequenti variazioni del modulo. Si ricorda che per una curva parametrica s(t) la curvatura è definita come:

3)(||/||)()( tttk(t) sss ×=

Nel caso di curve planari è possibile associare anche un segno alla curvatura. In questi casi è possibile utilizzare il plot della curvatura per mostrare come questa varia, alcuni autori la utilizzano per procedure di fairing interattive. Questo tipo di indicatore può essere utilizzato unicamente per metodi di fairing iterativi. Per procedure automatiche è necessario adottare un criterio analitico che sia efficiente quantificabile e che richieda un tempo computazionalmente ragionevole. In letteratura sono stati quindi sviluppati dei criteri che valutano la variazione delle derivate l-esima della curvatura nell’intorno del punto e minimizzano il funzionale dato dalla sommatoria di questi indicatori locali. Andremo ora ad analizzare la formulazione di questi indicatori. Innanzitutto vedremo un indicatore di tipo qualitativo: il grafico della curvatura, poi andremo ad analizzare i metodi analitici proposti in letteratura.

4.2.1 Indicatori di fairness qualitativi Il criterio secondo il quale la qualità (fairness) di una curva sia strettamente correlata all’andamento della sua curvatura lungo la linea stessa, è un criterio ormai ritenuto di validità generale. Grandi e frequenti fluttuazioni nella curvatura

Page 110: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Fairing di curve pag.100

sono generalmente considerati cattivi indicatori, mentre un grafico della curvatura che cresce o decresce in modo monotono è più accettabile. Quando la curvatura non presenta variazioni si ha un cerchio perfetto o un arco di cerchio, che possono essere considerati curve ideali, sebbene di limitato interesse pratico. Altre semplici curve matematiche come ellissi, parabole, seni ed esponenziali presentano curvature che variano in modo continuo lungo la curva con cambiamenti nella monotonicità dovuti principalmente alla simmetria o alla periodicità. La Figura 4-1 mostra il grafico di un cerchio (in blu), e la relativa curvatura, in verde, all’esterno. La Figura 4-2 rappresenta la funzione seno: in blu è visualizzata la curva, in verde la sua curvatura.

Figura 4-1: Grafico della curvatura di un cerchio.

y

x

Page 111: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Fairing di curve pag.101

Figura 4-2: Grafico della curvatura della funzione seno(x).

La curvatura k(t) di una curva è data dalla formula seguente:

3)(||/||)()()( ttttk sss ×= che, nella proiezione planare diventa:

2/322 ))()(()()()()()(

tytxtxtytytxtk

+−

=

Dove s è l’ascissa curvilinea, mentre x ed y sono le due componenti della curva nel piano. Inoltre, avendo eliminato il valore assoluto dal numeratore, si è ottenuta la curvatura con segno, la quale permette di valutare i cambiamenti di segno della curvatura e quindi i punti di flessione. Tale grafico può essere riportato nel piano cartesiano, dove in ascissa si avranno i punti della curva ed in ordinata i rispettivi valori della curvatura, come illustrato nella Figura 4-3. Oppure lungo il profilo della curva stessa, dove la distanza del grafico dalla curva è proporzionale al valore di k(t), come illustrato nella Figura 4-4 dove la freccia indica il verso di proiezione della curvatura, cioè all’esterno del profilo e gli asterischi mostrano i punti di controllo che definiscono la curva B-spline.

x

Sen (x)

Page 112: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Fairing di curve pag.102

Figura 4-3: Grafico della curvatura. In ascissa si hanno i valori corrispondenti ai

punti. In ordinata i corrispondenti valori della curvatura.

Figura 4-4: Grafico della curvatura sul profilo di una curva B-spline.

punti

k (t)

x

y

Page 113: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Fairing di curve pag.103

Nel caso di rappresentazione della curvatura lungo il profilo della curva, la posizione del punto sarà funzione della direzione e del verso del vettore normale alla curva in quel punto e più precisamente: il vettore congiungente il punto della curva al corrispondente punto rappresentante la curvatura avrà verso opposto a quello della normale e distanza proporzionale al valore della curvatura. E’ bene aprire una parentesi riguardo a questo aspetto, ed in particolare sul vettore normale e la sua formulazione matematica. Il vettore normale principale in un punto pi su una curva è normale alla curva e deve quindi giacere nel piano normale3. Esso è il vettore normale, la cui direzione coincide con quella di rotazione della curva e il cui verso è rivolto verso il centro di curvatura. Il problema è trovare questo vettore data una curva espressa in forma parametrica. Dalla Figura 4-5si deduce che mentre ci spostiamo di una distanza infinitesima lungo la curva in ip , il vettore tangente u

ip oscilla in una direzione definita uuip .

Da queste oscillazioni si individua un piano, chiamato piano osculatore. Si ricava che il con il piano normale. Cosi, se si riesce a trovare un vettore normale a u

ip e giacente nel piano vettore normale principale giace sull’intersezione di questo piano di u

ip e uuip si otterrà il 90% della soluzione.

Si procede come segue. E’ noto dalla geometria vettoriale elementare che la proiezione di uu

ip su uip è data dal seguente prodotto scalare:

lunghezza della proiezione di uuip in u

ip =

ui

uiuu

i ppp

ed anche che la retta di proiezione lm (figura 3.15b) è normale a u

ip . Utilizzando questa lunghezza, che è uno scalare, si costruisce il vettore lungo Ol, moltiplicando il vettore unitario u

iui pp / per la lunghezza trovata nell’equazione

precedente.

ui2u

i

ui

uui pp

pp ⋅=Ol

Si denoti poi con ki il vettore da l a m. Applicando il calcolo vettoriale si trova

3 Si chiama piano normale il piano ξ passante per il punto P(t) e ivi perpendicolare alla tangente λ alla linea regolare Γ. Sia R(x, y, z) un punto generico del piano normale: i vettori R-P e P’ (vettore tangente) debbono allora essere ortogonali, cioè deve essere nullo il loro prodotto scalare.

Page 114: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Fairing di curve pag.104

ui2u

i

ui

uuiuu

i pp

ppp ⋅−=ik

Questo rappresenta il 90% della soluzione; il rimanente 10% viene mostrato in figura 3.15c, dove il vettore unitario principale è il seguente

i

i

kk

=in

ni rappresenta la direzione nella quale verrà visualizzata la curvatura. Il verso sarà opposto, in modo che il grafico risulti, per facilità di osservazione, all’esterno del profilo.

Figura 4-5: Retta e vettore normali principali.

La visualizzazione di un grafico, che rappresenti la curvatura, è un valido strumento per valutare visivamente la qualità della curva. Infatti, questo strumento viene utilizzato nei processi di fairing interattivi, in cui l’operatore seleziona le

Page 115: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Fairing di curve pag.105

regioni della curva da modificare attraverso l’osservazione di questo grafico. Si ritiene molto utile anche in un processo automatico con la funzione di ausilio grafico nelle fasi di progettazione e verifica degli algoritmi. In questo modo, infatti, è possibile verificare l’effettiva correttezza dei risultati a cui portano gli algoritmi, controllandoli ad ogni successiva operazione. Un ulteriore criterio, consiste nella valutazione del segno della curvatura. In pratica la curva viene analizzata nella sua totalità, ed un punto viene considerato difettoso se il segno della curvatura è opposto rispetto a quello dei due punti adiacenti. Per esempio, come illustrato nella Figura 4-6 di sinistra, i segni della curvatura dei punti dati sono: “- - - - + - - - -“. Il quinto punto è considerato difettoso.

Figura 4-6: Esempio di segni “sbagliati” nella curvatura.

Volendo è possibile esprimere questo indicatore in termini analitici, considerando il punto ti e i suoi due punti adiacenti ti-1 e ti+1: se 01 <⋅− ii kk & 1+⋅ ii kk < 0, allora il punto ti deve essere modificato. Non è però possibile trarre alcuna infomazione sulla qualità totale della curva.

4.2.2 Indicatori di fairness analitici In letteratura sono stati proposti diversi indicatori analitici della fairness di una curva. Andremo ora ad analizzare gli indicatori di fairness di curve spline anche quando queste sono espresse come B-spline. In [Far90] Farin propongono di valutare una curva spline fair se il grafico della sua curvatura k(t) è continuo, ha il segno corretto ed è il più vicino possibile a quello di una funzione continua con il minor numero possibile di tratti monotoni. E sulla base di questo criterio propongono come indicatore analitico locale di fairness la seguente espressione:

Page 116: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Fairing di curve pag.106

)()( −−+= iii tdsdkt

dsdkz (1)

Dove dk/ds è la derivata della curvatura in funzione dell’ascissa curvilinea s, calcolata nell’i-esimo punto ti. Poiché la curva che interessa è espressa in forma parametrica, è necessario ricavare zi(t). Innanzitutto dttdktk /)()( = si trova in questo modo:

222/322 )()()()()()( )(3

))()(()()()()()(

tytxtytytxtxuk

tytxtytxtytxtk

++

−+

−=

successivamente

dtdstktk/

)()( =′

dove s rappresenta il vettore (x,y). E’ stato riscontrato che il calcolo si semplifica notevolmente scrivendo

)()()(

)()(

)()(

i

ii

i

i

i

ii t

tktkt

tkttk

zsss

+−−=

+−

−=

Quindi, poiché k(t) e le derivate prime e seconde di x e y sono continue in ti, i secondi termini delle espressioni nell’equazione di )(tk , per )( −itk e )( −itk sono entrambe uguali a

22 )()()()()()(

)(3ii

iiiii tytx

tytytxtxtk

++

Perciò si cancellano nella sottrazione, dando come risultato

222 ))()(())()()(())()()((

ii

iiiiiii tytx

txtxtytytytxz

+

+−−−+−−=

La strategia di fairing adottata prevede la modifica del punto che presenta il più alto valore di zi. Ed il funzionale che si propongono di minimizzare è la sommatoria di tutti questi termini calcolato tramite la seguente espressione:

Page 117: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Fairing di curve pag.107

∑=

=n

iiz

4

ξ

Tuttavia, è stato riscontrato [Pol99] che procedere nel fairing utilizzando, per valutare la fairness locale l’espressione (1) si ha una tendenza a concentrare la procedura di modifica sui punti in cui la curvatura ha valori maggiori. La regione di questo effetto risiede nel fatto che zi calcolato in questa maniera dipende dal fattore di scala. Una quantità si definisce dipendente dal fattore di scala se le sue dimensioni sono

nL , con n ≠ 0 e dove L è una distanza. Nel caso opposto, la quantità è indipendente dal fattore di scala. Se per esempio la distanza che deve essere percorsa è di dimensione 1L , questa è dipendente dalla scala ed aumenterà se la scala aumenta. Allo stesso modo un cambio nella derivata terza ha dimensioni

31 / LL , quindi 2−L , e quindi è dipendente dalla scala ma in questo caso decrescerà al crescere della scala poiché di indice negativo. L’LFI calcolato è dipendente dalla scala con indice n = -2. Se quindi prendessimo un set di punti ed aumentassimo la scala per esempio raddoppiandola, allora la forma della curva sarebbe sempre la stessa, ma il valore dell’ zi di fatto aumenterebbe di un fattore pari a 4. Per questo motivo J. Poliakoff introduce una modifica all’indicatore di fairness locale in modo tale da renderlo indipendente dal fattore di scala. Ciò è possibile dividendo la quantità precedente per k2. La nuova definizione è quindi:

2)(

)()(

i

ii

i tk

tdsdkt

dsdk

z−−+

=

Questo infatti è equivalente alla variazione in dR/ds all’i-esimo punto, dove R è il raggio di curvatura 1/k. Purtroppo anche questa scelta, sebbene intuitivamente semplice, non è soddisfacente in quanto il processo di fairing in questo caso tende a concentrarsi nelle adiacenze dei punti di flesso (dove la curvatura ha valori molto bassi). Questo effetto può essere ridotto utilizzando il massimo di tre valori di curvatura (al punto ti e nei due punti adiacenti) insieme ad un valore della curvatura proporzionale all’inverso della distanza parametrica fra i due punti adiacenti ti+1 e ti-1. Quindi, trascurando le costanti numeriche, si può definire un indicatore di fairness davvero efficiente in questo modo:

Page 118: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Fairing di curve pag.108

( )

( ))(,)(,)(max

)()(

11

11

+−

−+ −−−+=

iii

iiii

i tktktk

tttdsdkt

dsdk

z

Con questo indicatore non si hanno più problemi causati dal cambiamento di scala, e viene eliminato ogni effetto di concentrazione in zone particolari della curva. E nuovamente il funzionale che si propongono di minimizzare è la sommatoria di tutti questi termini calcolato tramite la seguente espressione:

∑=

=n

iiz

4

ξ

Sia Farin che Poliakoff non considerano alcun vincolo sulla posizione dei punti che andranno a modificare. Nel loro lavoro [Zha01] gli autori propongono come indicatore di fairness locale:

( ) ( )−+ −= iii tCtCz ''''''

Ovvero considerano che un punto avente un grosso salto nella derivata terza sia il punto da dover modificare. Scelta giustificata dal metodo utilizzato per modificare la posizione del punto.[Zha01] Mentre la funzione di costo che vogliono minimizzare è l’energia associata alla curva:

dttCE nt

t

2)(''0

∫=

Inoltre tengono in considerazione che la posizione del punto non dovrà variare oltre un certo valore misurato rispetto alla sua posizione iniziale. In [Eck95] gli autori valutano sia la minimizzazione dell’integrale della derivata seconda della curvatura, sia l’integrale della derivata terza come descritto in [Mei87] e [Hag90], soggetto alla condizione che la distanza tra punto modificato e punto originale sia inferiore ad una data tolleranza. Arrivando a consigliare l’uso del criterio che minimizza la derivata seconda in quanto più stabile al tipo di parametrizzazione e che consente di ottenere risultati migliori in meno tempo.

Page 119: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Fairing di curve pag.109

4.3 Metodi di modifica del punto I metodi proposti in letteratura per modificare la posizione del punto si possono suddividere in metodi che spostano direttamente il punto da modificare e metodi che spostano invece il corrispondente nodo. E sono stati ricavati in base alla funzione di costo adottata. Cominciamo analizzando i metodi che modificano direttamente la posizione del punto della curva, ricavati andando a minimizzare le variazioni di curvatura. Kjellander nel suo lavoro [Kje83] considera, dato un intero n, una spline cubica uniforme passante per i punti da r1 a rn. Nel caso in cui la curva deve essere modificata al punto rk con k qualunque (1 < k < n) la nuova posizione di rk è ottenuta ricercando una espressione per la variazione nella derivata terza in rk in funzione di tutti gli ri e di tutte le derivate prime ir dove ni ≤≤1 , e dove tutte le derivate sono calcolate rispetto al parametro t. Eguagliando la variazione nella derivata terza a zero ed assumendo che tutti gli altri punti e tutte le altre derivate prime siano invariate, la nuova posizione di rk , che si chiamerà rk(new), viene calcolata nel seguente modo. Si utilizzano le costanti ai,j ad indicare l’i-esimo segmento; inoltre il parametro u assume il valore ui ad ogni ri, così che u varia da ui a ui+1 all’interno dell’i-esimo segmento

∑=

−=3

0, )()(

j

jiji ttatr per 1+≤≤ ii ttt

dove ti+1 –ti = 1, poiché la parametrizzazione è uniforme. Se le condizioni al contorno sono

11 )()(

++ ==

ii

ii

rtrrtr

11 )(

)(

++ ==

ii

ii

rtrrtr

dove ‘⋅’ indica differenziazione rispetto a t, allora, utilizzando ti+1 – ti = 1, gli ai,j sono dati da

113,

112,

1,

0,

)(22)(3

++

++

++−=

−−−=

=

=

iiiii

iiiii

ii

ii

rrrrarrrra

rara

Page 120: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Fairing di curve pag.110

La variazione nella derivata terza in rk è data da

))(41)(

21(24)(6)()( 11113,13, +−+−− −−+−=−=+−− kkkkkkkkk rrrrraatrtr

quindi le due derivate terze sono uguali se rk assume il valore rk(new) dato da

)(41)(

21)( 1111 +−+− −++= kkkkk rrrrnewr

Questo espressione però non può essere utilizzato nel caso di spline cubiche non uniformi, in quanto una delle ipotesi di base, e cioè ui+1 – ui = 1 per ogni i, non è vera nel caso non uniforme. J. Poliakoff [Pol96] ha esteso questo algoritmo eliminando tale ipotesi. Mantenendo invariata la notazione utilizzata precedentemente si suppone che, dato un intero n, una spline cubica non uniformi passi per i punti da r1 a rn e ancora una volta la curva debba essere modificata al punto rk. In aggiunta, per il caso non uniforme, si suppone ora che l’incremento del parametro t tra ri e ri+1 sia ∆i e non 1. Come prima è necessario trovare un’espressione che rappresenti la variazione nella derivata terza in rk in funzione di tutti gli ri e di tutte le derivate prime ir . Quindi si eguaglia tale variazione a zero per ottenere la nuova posizione rk(new).

∑=

−=3

0, )()(

j

jiji ttaur per 1+≤≤ ii uuu

questa volta t+1 – ti = ∆i invece di 1. Se le condizioni al contorno sono

11 )()(

++ ==

ii

ii

rtrrtr

11 )(

)(

++ ==

ii

ii

rtrrtr

allora, poiché ti+1 – ti = ∆i, gli ai,j sono ora dati da

( )2

13

13,

12

12,

1,

0,

)(2

2)(3

i

ii

i

iii

i

ii

i

iii

ii

ii

rrrra

rrrra

rara

∆+

+∆−

=

∆−

−∆−

=

=

=

++

++

Page 121: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Fairing di curve pag.111

La variazione nella derivata terza in rk è data da

( )∗

−− −

+∆

=−=+−− rraatrtr kkk

kkkk 331

3,13,1112)(6)()(

dove ∗r

+∆

−∆

+

−∆

+

+∆

=

+

−+

331

221

21

21

13

13

1

1

11

1122

1

kk

kk

k

k

k

k

k

k

k

k

k rrrrr

quindi le due derivate terze sono uguali se rk assume il valore rk(new) = ∗r cioè

+∆

−∆

+

−∆

+

+∆

=

+

−+

331

221

21

21

13

13

1

1

11

1122

1

)(

kk

kk

k

k

k

k

k

k

k

k

k

k

rrrrr

newr

Questa equazione rappresenta la posizione del nuovo punto nel caso in cui i nodi della spline siano distribuiti in modo non uniforme. Zhang et al. [Zha01], si pongono invece come obiettivo quello di ottenere una curva di minima energia da cui ricavano la seguente un’espressione per trovare la nuova posizione del punto:

Sia Pi il punto da dover modificare con un nuovo punto iP Dato che iP

influenza la costruzione di dei soli tratti di curva rispettivamente )(tC i e )(1 tC i− segue che Pi può essere determinato minimizzando l’energia strai di questi due

tratti in Pi andando quindi a porre le derivate di ( )iE P rispetto a iP pari a zero:

Page 122: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Fairing di curve pag.112

( )0=

∂∂

i

iEPP

dove

( ) ( ) ( ) dttCdttCPEi

i

i

i

t

t

i

t

t

i ∫∫+

+= −

1

1

2''2''1

derivando e risolvendo l’equazione si ottiene:

( ) 111111 21

21

21

+−−−+− −−+++= iiiiiiiiiiiiiiii MhMhhMhPPP µµλλµλ

dove: Mi indica la deriva della funzione in ti

331

3 / iiii hhh += −λ

331

31 / iiii hhh += −+µ

arrivando quindi allo stesso risultato ottenuto da [Pol99]. In [Eck95] gli autori trovano la posizione del nuovo punto che indicano con rd~ in appartenente alla curva B-spline x(t) modo tale che sia minimo:

( ) ( ) ( )( ) dttdtdt

tdE n

k

n

k

t

t

lt

t l

l

rl

22

1

1

1

1

~~~∫∫

+

+

=

= xxd

con il vincolo che:

δ≤− rr dd~

minimo che trovano risolvendo la seguente equazione:

( )0~

~=

∂∂

r

rlEd

d

Page 123: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Fairing di curve pag.113

ottenendo:

∑≠=

=1

0

~ i

riii

iir dd γ

dove k: ordine della spline, n+1 numero di punti di controllo, n+k+1: numero dei nodi r: posizione del punto di controllo da modificare. E:

( )∫∫ ⋅

−= b

a

lkr

b

a

lkr

lki

idtN

dtNN2

,

,,γ

a = max{tr, tk-1} b = min{tr-k,tn+1} i0 = max{0,r-k+1} i1 = min{r-k+1,n} e tengono conto del vincolo modificando eventualmente la posizione del punto utilizzando la seguente espressione:

rr

rrrr

dddd

dd−

−+=∗

~~

~ δ

Altri metodi [Far96] sono stati sviluppati basandosi sulla possibilità di applicare in successione di un processo di rimozione di un nodo e del reiserimento dello stesso dopo opportune modifiche di miglioramento. Il metodo proposto da Farin [Far96] fa anch’esso uso di un algoritmo di inserimento e rimozione dei nodi per definire la nuova posizione del punto e fa riferimento alla curvature ed al suo grafico per la scelta di questo. In particolare, ricerca quei punti che presentano il più alto salto di discontinuità in k(t) per poi cercare di ammorbidire la curva in quelle locazioni. Si suppone che il maggior salto di discontinuità si verifichi in t = tj. La pendenza

)(' tk della curvatura è data da:

222/322 )()()()()()( )(3

))()(()()()()()(

tytxtytytxtxtk

tytxtytxtytxtk

++

−+

−=

Page 124: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Fairing di curve pag.114

dove, al solito, il punto denota la derivazione rispetto al parametro dato t. Si nota inoltre che tale formula è applicabile alle sole curve 2D. Sia il punto x(tj) quello potenzialmente errato; Farin osserva che se la curva spline fosse tre volte differenziabile, anziché solamente due, nel punto x(tj), allora la sua curvatura sarebbe differenziabile in tj. Quindi non presenterebbe una discontinuità in quel punto. Inoltre, i due segmenti cubici corrispondenti agli intervalli (tj-1, tj) e (tj, tj+1) sono ora parte di un unico segmento cubico: il nodo tj è solo uno pseudo-nodo, il quale potrebbe essere rimosso dalla sequenza dei nodi senza cambiare in questo modo la curva. Si cercherà quindi di rimuovere il “nodo difettoso” tj dalla sequenza, quindi operare l’operazione di fairing della curva in quella zona, ed alla fine reinserire il nodo cosi da mantenere la spline con lo stesso numero di intervalli di quella iniziale. Il processo di inserimento nodi è ormai noto in tutta la sua completezza dalla teoria delle curve B-spline ed è presente nella letteratura sull’argomento. La procedura di rimozione nodi, al contrario, non ha una soluzione unica. Anzi, essendo un processo che non può essere portato a termine senza cambiare la forma della curva, deve essere necessariamente interpretato come un processo approssimativo e pertanto si è prestato e si presta a diverse soluzioni. Quella presentata da Farin è una soluzione semplice ed allo stesso tempo efficiente al problema di rimozione dei nodi. Si suppone che il nodo difettoso tj sia associato al vertice dj. Il problema di rimozione del nodo viene ora riformulato nel seguente modo: in quale posizione id̂ bisogna muovere dj affinché la curva risultante diventi tre volte differenziabile in tj? Si può verificare, dopo alcuni calcoli (eguagliando le derivate terze destra e sinistra della nuova curva), che il nuovo vertice id̂ è dato da:

22

22 )()(ˆ−+

−+

−+−=

jj

jjjjjjj tt

rttlttd

dove i punti ausiliari lj e rj sono dati da:

3

21131 )()(

−+−−+

−−−=

jj

jjjjjjj tt

dttdttl

e

jj

jjjjjjj tt

dttdttr

−−−=

+

+−+−+

3

21113 )()(

La Figura 4-7 illustra il meccanismo di modifica:

Page 125: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Fairing di curve pag.115

P(i)

Figura 4-7: Rimozione del nodo. Curva iniziale

P(i)lj rj

Figura 4-8: Punti ausiliari

P(i)

Figura 4-9: Forma finale

La curva ammorbidita differisce ora dall’originale nella parte compresa tra x(tj-2) e x(tj+2). Per questa ragione si può affermare che il processo ha effetto locale sulla curva. Ad esempio si consideri un cerchio di raggio 104. Visualizzando una piccola parte di questo cerchio, ed in particolare un arco formato da 22 punti di controllo, si ottiene una curva che si approssima abbastanza bene ad una retta (Figura 4-10).

Page 126: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Fairing di curve pag.116

Figura 4-10:Grafico di un arco di cerchio di raggio 10e4. Gli asterischi

rappresentano i punti di controllo, i cerchi sono i nodi. Si è fatto uso di una parametrizzazione cordale

Se si perturbano alcuni punti di controllo, variandone le coordinate cartesiane, è possibile valutare la nuova condizione della curva, sia attraverso il grafico della nuova curva così ottenuta, sia attraverso il grafico della curvatura, il quale evidenzia chiaramente quali punti siano stati perturbati e l’effetto conseguente a tale variazione. Di seguito vengono riportate la retta perturbata, i due grafici della curvatura, prima e dopo la modifica, e la tabella con i punti della curva, anch’essa riportante i dati prima dell’operazione e dopo la modifica dei punti 5, 9 e 14. (nella tabella x, y e z sono le coordinate della curva originale, x’, y’, z’ le coordinate della curva dopo le perturbazioni).

x

y

Page 127: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Fairing di curve pag.117

Figura 4-11: Grafico della curva perturbata nei punti 5, 9 e 14

Figura 4-12: Grafico della curvatura della retta originale.

x

y

punti

k(t)

Page 128: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Fairing di curve pag.118

Figura 4-13: Grafico della curvatura della retta dopo le perturbazioni

punto x y x’ y’ 1 5.0770 3.7017 5.0770 3.7017 2 5.0523 3.7356 5.0523 3.7356 3 5.0147 3.7859 5.0147 3.7859 4 4.9638 3.8524 4.9638 3.8524 5 4.9250 3.9019 4.9000 3.9000 6 4.8856 3.9508 4.8856 3.9508 7 4.8460 3.9996 4.8460 3.9996 8 4.8056 4.0477 4.8056 4.0477 9 4.7650 4.0957 4.7000 4.1000 10 4.7237 4.1430 4.7237 4.1430 11 4.6822 4.1902 4.6822 4.1902 12 4.6400 4.2367 4.6400 4.2367 13 4.5974 4.2830 4.5974 4.2830 14 4.5544 4.3287 4.5000 4.3000 15 4.5109 4.3740 4.5109 4.3740 16 4.4669 4.4189 4.4669 4.4189 17 4.4225 4.4634 4.4225 4.4634 18 4.3776 4.5074 4.3776 4.5074 19 4.3323 4.5509 4.3323 4.5509 20 4.2713 4.6083 4.2713 4.6083 21 4.2251 4.6509 4.2251 4.6509 22 4.1938 4.6787 4.1938 4.6787

Tabella 4-1: Coordinate dei punti della curva prima e dopo le modifiche.

Di seguito vengono mostrati i grafici della curva passo dopo passo, dove è possibile osservare come l’algoritmo vada ad aggiustare le regioni deformate. Il numero di iterazioni totali operate dal processo è pari a 3. Vengono riportati i grafici degli step numero 1, 2 e 3.

punti

k(t)

Page 129: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Fairing di curve pag.119

Figura 4-14Grafico della curva dopo la prima iteraz. del processo di fairing

Figura 4-15Grafico della curva dopo 2 iterazioni del processo di fairing.

x

y

x

y

Page 130: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Fairing di curve pag.120

Figura 4-16: Grafico della curva dopo 3 iterazioni del processo di fairing

Ed infine si riporta il grafico della curvatura alla fine del processo di fairing, cioè dopo le 6 iterazioni:

Figura 4-17:Grafico della curvatura alla fine del processo di fairing

x

y

punti

k(t)

Page 131: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Fairing di curve pag.121

4.3.1 Esempio Metodo Poliakoff A questo stesso esempio abbiamo applicato il metodo sviluppato in [Pol99], ottenendo i seguenti risultati: dopo tre iterazioni la curva è tornata ad assumere la sua forma originale, come si può vedere dalle seguenti tre figure:

Figura 4-18: Grafico della curva dopo la prima iterazione.

Page 132: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Fairing di curve pag.122

Figura 4-19: Grafico curva dopo 2 iterazioni

Figura 4-20: Grafico curva dopo 3 iterazioni.

Page 133: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Fairing di curve pag.123

Questo semplice esempio mostra come il metodo sviluppato in [Pol99] sia più efficiente

4.4 Criteri per terminare il processo di Fairing

Una volta definiti gli strumenti analitici per l’individuazione dei punti da modificare ed il metodo di modifica degli stessi, al fine di poter creare un’efficace e completo processo di fairing automatico, è necessario introdurre un indicatore analitico capace di valutare la forma della curva nella sua globalità. Al fine di decidere quando terminare il processo di fairing Sapidis e Farin [Far90] introdussero un indicatore di fairness globale (da loro indicato con ζs, che da ora in poi verrà indicato con GFI) calcolato come somma di tutti gli LFIi per valutare la forma della curva:

∑=i

iLFIGFI

L’effetto dell’operazione di fairing nel punto che presenta il più alto valore di LFI è generalmente quello di diminuire il valore del GFI. Il criterio quindi consiste nel ricercare il punto con tali caratteristiche ed operare lì la modifica. Gli autori suggeriscono che il processo debba continuare fino a quando il valore del GFI raggiunge un minimo, stabilito secondo una tolleranza predefinita. A quel punto non si dovrebbero più effettuare iterazioni. In [Pol99] gli autori elaborano una procedura automatica basata sull’analisi del valore del GFI introdotto da Farin. Però dopo aver provato che questo criterio, spesso conduce ad una terminazione prematura del processo. Propongono un nuovo criterio che esamina quattro valori consecutivi di GFI e pone fine al processo quando il rapporto tra il minimo ed il massimo valore di questa serie è maggiore di una tolleranza fissata τ.

4.5 Algoritmi per la ricostruzione automatica di curve fair.

Si andranno ora a descrivere gli algoritmi di Fairing automatico presenti in letteratura applicabili a curve B-spline di ordine quattro. Queste procedure sono state implementate ed utilizzate per eseguire il confronto con il metodo proposto.

Page 134: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Fairing di curve pag.124

4.5.1 Algoritmo di Farin- Sapidis: Nel loro lavoro [Far90] gli autori propongono un metodo per il fairing automatico applicabile a curve B-spline cubiche e planari. Come abbiamo precedentemente detto tale algoritmo è basato sul criterio di fairing C2. In particolare ricordiamo come essi introducano un indicatore di fairness locale (zi) definito come l’ampiezza nella variazione della k in corrispondenza del i-esimo punto. Quindi se k è la curvatura e la derivo rispetto alla lunghezza cordale si ottiene:

( ) ( )..

+− −= iii tktkz (2)

se questo valore è piccolo in corrispondenza del nodo ti allora nel suo intorno sono presenti pochi pezzi di curvatura monotoni. Questo valore, che varierà da punto a punto costituisce l’indicatore da utilizzare per determinare quale è il punto da dover modificare, e più precisamente si sceglierà il punto avente il valore di zi più elevato. Inoltre, gli autori indicano nella sommatoria di questi valori

∑=

=n

iiz

4

ξ (3)

Una misura ragionevole per controllare il numero totale di pezzi di curvatura monotoni presenti sulla curva, e quindi la qualità della stessa. Per stabilire in quale posizione spostare il punto potenzialmente sbagliato osservano che se una curva spline cubica è tre volte differenziabile in un punto tj allora il valore di zj è pari a zero. Quindi, il punto potenzialmente sbagliato P(i) viene spostato nella nuova posizione P(i) ottenuta eguagliando la derivata terza a destra e a sinistra del punto ed è data da:

22

22 )()(

−+

−+

−−+−

=ii

iiiiiii tt

tttt rlP (4)

dove i punti ausiliari li e ri sono dati da:

Page 135: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Fairing di curve pag.125

3

21131 )()(

−+−−+

−−−−

=ii

iiiiiii tt

tttt PPl (6)

ii

iiiiiii tt

tttt−

−−−=

+

+−+−+

3

21113 )()( PPr (7)

Questi passi costituiscono l’algoritmo di fairing automatico proposto dagli autori. Algoritmo che termina nel momento in cui la nuova curva, ottenuta presenta una qualità inferiore alla precedente.

Calcolare zi per 4 ≤ i ≤ n

Calcolare ξ

Si trovi il punto avente zi = max{ zi ; 4 ≤ i ≤ n }

Si calcoli la nuova posizione di P

Calcolare ξnew

ξnew> ξ

End

Start

si

no

Calcolare zi per 4 ≤ i ≤ n

Calcolare ξ

Si trovi il punto avente zi = max{ zi ; 4 ≤ i ≤ n }

Si calcoli la nuova posizione di P

Calcolare ξnew

ξnew> ξ

End

Start

si

no

Figura 4-21: Algoritmo di fairing automatico di Farin-Sapidis.

Page 136: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Fairing di curve pag.126

4.5.2 Algoritmo di J. Poliakoff et al. Gli autori nel loro lavoro utilizzano un impostazione algoritmica introdotta da Ding in [Din87], al fine di velocizzare il processo suddividono la procedura di fairing in due stadi successivi denominati rispettivamente rough and finish fairing. Durante la fase di rough fairing si selezionano i punti per i quali la curvatura è di segno opposto rispetto a quella dei due punti adiacenti. Quindi si vanno a correggere inizialmente le posizioni di qui punti che presentano ai loro lati due punti di inflessione. Al termine di questa fase a inizio la procedura di finish fairing dove sulla base dell’indicatore zi introdotto si scelgono i punti da modificare e se ne varia la posizione utilizzando il metodo descritto precedentemente. Al fine di determinare quando fermare il processo, gli autori che si basano su una funzione di costo analoga a quelle di [Far90] fanno notare come il metodo seguito da Farin e Sapidis porti ad una prematura interruzione dell’algoritmo. Propongono quindi di esaminare quattro valori consecutivi del parametro ζ e di terminare quando il rapporto tra il minimo ed il massimo dei quattro valori è maggiore di una tolleranza imposta.

Rough fairing

K = 1

end

K > 4

Select the point with LFI max.

Fairing

Calculate LFIi, GFIJ+K

Rank points in LFIi descending order

Calculate LFIi and GFIJ

K = K+1

J = 0

J = J+K

τ>+

+

KJ

KJ

GFIGFI

maxmin

no

no

yes

yes

Rough fairing

K = 1

end

K > 4

Select the point with LFI max.

Fairing

Calculate LFIi, GFIJ+K

Rank points in LFIi descending order

Calculate LFIi and GFIJ

K = K+1

J = 0

J = J+K

τ>+

+

KJ

KJ

GFIGFI

maxmin

Rough fairing

K = 1

end

K > 4

Select the point with LFI max.

Fairing

Calculate LFIi, GFIJ+K

Rank points in LFIi descending order

Calculate LFIi and GFIJ

K = K+1

J = 0

J = J+K

τ>+

+

KJ

KJ

GFIGFI

maxmin

τ>+

+

KJ

KJ

GFIGFI

maxmin

no

no

yes

yes

Figura 4-22: Algoritmo di fairing proposto da J.Poliakoff et al.

Page 137: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Fairing di curve pag.127

4.5.3 Algoritmo di Zhang et al. Nel loro lavoro gli autori propongono un metodo per realizzare il fairing automatico di curve spline cubiche basato sul criterio di fairness C1: minimizzazione dell’energia. Questo metodo a differenza degli altri tiene anche conto del fatto che durante il processo di fairing vi possono essere delle variazioni di forma eccessive. Ad esempio se fosse necessario ammorbidire tutti i punti della curva questo potrebbe portare alla generazione di una curva degenere come ad esempio una retta. Per sorpassare tale problema, gli autori definiscono per ogni punto, una regione entro la quale deve giacere il nuovo punto, in modo tale che questo non si muova eccessivamente rispetto all’originale. Questa regione che indicano con Ri e definita restraining region, è di forma circolare con raggio definito opportunamente. Quindi determinano ogni punto della curva mediante un indicatore locale che valuta la variazione della derivata terza nell’intorno del punto:

( ) ( )−+ −= iii tCtCz '''''' Dopodiché modificano quello avente questo valore massimo, calcolando la nuova posizione mediante l’equazione: se questo spostamento e tale che il nuovo punto dista dall’originale un valore maggiore del raggio che definisce la restraining region sostituiscono il punto con quello ottenuto intersecando la retta che congiunge i due punti con la circonferenza di raggio Ri. Costruiscono la curva che interpola i nuovi punti e ne valutano l’energia

dttCE nt

t

2)(''0

∫= se questo valore è lo stesso di quello precedente o compreso

entro un certo all’interno di un dato intervallo, l’algoritmo termina.

Page 138: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

128

Capitolo 5

L’approccio proposto

Questo lavoro si inserisce nell’ambito dei sistemi per la ricostruzione di curve e superfici assistita dal calcolatore ed affronta in particolare la ricostruzione di profili acquisiti mediante macchina di misura a coordinate. La ricostruzione di un profilo comprende la costruzione di una prima curva interpolante il set di punti iniziali, la presenza di innacuratezze all’interno di questi rende necessaria una successiva fase di ammorbidimento di detta curva tramite una procedura di fairing. L’algoritmo sviluppato consiste di tre passi fondamentali come mostrato nella figura seguente:

Figura 5-1: Algoritmo di ricostruzione proposto.

Filtrazione dei punti

Curve Fitting

Miglioramento aspetto curva

Aspetto ok?

END

si

Punti Misurati

Page 139: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

L’approccio proposto pag.129

Partendo dal set di punti acquisiti vengono, innanzitutto eliminati i punti considerati ‘sbagliati’, poi una prima curva viene fittata attraverso questo set di punti, fitting che data la natura delle curve dovrà essere fatto utilizzando funzioni spline. Queste potranno essere sia interpolanti che approssimanti, in quanto le tolleranze presenti consentono di considerare i punti acquisiti come punti deterministici.

Figura 5-2: Set di punti iniziali modello Caracas (Cortesia Finproject S.p.A.).

Figura 5-3: Set iniziale punti Profilo Caracas (Cortesia Finproject S.p.A.).

Dopodiché per rilevare e rimuovere le irregolarità causate da piccole innacuratezza nella posizione dei punti di misura che hanno portato alla ricostruzione di una prima curva con presenti ondulazioni indesiderate, è stata

Page 140: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

L’approccio proposto pag.130

sviluppata una procedura di fairing quest’ultima è reiterata sino a che una data condizione di stop si verifica. In modo da ottenere un insieme di curve prive di ondulazioni. Di seguito questi passi saranno descritti in modo approfondito.

Figura 5-4: Curve finali modello Caracas.

5.1.1 Filtrazione dei punti La procedura parte acquisendo un set di punti appartenenti alla curva mediante misura manuale con una CMM equipaggiata di una sonda a scansione. Durante questa fase è’ possibile che una poca accuratezza dell’operatore e/o l’insorgenza di fenomeni vibratori, portino ad avere all’interno del set di punti digitalizzato alcuni che non appartengono alla curva da ricostruire. Punti che conviene eliminare prima di procedere. Per fare questo una prima curva B-spline con una distribuzione uniforme dei nodi è stata approssimata nel senso dei minimi quadrati ai punti di misura. Poi è stata calcolata la distanza tra i punti di misura e la curva [Pat02]. Quindi i punti che sono risultati essere degli outlier sono stati eliminati. Con outlier si sono identificati i punti distanti più di 1.5 volte dalla mediana delle distanze.

Page 141: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

L’approccio proposto pag.131

5.1.2 Fitting della Curva A questo punto è stata costruita una prima curva, facendo passare attraverso i punti una curva B-spline. La scelta è ricaduta su questa classe di funzioni in quanto consentono di rappresentare forme complesse sia interpolanti che approssimanti, consentono di controllare localmente la curva e sono computazionalmente molto efficienti.

( ) ( ) ),,(0

, tPP knftNtn

iiki == ∑

=

Come si è visto (Capitolo 3) queste funzioni sono funzioni dell’ordine k, della distribuzione dei nodi e del set di punti di controllo. In questo lavoro abbiamo scelto come ordine della spline k il quarto ordine. Questo perchè è il minimo che garantisce le proprietà di continuità geometrica necessarie per definire una curva fair. Inoltre, curve di ordine superiore da un punto di visto della qualità della forma comportano variazioni minime non valutabili visivamente. Per quanto riguarda la distribuzione di nodi da usare, si sono testati con due differenti algoritmi per la ricostruizone di curve fair su un benchmark noto, i diversi metodi di distribuzione dei nodi. Il risultato migliore lo ha dato la distribuzione dei nodi ‘Cordale’. Che quindi è stata utilizzata per definire la curva B-spline. L’ultimo parametro da definire è il set di punti di controllo. Per scegliere questo, partendo dall’insieme di punti acquisiti è stato definito un algoritmo di fairing. Il quale è stato poi testato sia con la funzione di costo che ottimizza il criterio di fairness C1 sia con la funzione di costo che ottimizza il criterio di fairness C2.

5.1.3 Miglioramento della Curva: Fairing Partendo dall’insieme di punti filtrati è stata implementata una prima procedura di fairing definita rough fairing. Il cui scopo è quello di eliminare dalla curva le ondulazioni più evidenti. I punti di controllo errati vengono individuati utilizzando il criterio del segno. . In pratica la curva viene analizzata nella sua totalità, ed un punto viene considerato difettoso se il segno della curvatura è opposto rispetto a quello dei due punti adiacenti. Per esempio, come illustrato nella Figura 5-5 di sinistra, i segni della curvatura dei punti dati sono: “- - - - + - - - -“. Il quinto punto è considerato difettoso.

Page 142: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

L’approccio proposto pag.132

Figura 5-5: Esempio di segni “sbagliati” nella curvatura.

Volendo è possibile esprimere questo indicatore in termini analitici, considerando il punto ti e i suoi due punti adiacenti ti-1 e ti+1: se 01 <⋅− ii kk & 1+⋅ ii kk < 0, allora il punto ti deve essere modificato. La posizione viene modificata utilizzando il metodo implementato in [Pol99]:

+∆

−∆

+

−∆

+

+∆

=

+

−+

331

221

21

21

13

13

1

1

11

1122

1

)(

kk

kk

k

k

k

k

k

k

k

k

k

k

rrrrr

newr

Questo metodo potrebbe portare a variazioni di forma eccessive. Per superare tale problema, è stata definita una regione che nel piano corrisponde ad una circonferenza con centro posto nel punto da variare e raggio pari ad un valore ρ detto tolleranza, mentre nello spazio corrisponde ad una sfera con centro nel punto da modificare e di raggio pari sempre a ρ.

τ

r

r*

Figura 5-6: Posizione punto.

Se la distanza tra il punto originale e quello modificato è maggiore di ρ, si modifica la sua posizione in modo tale da definire un nuovo punto dato dall’intersezione della retta che congiunge i due punti precedenti e la circonferenza o la sfera di raggio τ.

ρ

Page 143: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

L’approccio proposto pag.133

ii

iiii rr

rrrr

−+=∗

*

*

τ

Terminata questa prima procedura ha inizio un’ulteriore fase di fairing denominata fine fairing. Lo scopo di questa fase è quello di apportare le modifiche tali da eliminare anche le ondulazioni più piccole presenti sul profilo. Questa procedura prevede che i punti da correggere vengano individuati utilizzando l’indicatore locale ricavato sulla base della funzione di costo scelta e che nel seguito indicheremo con l’acronimo LFI (Local Fairing Indicator). In particolare nel caso in cui la funzione di costo sia quella deducibile dal criterio C1 tale indicatore è pari a:

( )

( ))(,)(,)(max

)()(

11

11

+−

−+ −−−+=

iii

iiii

i tktktk

tttdsdkt

dsdk

LFI

mentre nel secondo caso è pari a:

( ) ( )−+ −= iii tCtCLFI '''''' La posizione del punto è poi modificata utilizzando il metodo presentato prima. In quanto come dimostrato da [Zha99], tale strumento è il medesimo sia che si cerca una curva tale da minimizzare il criterio C1 sia che si cerchi una curva che minimizzi il criterio C2 [Capitolo 4].

5.1.4 End Condition Per decidere quando terminare la procedura di fairing sono stati proposti vari approcci. In [Far90] Farin introdusse un indicatore di fairness globale ξs, il quale è la somma di tutti gli indicatori locali. Il punto avente il più grande valore di indicatore locale viene modificato e il processo continua sino a che il valore delll’indicatore globale decresce. Questo modo di operare però porta ad una prematura conclusione del processo di fairing. Poliakoff et al. in [Pol99], modificano il punto con il più grande valore dell’indicatore locale e propone una condizione per terminare il processo che un miglioramento di quella di Farin: vengono presi in considerazione quattro valori consecutivi dell’indicatore globale (che è la somma di tutti quelli locali) e pone termine al processo quando il rapporto tra il minimo e il massimo di questi valori

Page 144: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

L’approccio proposto pag.134

è maggiore di un dato valore τ posto pari a 0.99. Si è trovato che questo criterio può portare a generare curve il cui valore di ξs è aumentato. Abbiamo quindi sviluppato un nuovo criterio di carattere generale per decidere quando terminare il processo. Per valutare la forma della curva viene utilizzato un indicatore globale (GFI) calcolato in modo differente a seconda che la funzione di costo sia desunta dal criterio di fairness C1 o C2, il processo di fairing viene iterato se e solo se ad ogni passo il valore di GFI diminuisce di una quantità significativa. Precisamente, dopo la procedura di rough fairing viene eseguita una prima valutazione analitica sulla forma della curva da cui si ha il relativo valore di GFI. Valore che chiameremo GFIold. Poi, l’insieme di punti viene modificato andando a variare opportunamente la posizione del punto che presentava una qualità locale, che indichiamo con LFIi, peggiore. Dopodiché il set di punti è cambiato e quindi si ottiene in corrispondenza un nuovo valore di GFI, chiamato GFInew. Per valutare se il processo di fairing ha effettivamente migliorato l’aspetto della curva si calcola il rapporto GFInew\GFIold. Se questo rapporto è maggiore di uno significa che l’aspetto della curva è peggiorato. Quindi viene ristabilito il set di punti iniziale e si opera il fairing sul secondo punto con qualità locale peggiore. Se anche in questo caso la curva non migliora si procede con il terzo e cosi via sino all’ultimo punto. Se non si hanno comunque dei miglioramenti il processo di fairing termina.

Page 145: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

L’approccio proposto pag.135

no

Select the point with LFI max.

Fairing

Calculate LFIi

yes

no

yes

Rank points in LFIi descending order

Select the next point

End

1≤≤old

new

GFIGFI

τ

Rough Fairing

GFI old = GFInew

Calculate LFIi and GFI (GFIold)

Calculate GFI (GFInew)

1>old

new

GFIGFI

UNDO Fairing

i is the last point?

yes

no

no

Select the point with LFI max.

Fairing

Calculate LFIi

yes

no

yes

Rank points in LFIi descending order

Select the next point

End

1≤≤old

new

GFIGFI

τ

Rough Fairing

GFI old = GFInew

Calculate LFIi and GFI (GFIold)

Calculate GFI (GFInew)

1>old

new

GFIGFI

UNDO Fairing

i is the last point?

yes

no

Figura 5-7: Condizione implementata per porre termine al processo di Fairing

5.1.5 Algoritmi implementati Per testare la procedura automatica di ricostruzione di profili proposta sono stati implementati due differenti algoritmi. I risultati ottenuti sono poi stati comparati con quelli ottenuti utilizzando i tre presenti in letteratura descritti precedentemente e denominati rispettivamente: Algoritmo di Farin et al. Algoritmo di Poliakoff et al. e quello denominato Algoritmo di Zhang et al. I due algoritmi sviluppati differiscono per la funzione di costo utilizzata per determinare il set di punti di controllo della curva. Nel primo caso è stato implementato un metodo per valutare la curva nei vari punti e per valutare la qualità della curva ottenuta un metodo basato sulla funzione di costo ricavabile dal criterio C1.

Page 146: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

L’approccio proposto pag.136

Tale algoritmo denominato: Algoritmo Proposto A1 ha la struttura di Figura 5-8 dove per calcolare i valori di LFI e GFI sono state utilizzate le seguenti formulazioni:

( )

( ))(,)(,)(max

)()(

11

11

+−

−+ −−−+=

iii

iiii

i tktktk

tttdsdkt

dsdk

LFI

e per l’indicatore di qualità dell curva:

∑=i

iLFIGFI

E per rispettare il vincolo di forma il punto è stato spostato in accordo con quanto detto in precedenza. Il secondo algoritmo denominato: Algoritmo Proposto A2 ha sempre la struttura di Figura 5-8 però per calcolare i valori di LFI e GFI sono state utilizzate le seguenti formulazioni:

( ) ( )−+ −= iii tCtCz '''''' e per l’indicatore di qualità dell curva:

dttCE nt

t

2)(''0

∫=

e per rispettare il vincolo di forma il punto è stato spostato in accordo con quanto detto precedentemente.

Page 147: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

L’approccio proposto pag.137

no

Selezione del punto con LFI max.

Calcolo GFInew

GFInew > GFI oldsi

no

si

GFIold

Selezione del punto avente il successivo LFImax

End

τ≥old

new

GFIGFI

Rough Fairing

GFI old = GFInew

Calcolo nuova posizione: r*

|r* - r|<τModifica posizione

no

Selezione del punto con LFI max.

Calcolo GFInew

GFInew > GFI oldsi

no

si

GFIold

Selezione del punto avente il successivo LFImax

End

τ≥old

new

GFIGFI

Rough Fairing

GFI old = GFInew

no

Selezione del punto con LFI max.

Calcolo GFInew

GFInew > GFI oldsi

no

si

GFIold

Selezione del punto avente il successivo LFImax

End

τ≥old

new

GFIGFI

Rough Fairing

GFI old = GFInew

Calcolo nuova posizione: r*

|r* - r|<τModifica posizione

Figura 5-8: Algoritmo Proposto

Strumenti utilizzati.

La scelta dell’ambiente di sviluppo é influenzata da diversi fattori quali l’hardware, l’apertura verso il mondo esterno e la portabilità del sistema a diversi livelli. Lo strumento nell’ambito di questo lavoro deve soddisfare diverse caratteristiche quali: essere facilmente manutenibile; gestire parti procedurali; gestire al modellazione geometrica; essere di facile uso anche da parte dell’utente non sofisticato; permettere di gestire interfacce utente sofisticate; deve essere uno strumento potente ed efficiente in quanto la dimensione del problema lo richiede sicuramente.

Page 148: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

L’approccio proposto pag.138

Tutte queste considerazione hanno condotto alla scelta del C++ quale linguaggio di programmazione orientato agli oggetti. Esso permette di ottenere un codice efficiente, facile da manutenere, estendibile e soprattutto riutilizzabile. Il compilatore utilizzato é il Visual C++ della Microsoft che costituisce un ambiente completo ed aggiornato allo sviluppo di ogni tipo di applicazione Windows. Il motore di modellazione solida utilizzato è Acis della Spatial Technology Inc. L’interfaccia grafica del software costituisce l’ambiente con il quale l’utente controlla le funzionalità del programma; permette di gestire il programma mediante una scelta tra le opzioni possibili, presentate simultaneamente all’utente sotto forma di oggetti sullo schermo, come strumenti pronti per essere utilizzati. In dettaglio gli strumenti di sviluppo utilizzati per la realizzazione del software sono il Visual C++ versione 6.0, Acis Geometric Modeler versione 7.0. Visual C++ é uno strumento versatile e complesso per la costruzione di applicazioni a 32 bit per Windows XP. Grazie ai suoi generatori automatici di codice, i Wizard, é in grado di produrre in pochi secondi la shell di un’applicazione per Windows. La libreria di classi compresa in Visual C++, Microsoft Foudation Classes, é ormai lo standard per lo sviluppo di software per Windows in numerosi compilatori C++. Acis é un motore di modellazione solida B-rep che mette a disposizione dei programmatori una libreria di classi scritte in C++ ben testata e pronta per essere utilizzata. Matlab é un ambiente di sviluppo dotata di un’interfaccia utente di tipo grafico estremamente flessibile Nel seguito del paragrafo é presentata una panoramica sugli strumenti di sviluppo utilizzati sia per la realizzazione del software che per l’interfaccia grafica in ambiente Windows.

Il modellatore geometrico ACIS

La necessità di estrarre le informazioni necessarie alle analisi richiede un sistema CAD avente i seguenti requisiti: permettere una rappresentazione boundary con un’elevata capacità di rappresentazione delle superfici: B-spline, NURBS; avere una totale apertura verso l’esterno ed essere personalizzabile, permettendo al progettista di espandere la struttura informativa associata per default alle entità che compongono il pezzo, ad esempio inserendo il codice della macchina utensile che lavorerà una superficie; essere in grado, per esigenze di portabilità dell’applicazione, di fornire un modello nel formato standard utilizzato per il trasferimento di modelli solidi tra sistemi diversi. Si é, quindi, scelto ACIS, un kernel di modellazione geometrica di nuova generazione della Spatial Technology Inc. che permette di costruire solidi 3D attraverso una “rappresentazione boundary”. Numerose sono le applicazioni possibili: da semplici solidi base ad oggetti di forma complessa ottenuti come combinazione di sistemi più semplici o come integrazione di sistemi più semplici

Page 149: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

L’approccio proposto pag.139

o come integrazione sia di strutture già esistenti come modelli solidi sia di rappresentazioni wireframe. L’efficienza e la molteplicità funzionale di tale sistema é dovuta alla notevole flessibilità dei mezzi a disposizione che si fondano su di un sistema API. La caratteristica di un “modellatore boundary” é la sua capacità di classificare una qualunque superficie del pezzo rispetto al pezzo stesso. Ciò permette una completa ed univoca rappresentazione degli oggetti in un sistema a tre dimensioni, che a sua volta fornisce una descrizione degli oggetti molto vicina alla realtà. Una volta rappresentato il solido desiderato, é possibile completare ulteriormente l’oggetto utilizzando particolari moduli che permettono di associare proprietà di massa o di funzionamento. Strutturalmente ACIS é costituito da 3 elementi fondamentali: topologie; geometrie; attributi. Questi possono essere integrati tramite C++ che utilizza una ampia varietà di classi contenenti a loro volta topologie (corpi, facce, angoli, spigoli, vertici, etc.), geometrie (punti, curve, superfici, etc.) ed attributi. Il software sviluppato é stato integrato con il modellatore solido ACIS, costituito da una libreria di classi scritte in C++ e ben testata, che risulta così pronta per essere utilizzata da qualsiasi programmatore.

5.1.6 Scelta del metodo di distribuzione dei nodi

Prima di procedere alla fase di validazione della procedura proposta è stata condotta un’analisi sperimentale volta a determinare quale fosse la distribuzione dei nodi più adatta alla soluzione del problema in studio. Un parametro da tenere in considerazione quando si utilizzano le curve spline oltre che i punti di controllo e l’ordine della curva è la distribuzione dei nodi. Come si è visto nel capitolo 2. sono fondamentalmente tre i metodi presenti in letteratura per sequenziare questi: uniforme cordale e centripeto. E’ stata quindi condotta un’analisi sperimentale per verificare quale di questi fosse il più adatto nel caso di punti di controllo distribuiti non uniformemente. Per operare un confronto tra i diversi criteri e poter così scegliere quale sia il migliore, è stata utilizzata una curva campione, sottoposta a due metodi di fairing. Quello proposto da Poliakoff et al in [Pol99], e quello qui presentato utilizzando come funzione di costo quella ottenibile dal criterio C1. Come curva campione è stata utilizzata una curva rappresentata da un arco di cerchio definito da n = 47 punti. Si è utilizzato il metodo di interpolazione

Page 150: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

L’approccio proposto pag.140

(capitolo 3) per creare un B-spline passante per questi punti, in modo da poter verificare come i diversi metodi applicati riescano poi a riportare la curva perturbata alla condizione di partenza. L’interpolazione è stata condotta facendo uso del metodo cordale per la definizione dei nodi. La figura seguente mostra la curva B-spline ottenuta:

Figura 3.28: Curva B-spline interpolante

I punti neri rappresentano i punti per i quali deve passare la curva (tabella 3.2), mentre gli asterischi sono i punti di controllo della B-spline creata (tabella 3.3): Essendo il set di punti originali molto denso, i punti di controllo sono molto vicini alla curva, o meglio, la curva B-spline è molto vicina al suo poligono di controllo. Un esempio di curva interpolante avente poligono di controllo più evidente, è quella rappresentata in figura 2.13.Tuttavia, al fine di ottenere buoni risultati nelle sperimentazioni, è necessario operare su curve definite da più punti, poiché solo in queste è possibile creare delle perturbazioni minime al profilo della curva. Solo delle perturbazioni così piccole infatti possono ben simulare le effettive problematiche che si hanno in fase reale di acquisizione dati.

y

x

Page 151: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

L’approccio proposto pag.141

x y

0.5621 2.9469 0.3760 2.9763 0.1884 2.9941 0.0000 3.0000 -0.1884 2.9941 -0.3760 2.9763 -0.5621 2.9469 -0.7461 2.9057 -0.9271 2.8532 -1.1044 2.7893 -1.2773 2.7145 -1.4453 2.6289 -1.6075 2.5330 -1.7634 2.4271 -1.9123 2.3115 -2.0536 2.1869 -2.1869 2.0536 -2.3115 1.9123 -2.4271 1.7634 -2.5330 1.6075 -2.6289 1.4453 -2.7145 1.2773 -2.7893 1.1044 -2.8532 0.9271 -2.9057 0.7461 -2.9469 0.5621 -2.9763 0.3760 -2.9941 0.1884 -3.0000 0.0000 -2.9941 -0.1884 -2.9763 -0.3760 -2.9469 -0.5621 -2.9057 -0.7461 -2.8532 -0.9271 -2.7893 -1.1044 -2.7145 -1.2773 -2.6289 -1.4453 -2.5330 -1.6075 -2.4271 -1.7634 -2.3115 -1.9123 -2.1869 -2.0536 -2.0536 -2.1869 -1.9123 -2.3115 -1.7634 -2.4271 -1.6075 -2.5330 -1.4453 -2.6289 -1.2773 -2.7145

Tabella 3.2: Tabella punti originali da interpolare

Page 152: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

L’approccio proposto pag.142

x y 0.5621 2.9469 0.4387 2.9703 0.2513 2.9942 0.0000 3.0019 -0.1885 2.9961 -0.3762 2.9782 -0.5625 2.9489 -0.7465 2.9076 -0.9277 2.8551 -1.1051 2.7911 -1.2782 2.7163 -1.4462 2.6306 -1.6086 2.5347 -1.7646 2.4287 -1.9135 2.3130 -2.0550 2.1883 -2.1883 2.0550 -2.3130 1.9135 -2.4287 1.7646 -2.5347 1.6086 -2.6306 1.4462 -2.7163 1.2782 -2.7911 1.1051 -2.8551 0.9277 -2.9076 0.7465 -2.9489 0.5625 -2.9782 0.3762 -2.9961 0.1885 -3.0019 0.0000 -2.9961 -0.1885 -2.9782 -0.3762 -2.9489 -0.5625 -2.9076 -0.7465 -2.8551 -0.9277 -2.7911 -1.1051 -2.7163 -1.2782 -2.6306 -1.4462 -2.5347 -1.6086 -2.4287 -1.7646 -2.3130 -1.9135 -2.1883 -2.0550 -2.0550 -2.1883 -1.9135 -2.3130 -1.7646 -2.4287 -1.5565 -2.5700 -1.3910 -2.6610 -1.2773 -2.7145

Tabella 5-1: Tabella punti di controllo della B-spline

Page 153: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

L’approccio proposto pag.143

A questo punto, si modificano i punti di controllo 5, 8, 15, 20, 29, 39, 40 e 41 della curva B-spline. La curva che risulta è mostrata nella figura seguente:

Figura 5-9 Arco di circonferenza perturbato

Il confronto tra i grafici della curvatura della curva originale e di quella perturbata consentono di valutare l’impatto di queste modifiche sulla ‘fairness’ della curva:

Figura 5-10: Grafico della curvatura della curva originale

y

x

Page 154: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

L’approccio proposto pag.144

Figura 5-11 Grafico della curvatura della curva originale

Figura 5-12 Grafico della curvatura della curva perturbata.

k(t)

punti

k(t)

punti

Page 155: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

L’approccio proposto pag.145

Algoritmo Poliakoff et al. Distribuzione uniforme dei nodi Per il caso di parametrizzazione uniforme si ottengono i seguenti risultati: GFIiniziale = 30.7449 Il primo ciclo di rough fairing modifica i seguenti punti: 6,7,8,14,19,27,28,29,37 e 40 portando il GFI al valore: 33.0415. Il secondo ciclo di rough fairing modifica i punti: 5,26,30 e 41 e porta il GFI al valore: 30.0950. Il terzo ciclo modifica i punti: 25,29,39 e 40 ed il GFI risulta essere: 30.0071. Il quarto ciclo modifica i punti: 24 e 41 con GFI = 29.7355. Il quinto ed ultimo ciclo di rough fairing modifica il punto 25 e produce il valore finale GFIrough = 30.0184. A questo punto inizia il processo di fine fairing, dove vengono modificati i punti: 38 (GFI = 29.2529), 2 (GFI = 29.1280), 27 (GFI = 29.5673), 6 GFI = 30.4910), 35 (GFI = 29.6038), 5 (GFI = 28.8852), 28 (GFI = 28.8723), 6 (GFI = 29.1658), 27 (GFI = 29.7226), 26 (GFI = 29.4181), 7 (GFI = 29.4811), 10 (GFI = 29.2063), 6 (GFI = 29.6460), 27 (GFI = 29.8370), (28 GFI = 29.8996), 27 (GFI = 30.2900), 5 (GFI = 30.1120), 6 (GFI = 30.2061) e 7 (GFI = 30.3089). Sono state effettuate 40 iterazioni ed il valore di GFIfinale è pari a 30.3089. Gli ultimi quattro valori di GFI sono : [30.2900 30.1120 30.2061 30.3089], da cui si evince che il rapporto tra il valore minimo ed il massimo è: 0.9935.

Algoritmo 'Poliakoff' - Metodo Uniforme

26

27

28

29

30

31

32

33

34

1 3 5 7 9 11 13 15 17 19 21 23

GFI

Figura 5-13: Grafico andamento GFI- Metodo Uniforme

La curva che si ottiene è la seguente:

Page 156: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

L’approccio proposto pag.146

x y 0.5621 2.9469 0.4387 2.9703 0.2313 2.9966 0.0000 3.0019 -0.1900 3.0000 -0.3817 2.9920 -0.5703 2.9683 -0.7532 2.9244 -0.9313 2.8641 -1.1051 2.7911 -1.2776 2.7147 -1.4462 2.6306 -1.6086 2.5347 -1.7646 2.4287 -1.9136 2.3131 -2.0550 2.1883 -2.1883 2.0550 -2.3130 1.9135 -2.4287 1.7646 -2.5347 1.6086 -2.6306 1.4462 -2.7163 1.2782 -2.7911 1.1051 -2.8551 0.9277 -2.9106 0.7466 -2.9643 0.5625 -3.0114 0.3762 -3.0361 0.1885 -3.0383 -0.0000 -3.0178 -0.1885 -2.9833 -0.3762 -2.9489 -0.5625 -2.9076 -0.7465 -2.8551 -0.9277 -2.7911 -1.1051 -2.7190 -1.2667 -2.6306 -1.4462 -2.5180 -1.6775 -2.4381 -1.8375 -2.3557 -1.9541 -2.2352 -2.0554 -2.0791 -2.1818 -1.9135 -2.3130 -1.7646 -2.4287 -1.5565 -2.5700 -1.3910 -2.6610 -1.2773 -2.7145

Figura 5-14: Grafico e punti di controllo della curva dopo il processo di fairing utilizzando l'algoritmo Poliakoff et al., con parametrizzazione uniforme

Distribuzione cordale dei nodi Per il caso di parametrizzazione cordale si ottengono i seguenti risultati: GFIiniziale = 29.9607 Rough fairing:

x

y

Page 157: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

L’approccio proposto pag.147

primo ciclo: punti 6,7,8,14,19,27,28,29,37 e 40, GFI = 29.6773. Secondo ciclo: punti 5,26,30 e 41, GFI = 27.3797 Terzo ciclo: punti 25,29,39e 40, GFI = 25.5717. Quarto ciclo: punto 41, GFI = 26.1222. Quinto ciclo: punto 42, GFIrough = 25.8250

Fine fairing: Punti: 2 (GFI = 25.4932), 2 (GFI = 25.3584), 44 (GFI = 25.3829) e 2 (GFI = 25.3842). Le iterazioni effettuate sono 24 e il valore di GFIfinale è 25.3842. Gli ultimi quattro valori di GFI sono : [25.4932 25.3584 25.3829 25.3842]; quindi il rapporto tra il minimo valore ed il massimo è: 0.9947.

Algoritmo 'Poliakoff' - Metodo Cordale

23

24

25

26

27

28

29

30

31

1 2 3 4 5 6 7 8 9 10 11

GFI

Figura 5-15: Andamento GFI – Metodo Cordale

La curva che si ottiene è la seguente:

Page 158: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

L’approccio proposto pag.148

x y 0.5621 2.9469 0.4387 2.9703 0.2378 2.9948 0.0000 3.0019 -0.1900 3.0000 -0.3823 2.9983 -0.5755 2.9803 -0.7544 2.9286 -0.9322 2.8630 -1.1051 2.7911 -1.2782 2.7163 -1.4462 2.6306 -1.6086 2.5347 -1.7646 2.4287 -1.9402 2.2971 -2.0550 2.1883 -2.1883 2.0550 -2.3130 1.9135 -2.4287 1.7646 -2.5293 1.6197 -2.6306 1.4462 -2.7163 1.2782 -2.7911 1.1051 -2.8551 0.9277 -2.9076 0.7465 -2.9607 0.5619 -3.0114 0.3759 -3.0568 0.1896 -3.0440 0.0007 -3.0169 -0.1886 -2.9827 -0.3772 -2.9489 -0.5625 -2.9076 -0.7465 -2.8551 -0.9277 -2.7911 -1.1051 -2.7163 -1.2782 -2.6306 -1.4462 -2.5044 -1.7051 -2.4287 -1.8646 -2.3657 -1.9456 -2.2699 -2.0363 -2.1032 -2.1703 -1.9383 -2.3000 -1.7646 -2.4287 -1.5632 -2.5660 -1.3910 -2.6610 -1.2773 -2.7145

Figura 5-16: Grafico e punti di controllo della curva dopo il processo di fairing, utilizzando l’algoritmo proposto da J. Poliakoff, con parametrizzazione cordale.

Distribuzione centripeta dei nodi Per il caso di parametrizzazione centripeta si sono ottenuti i seguenti risultati: GFIiniziale = 30.3403 Rough fairing: Primo ciclo: punti 6,7,8,14,19,27,28,29,37 e 40 GFI = 30.8370. Secondo ciclo: punti 5,26,30 e 41 GFI = 28.0601. Terzo ciclo: punti 25,29,39 e 40 GFI =

y

x

Page 159: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

L’approccio proposto pag.149

26.1442. Quarto ciclo: punti 24 e 41 GFI = 26.1692.Quinto ciclo: punti 25 e 42 GFIrough = 26.1118 Fine fairing: Punti: 2 (GFI = 25.7742), 2 (GFI = 25.7512), 44 (GFI = 25.7748) e 2 (GFI = 25.7755). Le iterazioni effettuate sono 26 e il valore di GFIfinale è 25.7755. Gli ultimi quattro valori di GFI sono : [25.7742 25.7512 25.7748 25.7755]; quindi il rapporto tra il minimo valore ed il massimo è: 0.9991.

Algoritmo 'Poliakoff - Metodo Centripeto

23

24

25

26

27

28

29

30

31

32

1 2 3 4 5 6 7 8 9 10

GFI

Figura 5-17: Andamento GFI - Metodo Centripeto

Page 160: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

L’approccio proposto pag.150

Figura 5-18: Grafico della curva dopo il processo di fairing, utilizzando il algoritmo

Poliakoff, con parametrizzazione centripeta

E i punti ottenuti sono riportati nella tabella seguente:

x y 0.5621 2.9469 0.4387 2.9703 0.2454 2.9933 0.0000 3.0019 -0.1900 3.0000 -0.3834 2.9986 -0.5755 2.9808 -0.7549 2.9290 -0.9317 2.8636 -1.1051 2.7911 -1.2782 2.7163 -1.4462 2.6306 -1.6086 2.5347 -1.7646 2.4287 -1.9210 2.3088 -2.0550 2.1883 -2.1883 2.0550 -2.3130 1.9135 -2.4287 1.7646 -2.5322 1.6130 -2.6306 1.4462 -2.7163 1.2782 -2.7911 1.1051 -2.8551 0.9277 -2.9103 0.7465 -2.9632 0.5624 -3.0133 0.3761 -3.0596 0.1891 -3.0452 0.0004 -3.0173 -0.1885 -2.9829 -0.3767 -2.9489 -0.5625 -2.9076 -0.7465

x

Page 161: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

L’approccio proposto pag.151

-2.8551 -0.9277 -2.7911 -1.1051 -2.7163 -1.2782 -2.6306 -1.4462 -2.5077 -1.6985 -2.4287 -1.8646 -2.3597 -1.9525 -2.2562 -2.0442 -2.0937 -2.1741 -1.9311 -2.3034 -1.7646 -2.4287 -1.5574 -2.5690 -1.3910 -2.6610 -1.2773 -2.7145

Tabella 5-2: Tabella punti di controllo della B-spline dopo il processo di fairing condotto con l’algoritmo ‘Poliakoff’ e parametrizzazione centripeto

Algoritmo ‘Proposto criterio C1’ Distribuzione uniforme dei nodi Per il caso di parametrizzazione uniforme si ottengono i seguenti risultati: GFIiniziale = 30.7449 Il primo ciclo di rough fairing modifica i seguenti punti: 6,7,8,14,19,27,28,29,37 e 40 portando il GFI al valore: 33.0415. Il secondo ciclo di rough fairing modifica i punti: 5,26,30 e 41 e porta il GFI al valore: 30.0950. Il terzo ciclo modifica i punti: 25,29,39 e 40 ed il GFI risulta essere: 30.0071. Il quarto ciclo modifica i punti: 24 e 41 con GFI = 29.7355. Il quinto ed ultimo ciclo di rough fairing modifica il punto 25 E produce il valore finale GFIrough = 30.0184 A questo punto inizia il processo di fine fairing, dove vengono modificati i punti: 38 (GFI =29.2529) e 2 (GFI = 29.1280). Sono state effettuate 23 iterazioni ed il valore di GFIfinale è pari a 29.1280. Il rapporto tra l’ultimo valore di GFI ed il penultimo è: 0.9957.

Page 162: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

L’approccio proposto pag.152

Algoritmo 'Proposto' - Metodo Uniforme

27

28

29

30

31

32

33

34

1 2 3 4 5 6 7 8

GFI

Figura 5-19: Andamento GFI - Metodo Uniforme

La curva che si ottiene è la seguente:

Figura 5-20: Grafico della curva dopo il processo di fairing, utilizzando l’algoritmo

‘Proposto’, con parametrizzazione uniforme

x

Page 163: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

L’approccio proposto pag.153

E i punti ottenuti sono riportati nella tabella seguente:

x y 0.5621 2.9469 0.4387 2.9703 0.2313 2.9966 0.0000 3.0019 -0.1900 3.0000 -0.3845 2.9990 -0.5755 2.9813 -0.7553 2.9294 -0.9313 2.8641 -1.1051 2.7911 -1.2782 2.7163 -1.4462 2.6306 -1.6086 2.5347 -1.7646 2.4287 -1.9136 2.3131 -2.0550 2.1883 -2.1883 2.0550 -2.3130 1.9135 -2.4287 1.7646 -2.5347 1.6086 -2.6306 1.4462 -2.7163 1.2782 -2.7911 1.1051 -2.8551 0.9277 -2.9106 0.7466 -2.9643 0.5625 -3.0153 0.3762 -3.0626 0.1885 -3.0464 -0.0000 -3.0178 -0.1885 -2.9833 -0.3762 -2.9489 -0.5625 -2.9076 -0.7465 -2.8551 -0.9277 -2.7911 -1.1051 -2.7163 -1.2782 -2.6306 -1.4462 -2.5180 -1.6775 -2.4381 -1.8375 -2.3557 -1.9541 -2.2352 -2.0554 -2.0791 -2.1818 -1.9135 -2.3130 -1.7646 -2.4287 -1.5565 -2.5700 -1.3910 -2.6610 -1.2773 -2.7145

Tabella 5-3: Tabella punti di controllo della B-spline dopo il processo di fairing condotto con l’algoritmo ‘Proposto’ e parametrizzazione uniforme

Distribuzione cordale dei nodi Per il caso di parametrizzazione cordale si ottengono i seguenti risultati:

Page 164: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

L’approccio proposto pag.154

GFIiniziale = 29.9607 Rough fairing: primo ciclo: punti 6,7,8,14,19,27,28,29,37 e 40 GFI = 29.6773. Secondo ciclo: punti 5,26,30 e 41 GFI = 27.3797. Terzo ciclo: punti 25,29,39e 40 GFI = 25.5717. Quarto ciclo: punto 41 GFI = 26.1222. Quinto ciclo: punto 42 GFIrough = 25.8250. Fine fairing: punti: 2 (GFI = 25.4932) e ancora una volta 2 (GFI = 25.3584). Le iterazioni effettuate sono 22 e il valore di GFIfinale è 25.3584. Il rapporto tra l’ultimo valore di GFI ed il precedente è: 0.9947.

Algoritmo 'Proposto' - Metodo Cordale

23

24

25

26

27

28

29

30

31

1 2 3 4 5 6 7 8

GFI

Figura 5-21: Andamento GFI - Metodo Cordale

La curva che si ottiene è la seguente:

Page 165: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

L’approccio proposto pag.155

Figura 5-22: Grafico della curva dopo il processo di fairing, utilizzando il

l’algoritmo ‘Proposto’, con parametrizzazione cordale

E i punti ottenuti sono riportati nella tabella seguente:

x y 0.5621 2.9469 0.4387 2.9703 0.2378 2.9948 0.0000 3.0019 -0.1900 3.0000 -0.3823 2.9983 -0.5755 2.9803 -0.7544 2.9286 -0.9322 2.8630 -1.1051 2.7911 -1.2782 2.7163 -1.4462 2.6306 -1.6086 2.5347 -1.7646 2.4287 -1.9402 2.2971 -2.0550 2.1883 -2.1883 2.0550 -2.3130 1.9135 -2.4287 1.7646 -2.5293 1.6197 -2.6306 1.4462 -2.7163 1.2782 -2.7911 1.1051 -2.8551 0.9277 -2.9076 0.7465 -2.9607 0.5619 -3.0114 0.3759 -3.0568 0.1896 -3.0440 0.0007 -3.0169 -0.1886 -2.9827 -0.3772 -2.9489 -0.5625 -2.9076 -0.7465

x

Page 166: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

L’approccio proposto pag.156

-2.8551 -0.9277 -2.7911 -1.1051 -2.7163 -1.2782 -2.6306 -1.4462 -2.5044 -1.7051 -2.4287 -1.8646 -2.3657 -1.9456 -2.2699 -2.0363 -2.1032 -2.1703 -1.9383 -2.3000 -1.7646 -2.4287 -1.5565 -2.5700 -1.3910 -2.6610 -1.2773 -2.7145

Tabella 5-4: Tabella punti di controllo della B-spline dopo il processo di fairing condotto l’algoritmo proposto e parametrizzazione cordale

Distribuzione centripeta dei nodi Per il caso di parametrizzazione centripeta si ottengono i seguenti risultati: GFIiniziale = 30.3403 Rough fairing: Primo ciclo: punti 6,7,8,14,19,27,28,29,37 e 40 GFI = 30.8370. Secondo ciclo: punti 5,26,30 e 41 GFI = 28.0601. Terzo ciclo: punti 25,29,39 e 40 GFI = 26.1442 Quarto ciclo: punti 24 e 41 GFI = 26.1692 Quinto ciclo: punti 25 e 42 GFIrough = 26.1118. Fine fairing: Punti: 2 (GFI = 25.7742) e ancora 2 (GFI = 25.7512). Le iterazioni effettuate sono 24 e il valore di GFIfinale è 25.7512. Il rapporto tra l’ultimo valore di GFI ed il precedente è: 0.9991.

Page 167: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

L’approccio proposto pag.157

Algoritmo 'Proposto' - Metdo Centripeto

23

24

25

26

27

28

29

30

31

32

1 2 3 4 5 6 7

GFI

Figura 5-23: Andamento GFI - Metodo Centripeto

La curva che si ottiene è la seguente:

Figura 5-24: Grafico della curva dopo il processo di fairing, utilizzando il

l’algoritmo ‘Proposto’, con parametrizzazione centripeta

x

Page 168: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

L’approccio proposto pag.158

E i punti ottenuti sono riportati nella tabella seguente:

x y 0.5621 2.9469 0.4387 2.9703 0.2454 2.9933 0.0000 3.0019 -0.1900 3.0000 -0.3834 2.9986 -0.5755 2.9808 -0.7549 2.9290 -0.9317 2.8636 -1.1051 2.7911 -1.2782 2.7163 -1.4462 2.6306 -1.6086 2.5347 -1.7646 2.4287 -1.9210 2.3088 -2.0550 2.1883 -2.1883 2.0550 -2.3130 1.9135 -2.4287 1.7646 -2.5322 1.6130 -2.6306 1.4462 -2.7163 1.2782 -2.7911 1.1051 -2.8551 0.9277 -2.9103 0.7465 -2.9632 0.5624 -3.0133 0.3761 -3.0596 0.1891 -3.0452 0.0004 -3.0173 -0.1885 -2.9829 -0.3767 -2.9489 -0.5625 -2.9076 -0.7465 -2.8551 -0.9277 -2.7911 -1.1051 -2.7163 -1.2782 -2.6306 -1.4462 -2.5077 -1.6985 -2.4287 -1.8646 -2.3597 -1.9525 -2.2562 -2.0442 -2.0937 -2.1741 -1.9311 -2.3034 -1.7646 -2.4287 -1.5565 -2.5700 -1.3910 -2.6610 -1.2773 -2.7145

Tabella 5-5: Tabella punti di controllo della B-spline dopo il processo di fairing condotto l’algoritmo ‘proposto’ e parametrizzazione centripeto

Page 169: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

L’approccio proposto pag.159

Confronto Il confronto tra i metodi proposti viene effettuato valutando il miglioramento percentuale ottenuto sul valore del GFI ed il numero di iterazioni di ciascun algoritmo. Di seguito vengono riportate le tabelle contenenti i dati ottenuti utilizzando i tre metodi per la distribuzione dei nodi:

MIGL. % GFI POLIAKOFF PROPOSTOUNIFORME 1.41% 5.25% CORDALE 15.27% 15.36% CENTRIPETO 15.05% 15.12%

Tabella 5-6: confronto valori GFI

N° ITERAZIONI POLIAKOFF PROPOSTOUNIFORME 40 23 CORDALE 24 22 CENTRIPETO 26 24

Tabella 5-7: confronto numero di iterazioni

Dall’analisi dei dati comparati si nota come il miglior risultato sia in termini di qualità della curva sia in termini di numero di iterazioni è stato ottenuto utilizzando in entrambi gli algoritmi il metodo cordale per la parametrizzazione dei nodi. Tale risultato è evidenziato in rosso in entrambe le tabelle. Il metodo di parametrizzazione uniforme, oltretutto, è quello che fornisce i peggiori risultati, richiedendo nel caso di Poliakoff addirittura 40 iterazioni e fornendo valori di GFI non competitivi. Di seguito è riportato un diagramma riassuntivo del processo di confronto effettuato:

Page 170: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

L’approccio proposto pag.160

Set di punti

Creazione B-spline interpolante

Perturbazione della curva

Algoritmo ‘Proposto’ Algoritmo Poliakoff

− Grafico dell’andamento del GFI

− Metodo centripeto

− Metodo cordale

− Metodo uniforme

− Grafico dell’andamento del GFI

− Metodo centripeto

− Metodo cordale

− Metodo uniforme

CONFRONTO

Metodo cordale Metodo cordale

CONFRONTO

Figura 5-25: Diagramma riassuntivo del processo di confronto.

Page 171: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

161

Capitolo 6

La fase di validazione Al fine di verificare l’effettiva efficacia del metodo proposto, sono stati presi in considerazione dieci differenti casi reali. Le curve analizzate sono dei profili di suole per scarpe, che si differenziano per tipologia: alcuni sono dei semplici profili bidimensionali altri sono profili tridimensionali e per numero di punti: da un minimo di 55 punti sino ad un massimo di 238. Tutti gli esempi sono stati acquisiti mediante una macchina di misura a coordinate Zeiss Prismo MPS HTG, equipaggiata con un tastatore a scansione continua VAST. Macchina presente presso i laboratori ‘Marzio Falco’ del Politecnico di Milano, Dipartimento di Meccanica. In seguito, i dati sono stati elaborati dai vari algoritmi implementati utilizzando un calcolatore con le seguenti caratteristiche: Processore Pentium 4 da 2.0 GHz e RAM da 512 MB.

6.1 Case Studies I casi di studio utilizzati sono tutti profili di curve per la progettazione di suole per scarpe, fornite da Finproject S.p.A. Tali profili sono stati denominati in accordo con il nome della relativa suola. E lel loro caratteristiche sono riassunte nella seguente tabella:

Profilo Numero puntiProfilo D Esterno Andromeda 83 Profilo D Int Andromeda 129 Profilo Stecca Andromeda 55 Profilo Stecca Cefeo 151 Andromeda Esterna 178 Caracas 231 Caorle 151 Cefeo 238 Minollo 174 Scarpa 74

Tabella 6-1 ; Case Study

Page 172: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

La fase di validazione pag.162

I casi denominati profilo_XXX sono dei profili bidimensionali, mentre gli altri sono profili tridimensionali. Si andranno ora a presentare i risultati ottenuti applicando i diversi algoritmi implementati a tutti i casi oggetto della sperimentazione.

6.2 Case study: Caorle

Figura 6-1: Profilo iniziale case study Caorle.

Il profilo denominato ‘Caorle’ e rappresentato in Figura 6-1 è definito da 151 punti di misura. Come si può notare dal grafico, il profilo risulta aperto nella sua parte inferiore. Questo perché lo studio effettuato ha utilizzato curve B-spline aperte. Il grafico iniziale della curvatura è il seguente:

Page 173: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

La fase di validazione pag.163

0 20 40 60 80 100 120 140 160-0.25

-0.2

-0.15

-0.1

-0.05

0

0.05

0.1

Figura 6-2: Curvatura iniziale profilo 'Caorle.'

Il grafico che segue mostra i valori della curvatura riportati sul profilo della curva, in modo da avere un’idea immediata della ‘fairness’ della curva stessa:

Figura 6-3: Curvatura iniziale profilo Caorle riportata lungo il profilo.

I dati che definiscono la curva vengono ora sottoposti ai tre algoritmi per il fairing automatico presenti in letteratura e precedentemente descritti: Algoritmo di ‘Farin

Page 174: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

La fase di validazione pag.164

et al.’, Algoritmo ‘Poliakoff et al.’, Algoritmo ‘Zhang et al.’, e all’algoritmo proposto in questo lavoro sia applicando come funzione di costo quella ricavabile dal criterio C1: minima variazioni nella curvatura denominato : Algoritmo Proposto Criterio C1, sia quella ricavabile dal secondo criterio: curva avente minima energia denominato : Algoritmo Proposto Criterio C2.

6.2.1 Algoritmo ‘Farin et al.’ La figura seguente mostra la curva ottenuta dopo l’applicazione dell’algoritmo di fairing denominato Farin et al.:

-150 -100 -50 0 50 100 150 2000

50

100

150

200

250

Figura 6-4: Profilo 'Caorle' finale algoritmo 'Farin et al.'

Di seguito è riportato il grafico della curvatura dopo il processo di fairing e come si può visivamente constatare non sembrano esserci stati cambiamenti rilevanti.

Page 175: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

La fase di validazione pag.165

0 20 40 60 80 100 120 140 160-0.25

-0.2

-0.15

-0.1

-0.05

0

0.05

0.1

Figura 6-5: Andamento finale curvatura profilo 'Caorle' algoritmo 'Farin et al.'

L’unico modo per verificare un eventuale miglioramento della curva è quello di andare ad esaminare gli indicatori analitici.

GFICurvatura GFIEnergia Iniziale 3034.8 Finale 3033 262376795038.38

Tabella 6-2: Indicatori di Fairness

Da cui si nota come il cambiamento sia stato minimo sia misurato come variazioni di curvatura sia misurato come variazione di energia. Sono stati calcolati due ulteriori parametri il tempo impiegato e il numero totale di iterazioni.

Tempo CPU 59.5 Numero iterazioni 1

Tabella 6-3: Altri parametri.

6.2.2 Algoritmo ‘Poliakoff et al.’ La figura seguente mostra la curva ottenuta dopo l’applicazione dell’algoritmo di fairing denominato Poliakoff et al.:

Page 176: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

La fase di validazione pag.166

Figura 5.4: Caorle, metodo ‘Poliakoff et al.’

Il nuovo grafico della curvatura è il seguente:

0 20 40 60 80 100 120 140 160-0.2

-0.15

-0.1

-0.05

0

0.05

Figura 5.5: curvatura Caorle dopo il processo di fairing ‘Poliakoff et al.’

E questo è il grafico della curvatura in ‘offset’ al profilo della curva:

Page 177: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

La fase di validazione pag.167

Figura 5.6: curvatura Caorle dopo il processo di fairing ‘Poliakoff et al.’ riportata

sul profilo

Come si può notare, il profilo è stato notevolmente migliorato. Di seguito sono riportati i dati riguardanti, il processo di fairing effettuato:

GFICurvatura GFIEnergia Iniziale 3034.8 Finale 2839.4 6578904255.41027

Tabella 6-4: Indicatori di Fairness

Tempo CPU 741 Numero iterazioni 102

Tabella 6-5: numero di iterazioni e tempo di CPU.

6.2.3 Algoritmo ‘Zhang et al.’ La figura seguente mostra la curva ottenuta dopo l’applicazione dell’algoritmo di fairing denominato Zhang et al.:

Page 178: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

La fase di validazione pag.168

0 20 40 60 80 100 120 140 160-0.25

-0.2

-0.15

-0.1

-0.05

0

0.05

0.1

Figura 6-6: Grafico curvatura Algoritmo 'Zhang et al.'

Per gli indicatori analitici, sono stati ottenuti i seguenti risultati:

GFICurvatura GFIEnergia Iniziale 3034.8 Finale 3034 117710483159.62

Tabella 6-6: Indicatori di Fairness

Tempo CPU 1 Numero iterazioni 1

Tabella 6-7: numero di iterazioni e tempo di CPU.

6.2.4 Algoritmo ‘Proposto Criterio C1’ Di seguito viene mostrato il grafico della curva ottenuta dopo il processo di fairing:

Page 179: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

La fase di validazione pag.169

Figura 6-7: Caorle, metodo ‘Proposto Criterio C1’.

E il grafico della curvatura:

0 20 40 60 80 100 120 140 160-0.2

-0.15

-0.1

-0.05

0

0.05

Figura 6-8: Curvatura Caorle dopo il processo di fairing ‘Proposto Criterio C1’.

Dal grafico seguente, si può valutare il miglioramento della curvatura lungo il profilo della curva:

Dettaglio 1

Dettaglio 2

Dettaglio 3

Dettaglio 4

Page 180: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

La fase di validazione pag.170

Figura 6-9: curvatura Caorle dopo il processo di fairing ‘Proposto Criterio C1’

Anche in questo caso si hanno evidenti miglioramenti sul profilo complessivo della curva. In particolare, è stata evidenziata una regione della curva dove è più chiaro l’effetto della modifica effettuata, che si rispecchia anche nel grafico della curvatura sul piano cartesiano (Figura 6-8). Inoltre, dall’analisi dei dati ottenuti, è possibile riscontrare un maggiore miglioramento dal punto di vista del valore di GFI finale, oltre che nel numero delle iterazioni:

GFICurvatura GFIEnergia Iniziale 3034.8 Finale 2793.7 10976556947.7850

Tabella 6-8: Indicatori di Fairness

Tempo CPU 275 Numero iterazioni 86

Tabella 6-9: numero di iterazioni e tempo di CPU.

Si propongono ore le immagini dei dettagli della curva evidenziati in Figura 6-7, dove le due curve, l’originale e quella modificata con il metodo ‘Proposto Criterio C1’, vengono messe a confronto:

Page 181: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

La fase di validazione pag.171

Figura 6-10: Caorle, dettaglio 1

Figura 6-11: Caorle, dettaglio 2

Page 182: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

La fase di validazione pag.172

Figura 6-12: Caorle, dettaglio 3

Figura 6-13: Caorle, dettaglio 4

Page 183: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

La fase di validazione pag.173

6.2.5 Algoritmo ‘Proposto Criterio C2’ La figura seguente mostra la curva ottenuta dopo l’applicazione dell’algoritmo di fairing denominato Proposto Criterio C2:

-150 -100 -50 0 50 100 1500

50

100

150

200

250

Figura 6-14: Profilo finale 'Caorle' con Metodo Proposto Criterio C2.

Il nuovo grafico della curvatura è il seguente:

Page 184: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

La fase di validazione pag.174

0 100 200 300 400 500 600 700 800-0.2

-0.15

-0.1

-0.05

0

0.05

Figura 6-15: Grafico Curvatura Finale.

Anche in questo caso si hanno evidenti miglioramenti sul profilo complessivo della curva come si può vedere dal grafico della curvatura ottenuto e dal valore di GFI ottenuto.

GFICurvatura GFIEnergia Iniziale 3034.8 Finale 2882.15 10976556947.7850

Tabella 6-10: Indicatori di Fairness

Tempo CPU 42 Numero iterazioni 64

Tabella 6-11: numero di iterazioni e tempo di CPU

6.3 Case study: Profilo Design Esterno Andromeda.

Il profilo denominato ‘Profilo Design Esterno Andromeda’ e rappresentato in Figura 6-16è definito da 83 punti di misura ed è un profilo bi-dimensionale. Il grafico iniziale della curvatura è il seguente:

Page 185: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

La fase di validazione pag.175

-150 -100 -50 0 50 100 1506

8

10

12

14

16

18

20

22

24

Figura 6-16: Profilo iniziale caso APDE.

Qui di seguito si riportano i grafici delle curvature delle curve ottenute applicando gli algoritmi implementati.

0 10 20 30 40 50 60 70 80 90-1

0

1

2

3

4

5

6

7

8

Figura 6-17: Grafico Curvatura iniziale

Page 186: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

La fase di validazione pag.176

0 10 20 30 40 50 60 70 80 90-1

0

1

2

3

4

5

6

7

8

Figura 6-18: Grafico Curvatura dopo Algoritmo 'Farin et al.'

0 10 20 30 40 50 60 70 80 90-1

0

1

2

3

4

5

6

7

8

Figura 6-19: Grafico Curvatura dopo Algoritmo 'Poliakoff et al.'

Page 187: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

La fase di validazione pag.177

0 10 20 30 40 50 60 70 80 90-1

0

1

2

3

4

5

6

Figura 6-20: Grafico Curvatura dopo algoritmo 'Zhang et al.

0 10 20 30 40 50 60 70 80 90-1

0

1

2

3

4

5

6

7

8

Figura 6-21: Grafico Curvatura dopo Algoritmo 'Proposto C1'

Page 188: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

La fase di validazione pag.178

0 10 20 30 40 50 60 70 80 90-1

0

1

2

3

4

5

6

7

8

Figura 6-22: Grafico Curvatura dopo Algoritmo 'Proposto C2'

Come si può notare analizzando i grafici della curvatura, il risultato ottenuto applicando l’algoritmo ‘Proposto Criterio C2’ è nettamente migliore rispetto agli altri, dato questo confermato dai dati analitici ricavati e riportati nelle tabelle seguenti:

Profilo D Est Andromedanumero punti 83

Energia iniziale 869186.58Metodo Farin et al. 869186.58

Metodo Poliakoff et al. 7926.27Metodo Zhang et al. 10539.44Metodo Proposto C1 7926.2731Metodo Proposto C2 3540.66

Tabella 6-12: Risultati ottenuti in termini di energia della curva.

Page 189: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

La fase di validazione pag.179

-150 -100 -50 0 50 100 1506

8

10

12

14

16

18

20

22

24

Figura 6-23: Profilo ottenuto con 'Algoritmo 'Proposto C2'

Si andranno ora a riportare per altri due casi i risultati ottenuti per alcuni degli algoritmi implementati, mostrando alcuni particolari ottenuti.

6.4 Case study: Scarpa L’esempio seguente è definito da un numero di punti di controllo inferiore ai precedenti e pari a 74. Di seguito viene mostrato il grafico del profilo:

Page 190: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

La fase di validazione pag.180

Figura 5.25: Scarpa

La sua curvatura:

Figura 5.26: curvatura Scarpa

Page 191: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

La fase di validazione pag.181

6.4.1 Algoritmo ‘Poliakoff et al.’ Grafico del profilo ottenuto:

Figura 5.27: Scarpa, metodo ‘Poliakoff’

E la sua curvatura:

Figura 5.28: curvatura Scarpa dopo il processo di Fairing ‘Poliakoff et al.’

Page 192: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

La fase di validazione pag.182

I dati relativi al processo sono i seguenti: GFI iniziale = 3.4844⋅103

n° iterazioni = 13 GFI finale = 3.5382⋅103 In questo caso, il processo di fairing porta ad un valore di GFI più alto di quello di partenza. E’ quindi un esempio chiaro di come, a volte, il criterio ‘Poliakoff et al’’ può generare dei risultati non accettabili. Quello che è accaduto lo si deve principalmente al criterio di stop utilizzato dal metodo: in pratica, la convergenza viene raggiunta dopo una serie di valori del GFI maggiori di quello di partenza. Come detto in precedenza, il criterio di stop proposto da Poliakoff et al. fa riferimento ad una successione di quattro valori di GFI, i quali devono convergere ad una tolleranza fissata. Graficamente, ciò equivale a dire che il grafico del GFI deve convergere ad un asintoto orizzontale. Ebbene, tale asintoto è stato raggiunto, ma ad un livello superiore, non essendoci in questo criterio nessun controllo sull’aumento o sulla diminuzione del valore del GFI ad ogni successiva iterazione.

6.4.2 Algoritmo ‘Proposto Criterio C1’ Dopo l’applicazione del metodo di fairing, la curva ottenuta è la seguente:

Figura 5.29: Scarpa, Algoritmo‘Proposto Criterio C1’

Page 193: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

La fase di validazione pag.183

E la relativa curvatura:

Figura 5.30: Curvatura Scarpa dopo algoritmo ‘Proposto Criterio C1’

I dati relativi al processo sono i seguenti: GFI iniziale = 3.4844⋅103

n° iterazioni = 4 GFI finale = 3.4674⋅103 Con il metodo ‘globale’ sono stati raggiunti dei risultati accettabili: il GFI è diminuito, quindi la qualità è migliorata, e il numero delle iterazioni è notevolmente minore.

6.5 Case study: Caracas Questo profilo è definito da 231 punti di controllo. Il suo grafico iniziale:

Page 194: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

La fase di validazione pag.184

Figura 6-24: Profilo iniziale caso 'Caracas'

E la sua curvatura:

Figura 6-25: Grafico iniziale curvatura caso 'Caracas'

Page 195: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

La fase di validazione pag.185

Come si vede dal grafico, le regioni della curva che presentano un andamento irregolare sono ben definite. Soprattutto nella parte iniziale si ha una discontinuità molto grande nel valore della curvatura.

6.5.1 Algoritmo ‘Poliakoff et al.’ Si riportano i dati relativi al processo: GFI iniziale = 4889.0⋅103

n° iterazioni = 136 GFI finale = 4657.3⋅103

6.5.2 Algoritmo ‘Proposto Criterio C1’ GFI iniziale = 4.8890⋅103 n° iterazioni = 123 GFI finale = 4679.5⋅103 Di seguito il grafico della curvatura, che mostra i miglioramenti sul profilo della curva:

Page 196: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

La fase di validazione pag.186

Figura 6-26: Curvatura 'Caracas' dopo Algoritmo 'Proposto Criterio C1'

I due rettangoli rossi indicano le zone dove ha agito l’algoritmo. Nella curva originale i due salti di discontinuità erano molto evidenti; ora il grafico della curvatura ha un andamento quasi costante. Di seguito vengono mostrati questi due particolari (la freccia nera indica il primo punto acquisito, che corrisponde allo zero nel grafico della curvatura):

Page 197: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

La fase di validazione pag.187

Figura 6-27: Caracas, metodo 'Proposto Criterio c1'

Figura 6-28: Caracas dettaglio 1/a

Dettaglio 1

Dettaglio 2

Page 198: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

La fase di validazione pag.188

Figura 6-29: Caracas, dettaglio 1/b

Qui si vede chiaramente il motivo del grande salto nell’andamento della curvatura.

Figura 6-30: Caracas, dettaglio 2

Page 199: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

La fase di validazione pag.189

6.6 Quadro riassuntivo Di seguito viene proposta una tabella riassuntiva di tutti gli esempi affrontati: Dai dati riportati si può verificare come il metodo globale proposto sia più efficace di quelli attualmente presenti in letteratura. Efficacia che si dimostra sia che si utilizzi una funzione di costo che vada a diminuire i tratti a curvatura differente, sia che si utilizzi la ricerca di una curva avente minima energia. Utilizzando la prima funzione di costo (‘Algoritmo Proposto Criterio C1’) si ottiene che in sei casi su dieci il valore di fairness della curva ottenuta applicando l’algoritmo proposto è migliore che non applicando gli altri metodi, in due casi i valori ottenuti sono paragonabili con il miglior risultato ottenuto applicando gli algoritmi presenti in letteratura, in un caso si ha un risultato peggiore di circa il cinque per cento e in un solo caso il metodo non è riuscito a fornire un risultato. Il motivo di questa non convergenza attualmente è oggetto di analisi. Utilizzando la seconda funzione di costo (‘Algoritmo Proposto Criterio C2’) e paragonando i risultati ottenuti con quelli conseguiti applicando i metodi presenti in letteratura ed esprimendo la qualità della curva in funzione della sua eneregia si ha che in ben nove casi su dieci il metodo proposto fornisce un risultato migliore. Sebbene per tre casi casi il miglioramento ottenuto sia minimo si ha che in media il miglioramento dell’energia associata alla curva è quindi del grado di fairness stesso della curva è di circa il 32%.

Page 200: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

190

FAIRING LOCALE

Casi GFI/Curvatura

iniziale GFI /Curvatura finale numero punti Metodo Farin et al. Metodo Poliakoff et al. Metodo Zhang et al. Metodo Proposto A1 Metodo Proposto A2 Profilo D Est Andromeda 83 3377 3228 3555 3359 3164 3511.20 Profilo D Int Andromeda 129 9713 9680 1324 9564 1240 12863.93 Profilo Stecca Andromeda 55 1177 1141 1276 1176 1182 1367.44 Profilo Stecca Cefeo 151 258189 71841 58501 257901 58523 90263.85 Andromeda Esterna 178 13631 13631 14063 13629 13134 13864.67 Caracas 231 4889 4457 4657 4489.9 4679 4765.90 Caorle 151 3034.8 3033 2839.4 3034 2793.7 2882.15 Cefeo 238 9010 9002 4952 9010 12680.94 Minollo 174 3889 3698 3074.2 3889.2 3058.1 3774.40 Scarpa 74 3484.4 3484 3538.2 3483.4 3467 3475.87

Tabella 6-13: Riassunto risultati espressi in GFI / Curvatura

FAIRING LOCALE Casi GFI /Energia Finale

numero puntiGFI/Energia

iniziale Metodo Farin et al. Metodo Poliakoff et al. Metodo Zhang et al. Metodo Proposto A1 Metodo Proposto A2 Profilo D Est Andromeda 83 8.692E+05 8.692E+05 7.926E+03 1.054E+04 7.926E+03 3.541E+03 Profilo D Int Andromeda 129 1.553E+06 1.553E+06 3.786E+03 3.959E+03 3.786E+03 3.783E+03 Profilo Stecca Andromeda 55 2.641E+02 2.641E+02 2.236E+00 3.130E+01 2.236E+00 2.236E+00 Profilo Stecca Cefeo 151 3.217E+04 3.217E+04 2.253E+01 1.066E+03 2.253E+01 2.138E+01 Andromeda Esterna 178 4.575E+10 4.575E+10 2.059E+10 4.575E+10 2.059E+10 1.122E+10 Caracas 231 2.624E+11 2.624E+11 3.248E+11 2.624E+11 3.247E+11 1.147E+10 Caorle 151 1.177E+11 1.177E+11 6.579E+09 1.177E+11 1.098E+10 3.086E+10 Cefeo 238 1.480E+12 1.480E+12 2.099E+12 9.660E+11 7.320E+11 Minollo 174 1.326E+11 1.326E+11 6.063E+11 6.742E+10 6.065E+11 4.606E+10

Scarpa 74 1.661E+10 1.661E+10 1.515E+10 1.752E+09 1.660E+10 1.739E+09

Tabella 6-14 Riassunto risultati espressi in GFI / Energia.

Page 201: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

191

Capitolo 7

Si andranno ora ad introdurre una classe di funzioni spline presentate il letteratura da Schonberg, Greville e Marsden, e sinora mai applicate in ambito del Reverse engineering. Queste funzioni sono state oggetto di studio durante questo dottorato e presentano particolari caratteristiche che ne consentono numerose applicazioni. Attualmente, si sta valutando la loro applicazione al problema della ricostruzione di profili fair.

Funzioni Quasi Interpolanti Spline

La classe di funzioni spline quasi interpolanti (variation diminishing spline VDS) introdotte da Schonberg, Greville e Marsden è molto importante ed ha particolari caratteristiche che ne permettono numerose applicazioni. Si andrà ora a richiamare la definizione e le caratteristiche di una curva VDS. Si consideri un vettore di nodi (knots) ( )m

kiit −==t , Nknknm ∈+= ,, tale che:

1t...tt...tt...t0 1m1nn10k ===<<<<=== ++−

la sequenza di B-splines normalized di grado k:

( ) ( ) mitttBtB ikiki

ki ,...,0,,...,; 1 == +−

è data da, utilizzando la classica notazione alle differenze divise:

( ) ( )[ ]( ) mittttttB kikikii

ki ,...,0,,..., 11 =−⋅−= ++−−+

L’operatore variation diminishing spline Sm è quindi definito da:

Page 202: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Funzioni Quasi Interpolanti Spline pag.192

( )( ) ( ) ( ) ,10,0

≤≤= ∑=

ttBftfS ki

m

i

kim ξ (1)

dove f:[0,1]→R è una qualsiasi funzione limitata e ( )m

iki 0==Ξ ξ è una sequenza di

nodes definiti in [0,1]. Come conseguenza della proprietà di conservare le funzioni affini, Greville stabilì [Sch67] che i nodes e i knots fossero legati dalla relazione:

( ) mittk iki

ki ,...,0,...1

1 =++= +−ξ (2)

In questo caso, si verificano le seguenti identità:

( ) 10

=∑=

tBm

i

ki (3)

( ) ttBm

i

ki

ki =∑

=0

ξ (4)

Inoltre dalla (2) segue immediatamente che:

( );11...0 11110 +−++ −=−=<<<= kiiki

ki

km

kk ttt

ξξξξξ

Se indichiamo con P0, P1, …, Pm l’insieme dei punti di controllo, con Pi∈Rd che sono i vertici del poligono di controllo P=(P0,..,Pm)T . Se sostituiamo nella equazione (1) ( )k

if ξ con PP ∈i otteniamo il modello delle curve B-spline:

( )( ) ( ) 10,0

≤≤= ∑=

ttBt ki

m

iim PPS (6)

Si dice che il modello di curva (6) è generato dall’operatore variation diminishing spline Sm. Le proprietà che soddisfano le B-spline VDS sono:

1) Invarianti per trasformazioni affini.

Page 203: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Funzioni Quasi Interpolanti Spline pag.193

Le funzioni B-splines ( )Tkm

kom BB ,...,=b sono una partizione dell’unità.

Questo assicura che la curva SmP è invariante alla traslazione, rotazione e allo scaling.

2) Convex hull

Sono interamente contenute nel poligono convesso formato dai punti di controllo. Tutte le funzioni B-spline sono delle funzioni non-negative:

( ) mitB k

i ,...,00 =≥ (7)

questa, con la (3) fa si che i punti della curva B-spline ( )( )tm PS siano dati da una combinazione convessa dei suoi punti di controllo. Quindi l’intera curva giace all’interno poligono convesso formato dai punti di controllo.

3) Interpolano i punti estremi del poligono di controllo Per il set di knots t le B-splines soddisfano le equazioni:

( ) ( ) ( )deltasKronecker'1,0 10 −== ijikii

ki BB δδδ

che porta a: ( )( ) ( )( ) ,1,0 0 mmm PPSPPS == in altre parole la curva B-spline incomincia in P0 e termina in Pm.

4) Rispettano la simmetria delle informazioni portate dai punti di controllo. Supponiamo che il set di nodi t è simmetrico rispetto al punto definito da t = ½,

nitt ini ,...,111 ==+ +− (9) Allora:

( ) ( ) 10,11 ≤≤−= − ttBtB km

ki (10)

Se indichiamo P’=(Pm,...,P0)T si vede che: ( )( ) ( )( ) 10,1' ≤≤−= ttt mm PSPS

5) Riproducono esattamente i punti e le rette.

Page 204: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Funzioni Quasi Interpolanti Spline pag.194

Dalla condizione (3) SmP riproduce esattamente i punti di controllo, si Pi=P0, i=1,...,m, allora SmP ≡ P0 . Inoltre, se il poligono di controllo è collineare, ad esempio: ,baP += k

ii ξ (a e b sono vettori di costanti), si ha ( )( ) 10, ≤≤+= tttm baPS il che significa che SmP riproduce le linee rette.

6) Rispettano le variazioni di concavità del poligono di controllo Le curve B-spline attraversano un generico piano appartenenete a Rd un numero di volte minore o al più uguale al numero di volte che attraversano il poligono di controllo. Quindi SmP diminuisce il numero di oscillazioni del poligono. Questa è una conseguenza della proprietà di variation diminishing dell’operatore Sm.

( ) { }c−

=

∑ StBcv

m

i

kii

0

dove S-{c}è la usuale notazione per il numero di cambi di segno nella sequenza c e v{f} è la variazione di segno della funzione f. Se ad esempio consideriamo un piano qualsiasi ax+b=0, a (vettore costante), x ∈ Rd , b ∈ R, abbiamo:

( ){ } ( ) ( ) ( ){ }mii

m

i

kiim bStBbvbv 0

0=

=

+≤

+=+ ∑ aPaPPSa

7) Sono definite univocamente

Ogni B-spline è univocamente determinata dal suo poligono di controllo. Due poligoni tra loro differenti non possono produrre la medesima curva.

P'PPSPS =⇔= 'mm

8) Permettono un controllo locale della forma La proprietà che definisce come minimo supporto per le B-spline:

( ) [ ]1,,0 +−∉= ikiki ttttB

permette di derivare la curva B-spline come una collezione di segmenti tali che ciasuno di essi è influenzato solo da dai vertici Pi,...,Pi+k.

9) Sono costruibili attraverso semplici algoritmi. Per calcolare una curva B-spline si utilizza semplicemente l’algoritmo di de Boor- Cox[]:

≤≤=

+

altrimenti

tttB

ii

i

0

1 1

0,

Page 205: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Funzioni Quasi Interpolanti Spline pag.195

( ) ( ) ( )tBtt

tttB

tttttB ki

kii

iki

kii

kiki 1,1

11,

1, −+

+−−

−−

−−

+−

−=

Questa formulazione ricorsiva permette di calcolare un punto in corrispondenza del parametro t con ti ≤t≤ti+1 in modo semplice e computazionalmente stabile.

10) Sono sufficientemente regolari. Se v nodi coindicono ad es. ... la curva ha k-v-1 derivate continue in ti. Smoothness è una proprietà importante per le cosidette curve libere. Infatti, solo una curva smooth si può considerare esteticamente bella.

11) Possono essere utilizzate in prodotto tensore per costruire una superficie. Le curve B-spline possono essere utilizzate per formare un mosaico costituito da patch rettangolari. Questa tecnica è nota come prodotto tensoriale di curve. Infine introduciamo una notazione matriciale per l’equazione (6) che ci tornerà utile in seguito: ( )( ) ( ) .10, ≤≤= ttt t

mm PbPS

7.1 Integral Variation Diminishing Spline e relativo modello di curve.

Una variazione della classe delle VDS spline sono le spline definite attraverso un operatore integrale. Ad esse vengono, analogamente alle VDS spline, associate particolari curve, che godono di altrettanto interessanti proprietà. Per un k fissato, la spline Smf data dalla (1) converge a f per ogni f continua. In [Mul] Muller ha esteso il metodo di approssimazione sviluppato da Schoenberg in modo tale da renderlo applicabile ad ogni funzione f ∈ Lp[0,1], con 1≤p≤∞, sostituendo nell’equazione (1) f(ξi,k) con la sua media integrale calcolata sull’intervallo Ii =(ξi,k+1, ξi+1,k+1)

( ) miduuffki

kki

i ,...,011

1

11 =

∆= ∫

++

++

ξ

ξ

µ (13)

dove 11

11 ++

++ −=∆ k

iki

ki ξξ . E’ facile vedere che i

ki I∈ξ . Cioè dalla equazione (2) si

ha:

Page 206: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Funzioni Quasi Interpolanti Spline pag.196

1,...,0,1

...1 +=+

++= −+ mi

ktt ikik

quindi:

,1

,1

1111 +

−=−=

+−

=−= −++++ k

tk

t kikik

iki

li

kiik

iki

ri

ξξξδξξξδ

e quindi:

miki

ki

ki ,...,01

11 =<< +

++ ξξξ

Questo significa che il nodo k

iξ divide l’intervallo Ii, in due sotto intervalli le cui lunghezze sono rispettivamente l

iδ (intervallo sinistro) e riδ (intervallo destro).

In questo modo si ottiene l’operatore di Schoenberg spline integrale:

( )( ) ( ) 100

≤≤= ∑=

ttfBtfTm

i

kiim µ

il quale è definito per ogni f∈Lp[0,1]. Dato che l’operatore Tm ha la stessa funzione di base di Sm mostra un grande insieme di buone proprietà come Sm. Così come sm genera un modello di curva anche Tm genera un modello di curva. Per costruire questo modello che indichiamo con TmP si utilizza la seguente tecnica. Innanzitutto, si nota che il valore del parametro t∈[0,1]corrispondente al punto di controllo Pi è k

it ξ= . Quindi tenendo conto che un’equazione

parametrica del poligono di controllo P0,P1,...,Pm con ( ) dTid

ii xx RP ∈= ,...,1 è:

)(...

)()(

1

t

tt

ϕ

dove )t(jϕ è il polinomio lineare a pezzi che passa per i punti

.,...,2,1,),( 0 djx mi

ij

ki ==ξ Dalla proprietà delle VDS di riprodurre linee e punti

segue che:

( ) ( ) 10)()( ≤≤= ttt PSΦS mm cioè:

Page 207: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Funzioni Quasi Interpolanti Spline pag.197

( ) djS jmjm ,...,1== PSϕ (16) dove con (a)j indichiamo la j-esima coordinata del vettore a. Il modello TmP soddisfa la condizione analoga alla (16): ( ) djT jmjm ,...,1== ϕPT (17) Se sostituiamo a ϕj(t) la sua media integrale:

=+−=++

=+=

−=

+−++

+

∫+

+

+

mixxmixxx

ixxduu

mjm

mjm

iji

iji

iji

jj

ki

ki

j

ji

ki

ki

βαγβα

γβ

ξξ

ϕ

ϕµ

ξ

ξ

1

11

10

00

111

1,...,1,0)(

11

1

(18)

dove:

=−−=

=−=∆∆

=

=∆∆

==

+

+−

mi

mi

mi

iii

mki

ki

ri

i

ki

ki

li

i

,...'1,1

;0,1,...,1,2

)(

;,...,1,2

)(,0

1

2

11

2

0

γαβ

γδ

γ

δαα

(19)

dove:

11

11111 ,,, +

++++

++ <<−=−=−=∆ ki

ki

ki

ki

ki

li

ki

ki

ri

ki

ki

ki ξξξξξδξξδξξ

otteniamo:

( ) ( ) ( ) 100

≤≤= ∑=

ttBm

i

kijijm MPPT

dove M è una matrice (m+1)*(m+1) di trasformazione tri-diagonale che dipende dal vettore dei nodi t.

Page 208: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Funzioni Quasi Interpolanti Spline pag.198

=

mm

m

M

βαγ

βαγβα

γβ

0

0

1

22

111

00

......

... (21)

dove α,β e γ sono dati dalle (19). In questo modo la curva modellata dalla equazione vettoriale (TmP) può essere descritta dall’equazione vettoriale (SmQ), prodotta attraverso un nuovo insieme di punti di controllo Q che si ottengono trasformando P, cioè

Q=MP (22) Presentiamo ora attraverso alcuni Lemma le principali proprietà della matrice M fornita dall’equazione (21). Lemma 1: Per un qualsiasi vettore dei nodi t, la matrice di trasformazione M(t)=M[Mij], i,j=0,...,m soddisfa le seguenti proprietà: Mij≥0, i,j=0,...,m, (23) e

.,...,0,1 mjMj

ji ==∑ (24)

Dimostrazione: In seguito alla monoticità dei nodi (5) si ha: 0>∆k

i , 01 >∆ +ki per ogni i , quindi

considerando la (17) si ha αi≥0 e γi≥0, i=,...,m. Inoltre si può notare come dal fatto che i

ki I∈ξ discende che r

ili

ki δδ +=∆ +1 e k

ili 1−∆≤δ , k

iri ∆≤δ .

Da ciò segue che:

( ) ,112 k

iki

li −

+ ∆∆≤δ ( ) ,12 ki

ki

ri ∆∆≤ +δ

e quindi :

( )[ ] ( )[ ] ,021

1211 ≥−∆∆∆+−∆∆∆ −

++−

li

ki

ki

ki

ri

ki

ki

ki δδ

Page 209: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Funzioni Quasi Interpolanti Spline pag.199

dividendo entrambi i membri di questa diseguaglianza per ,011 >∆∆∆ −

+ ki

ki

ki si ha

βi≥0. Quindi l’equazione (23) è valida. Dall’equazione (19) abbiamo che .,...,0,1 mjM jjj

jij ==++=∑ γβα

Lemma 2: Sia il vettore di nodi t simmetrico rispetto al punto t=172, ad esempio:

nitt ini ,...,111 ==+ +− (25) Allora la matrice M=M(t) è centralmente simmetrica, ovvero:

mjiMM ijjmim ,...,0,,, ==−− (26) Dimostrazione: dato che [Mij] è una matrice tri-diagonale è sufficiente provare che:

miimimi ,...,0,,1 === −− ββγα (27) Innanzitutto, notiamo che la simmetria del vettore dei nodi (knots) t, implica la simmetria dei nodi (nodes). Ovvero:

,......1... 1)(111

kttk

ktt

ktt ikknikninknikik

i+−−+−+−+−++−

−−−=

−−−=

++=ξ

o, se usiamo m=n+k,

,1...

1 1 kim

imkimki k

tt−

−+−− −=++

−= ξξ

per i=0,...,m. In modo simile otteniamo ,1 1

11 +

−++ −= k

imki ξξ i=0,...,m. Quindi ora

abbiamo:

mirim

kim

kim

ki

ki

li ,...,0,1

11 ==−=−= −−

++−

+ δξξξξδ

mikim

kim

kim

ki

ki

ki ,...,1,111

111

11 =∆=−=−=∆ +

−+−

++−

+++

+ ξξξξ e

mikim

ki

ki

ki ,...,1,11 =∆=−=∆ −−− ξξ

che comporta:

Page 210: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Funzioni Quasi Interpolanti Spline pag.200

( ) ( )miimk

imk

im

rim

ki

ki

li

i ,...,1,22 1

2

11

2

==∆∆

=∆∆

= −+−−

−+

γδδ

α

e se consideriamo il fatto che α0=γm otteniamo la prima uguaglianza in (27). La seconda uguaglianza è una semplice conseguenza della relazione

iii γαβ −−= 1 e della uguaglianza appena dimostrata. Lemma 3: La matrice di trasformazione M(t) è una matrice di Descartes per qualsiasi vettore di nodi t. Dimostrazione: La matrice [Mij] è una matrice di Descartes se

i. Per qualsiasi ν i minori

ν

ν

kkjj

M......

0

0 sono dello stesso segno.

ii. Per ogni j0...jν (k0 ... kν) esiste k0...kν (j0 ... jν) tale che:

;0......

0

0 ≠

ν

ν

kkjj

M

dove per j0<...<jν, k0<...<kν,

υυυ

υ

ν

ν

kjkj

kjkj

MM

MM

kkjj

M...

......

...

...

0

000

0

0 =

Dato che M(t) è una matrice tri-diagonale con termini non negativi, è sufficiente provare che ha una diagonale dominante cioè che:

.,...,0 miiii =+> γαβ (28) In virtù del fatto che iii γαβ −−= 1 l’equazione (28) diventa:

.,...,0,21 miii =<+ γα (29)

Page 211: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Funzioni Quasi Interpolanti Spline pag.201

Per dimostrare l’equazione precedente notiamo che ki

li 1−∆<δ e k

iri ∆<δ e questo

implica che: ( ) l

iki

li δ

δ<

∆ −1

2

e ( ) r

iki

ri δ

δ<

2

da cui si ricava che:

( ) ( ) ri

lik

i

ri

ki

li δδ

δδ+<

∆+

∆ −

2

1

2

. Ora tenendo conto che ri

li

ki δδ +=∆ +1 si ha :

( ) ( )

11

2

11

2

<∆∆

+∆∆ ++

−ki

ki

ri

ki

ki

li δδ

che è equivalente all’eq. (29) per i=1,...,m-1. Per i=0 e i=m si ottiene:

( ) ( ) ,21

21

22 01

01

1

00

20

100

20

0 <−−

=∆

=∆∆

=+

+ kk

kk

rk

r

kk

r

ξξξξ

δδδγ

( ) ( ) ,

21

21

222 1

1

11

2

11

2

<−−

=∆

=∆

=∆∆

=−

+

−−+

−km

km

km

km

km

lm

lm

km

lm

km

km

lm

m ξξξξδ

δδδα

quindi l’equazione (29) è valida per i=0,...,m. Dalla positività di αi,βi, e γi (Lemma 1) si ha che tutti i minori 1*1 di M(t) sono positivi. Ugualmente tutte i minori diagonali 2*2:

1,...,1,11

−=++

miii

ii

βαγβ

sono positivi. Questo è una conseguenza dell’equazione (28). Ovvero, dalla equazione (28) si a βi>γi e βi+1>αi+1 e βiβi+1>αi+1γi, i=1,...,m-1. La positività dei determinanti di ordine più elevato è garantita dalle proprietà della diagonale dominante. Corollario1. det M(t)>0 per ogni t TEOREMA 1 Il modello di curva TmP dato dall’equazione (20) ha le seguenti proprietà:

i. È invariante per trasformazioni affini del sistema di coordinate ii. TmP ⊂ convex hull (P)

Page 212: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Funzioni Quasi Interpolanti Spline pag.202

Sono interamente contenute nel poligono convesso di vertici dei punti di controllo

iii. È simmetrica Rispettano la simmetria delle informazioni portate dai punti di controllo

iv. È variation diminishing v. TmP= TmR ⇔ P=R

Osservazione 1: si noti che TmP non interpola i punti iniziali e finali del poligono di controllo P0, Pm. In effetti si ha: ( )( ) ( ) ,10 10001000 PPPPPTm γγγβ +−=+= ( )( ) ( ) ,11 11 mmmmmmmm PPPPPTm ααβα −+=+= −− Cioè, TmP interpola P0 e Pm se e solo se P0 = P1 e Pm-1 = Pm. Osservazione 2: Il modello TmP riproduce linee rette ma in generale non conserva la disposizione dei punti di controllo lungo questa linea. Osservazione 3: Il calcolo di un punto TmP(t) per un qualsiasi t non è più complicata del calcolo nel modello base. Prima si calcola Q attraverso la (20) e poi si applica l’algoritmo di de Boor. Facciamo ora una considerazione importante: la forma della curva è controllabile e modificabile localmente cambiando gli elementi del vettore t e di conseguenza i punti di controllo Così facendo è possibile modificare solo localmente la curva e sopratutto non in modo prevedibile. Nasce pertanto l’idea di introdurre nell’equazione della curva un parametro da poter spendere per il miglioramento della forma della curva senza alterare le proprietà geometriche della curva stessa e la semplicità ed efficienza algoritmica. E’ possibile inserire un parametro λ nella espressione della lunghezza dell’intervallo di integrazione. Ovvero possiamo rendere la media integrale (13) dipendente dalla lunghezza dell’intervallo di integrazione. Precisamente:

miduuffi

iiii ,...,0)(1

=−

= ∫η

ζ

λ

ζηµ (30)

Page 213: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Funzioni Quasi Interpolanti Spline pag.203

Dove: 1k1i

kii

1ki

kii )1(and)1( +

++ +−=+−= λξξληλξξλζ e ( ]1,0∈λ Se utilizziamo

la convenzione che per ogni funzione integrabile:

( ) ( ),lim0

afduufa

a

=∫+

−→ +

ε

εε

(31)

Possiamo definire una famiglia di spline λ-integrali:

( )( ) ( ) 100

≤≤= ∑=

ttfBtfTm

i

kiim

λλ µ (32)

Con il parametro λ definito sull'intervallo [0,1]. Quindi dalla (32) si ricava che

( )kii ff ξµ =0 e ff ii µµ =1 dove fiµ è dato dall’equazione (13). In questo

modo si ha:

fTfTfSfT mmmm == 10 Quindi anche la matrice di trasformazione dipende da λ e con alcuni calcoli si dimostra che diventa:

( ) ( )

==

λλ

λ

λλ

λλλ

λλ

βαγ

βαγβα

γβ

λλ

mm

m

tMM

0.........

0

,

1

22

111

00

(33)

dove:

( ) miiiiiiii ,...,01, =+−=== γαλβλγγλαα λλλ Dove αi e γi si ricavano dall’equazione (19). La relativa famiglia di modelli di curve è data da: ( )( ) ( ) ( )( ) 10,10, ≤≤≤≤= λλ tMtt T

m PbPT λm (35)

E’ chiaro che

Page 214: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Funzioni Quasi Interpolanti Spline pag.204

PTPTPSPT mmm

0m == 1,

Ovvero in corrispondenza dei valori estremi di λ otteniamo rispettivamente una curva B-spline o la sua modifica integrale. Il poligono di controllo modificato dipenderà da λ:

( )PMQ λλ = (36) La matrice di trasformazione, essendo una matrice-l di primo grado, consente la seguente decomposizione:

( ) ( ) ( ) 10,11 ≤≤+−= λλλλ MIM (37) come la conseguenza della ovvia relazione ,,...,0,1 miii =+−= λβλβ λ dove βi è dato dalla (19). Si noti che M(0) = I è la matrice identità. Dalle equazioni (36) e (37) si ha:

( ) ( )PMPQ 11 λλλ +−= , o se si ricorda che Q1 = Q= M(1)P e P = M(0)P = Q0 si ottiene:

( ) [ ]1,0,1 10 ∈+−= λλλλ QQQ (38) Questa equazione possiamo interpretarla geometricamente. Consideriamo per semplicità la coordinata i-esima del vettore Q. Dall’equazione (22) ricaviamo che Qi =αiPi-1 + β iPi+ γiPi+1 con αi β i γi≥0 e αi + β i+ γi=1. In altre parole, αi β i γi sono le coordinate baricentriche del punto 1

iQ rispetto al triangolo Pi-1 Pi Pi+1. Quindi coerentemente con l’equazione (38), il punto λ

iQ divide il segmento 10

ii QQ nei due segmenti λ:(1−λ). Perciò, { } [ ]1,0∈λ

λQ è una famiglia parametrica di punti di controllo che produce una

famiglia di curve B-spline. Ciascuna curva può essere considerata come il risultato di una miscela di due curve estreme della famiglia: le B-spline tradizionali e quelle integrali.:

( ) ( )[ ] ( )( ) ( ),11 1 PTPSQPbPT mmλ

m λλλλ +−=+−= tm (39) Il seguente teorema definisce le proprietà del modello PT λ

m .

Page 215: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Funzioni Quasi Interpolanti Spline pag.205

TEOREMA 2 Per ogni λ∈[0,1] e per qualsiasi vettore di nodi t, PT λ

m conserva tutte le proprietà del modello di curve PTm dimostrate dal teorema 1. Dimostrazione L’invarianza per trasformazioni affini e la proprietà di essere interamente contenute nel poligono convesso definito dai vertici dei punti di controllo, sono una conseguenza del fatto che M(t, λ) è una catena di Markov per ogni λ∈[0,1] e t. Questo è una conseguenza dell’eq. (37) e del fatto che I=[δij] e M(t,1)=Μ=[Μij] date dall’equazione (21) sono delle catene di Markov (lemma 1). Ovvero, se si pone ( ) [ ]λλ ijMM =,t si ottiene:

( ) ( ) 111 =+−=+−= ∑ ∑∑ λλλδλλ

j jijij

jij MM

e

( ) .010,0 ≥+−=⇒≥≥ ijijijijij MMM λδλδ λ La proprietà di simmetria segue dal Lemma 2 e dal fatto che δm-, m-ji =δij da cui per ogni λ, t

( ) ( ) λλ λδλλδλ ijjijijmimjmimjmim MMMM =+−=+−= −−−−−− ,,,,, 11 Per dimostrare la proprietà di minima variazione (variation diminishing), osserviamo che il Lemma 3 asserisce che M(t) è una matrice di Descartes per ogni t. La relazione chiave che giustifica questa affermazione è la diagonale dominante (28). Dalle equazioni (33) e (37) si ha che

( ) ( )iiii γαλλλβλβ λ ++−>+−= 11 e quindi, per ogni λ∈[0,1] si ottiene che: ( ) λλλ γαγαλβ iiii i

+=+> . Ovvero, la matrice M(t, λ) è una matrice tri-diagonale con una diagonale dominante per ogni λ∈[0,1] e per un qualsiasi vettore di nodi t. Quindi PT λ

m diminuisce le variazioni del poligono di controllo P che la definisce. Questo significa anche che il poligono di controllo trasformato Qλ oscilla meno di P per ogni λ∈(0,1]. Infine il fatto che det M(t,λ )≠ 0 implica che:

RPRTPT mm =⇔= ,λλ Per ogni λ∈[0,1] e per un qualsiasi vettore di nodi t.

Page 216: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Funzioni Quasi Interpolanti Spline pag.206

L’insieme delle curve { } [ ]1,0∈λ

λ PTm è chiamato un pencil di curve B-spline definite dal poligono di controllo P e denotato dal simbolo π(P). Osservazione 4 Dall’equazione (39) segue che Qλ=(1−λ)P+λQ (dove Q=Q1). Questo implica che la curva PT λ

m interpoli i punti: ( ) 000 1 QPQ λλλ +−= ( ) mmm QPQ λλλ +−= 1 o ( ) 10000 1 PPQ λγλγλ +−= ( ) mmmmm PPQ λαλαλ −+= − 11 Quindi raddoppiando il punto finale Pm e quello iniziale P0 del poligono di controllo iniziale P si garantisce che qualunque curva appartenente al pencil π(P) li interpoli. Osservazione 5 Il modello PT λ

m riproduce linee rette per ogni λ∈[0,1], ma in generale non conserva la disposizione dei punti di controllo lungo questa linea. Osservazione 6 Il calcolo di un punto ( )tPT λ

m per dati valori di t, λ e t si ottiene allo stesso modo di un punto appartenente a ( )tPTm

1 . Innanzitutto, si calcola Qλ = M(λ)P, dopodiché si utilizza l’algoritmo basato sulla ricorsione (12). Invece di calcolare Qλ potremmo calcolare il nuovo insieme di funzioni di base:

( )Tmm

mm DD λλλ ,,

0 ,...,=d il quale è determinato da: ( )( ) ( ) ( )( ) ( ) ( )( ) ( )( ) ( ) ,PdPbPbPbPT λ

mT

mT

mTT

mTm MMtMtt λλλλ ====

quindi:

( ) mT

m M bd λλ = . Ad esempio

Page 217: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Funzioni Quasi Interpolanti Spline pag.207

( ) ( )tBtBD kkm

1100,

0λλλ αβ +=

( ) ( ) ( ) 1,...,1,1111

, −=++= ++−− mitBtBtBD kii

kii

kii

mi

λλλλ αβγ

( ) ( )tBtBD kmm

kmm

mm

λλλ βγ += −− 11,

infine è interessante un’interessante proprietà delle curve appartenenti al pencil π(P): l’esistenza di punti fissi. Un punto F si definisce punto fisso del pencil π(P) se tutte le curve di π(P) passano per F. Dall’Osservazione 4 segue immediatamente che i punti iniziali e finale P0 e Pm devono essere dei punti fissi se P0 = P1 e Pm = Pm-1. TEOREMA 3 Supponiamo che due curve 1λT e 2λT , λ1<λ2 appartenenti a un dato π(P) si intersecano nel punto ( ) ( )FF tt 21 λλ TTF == . Allora tutte le curve ( )PT πλ ∈ passano per F. Dimostrazione Innanzitutto, rappresentiamo λT utilizzando 1λT e 2λT . Dall’equazione (39) otteniamo:

( ) 11

0111 TTT λλλ +−= ( ) 1

20

212 TTT λλλ +−= e

( ) 101 TTT λλλ +−= Eliminando T0 e T1 si ottiene:

21

12

1

12

2 λλλ

λλλλ

λλλλ

TTT−

−+

−=

o:

( )1221

12

1

12

1

12

2 λλλλλ

λλλ

λλλ

λλλ

TTTTT −−

+

+−

=

Calcolando l’ultima espressione per t = tf si ha:

Page 218: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Funzioni Quasi Interpolanti Spline pag.208

( ) FFFT =

+−

=12

1

12

2

λλλ

λλλλ

Ft

c.v.d. Osservazione 7 Non è possibile cambiare la posizione del punto ( )Ft

λT nonostante si cambi λ. Questa è la ragione per cui F si chiama punto fisso.

Page 219: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

209

Conclusioni Il presente lavoro si colloca nell’ambito della definizione e dello sviluppo di algoritmi per la ricostruzione di curve e superfici ed affronta in particolare la ricostruzione di profili acquisiti mediante macchina di misura a coordinate. La ricostruzione di un profilo comprende la costruzione di una prima curva interpolante il set di punti iniziali, a cui segue una fase di miglioramento dell’aspetto della curva detta fairing per rimuovere le ondulazioni indesiderate presenti sulla curva. Per risolvere tale problema è stato quindi necessario analizzare, sintetizzare, formalizzare e verificare questo problema. Durante la fase di analisi si é cercato di scoprire l’esistenza di metodologie di uso comune al fine di ricostruire profili fair. Si é, quindi, posto il problema di arrivare alla messa a punto di una metodologia generale, semplice, gestibile da un calcolatore, per ricostruire, a partire dal set di punti iniziali una curva fair. Si è trattato, quindi, di elaborare delle informazioni di carattere geometrico, al fine di arrivare alla sua definizione. Si è così messa a punto una procedura, il più possibile generale. Si é infine posto il problema di tradurre, in termini quanto più possibile indipendenti dall’operatore umano, la metodologia individuata in precedenza. Durante la fase di formalizzazione si sono, quindi, cercati dapprima gli strumenti più adatti a rendere automaticamente eseguibile tale metodologia per poi giungere ad una loro applicazione in un software adeguato. La fase finale di verifica ha avuto come obiettivo quello di testare il software sviluppato su una serie di profili campione, a complicanza crescente. Il risultato di tale lavoro, nonché obiettivo ultimo di questa tesi, é stato quindi lo sviluppo di un software. I risultati ottenuti mostrano come il metodo proposto sia più efficace ed efficiente dei metodi attualmente presenti in letteratura. Efficacia che si ottiene sia che si implementi ponendo come funzione di costo la diminuzione delle variazioni della curvatura sia che si utilizzi la funzione di costo basata sull’energia della curva. Ma è soprattutto implementando il metodo con la seconda funzione di costo che si ottengono i risultati più vantaggiosi, infatti, si sono registrati dei miglioramenti rispetto a quanto ottenuto con gli altri algoritmi mediamente dell’ordine del 30%.

Page 220: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

210

Bibliografia

[Aga78] Agarwal, G.G. Studden, W.J. (1978) Asymptotic Design and Estimation using linear splines Communications in Statistics Simulation and Computation B, 7, 309-320

[And88] Andersson, E., Andersson, R., Boman, M., Elmroth, T., Dahlberg,

B., Johansson, b. Automatic construction of surfaces with prescribed shape. CAD 20 (1988), 317-324

[Att68] Atteia, m. (1968) Fonctions (Spline) definies Sur un Ensemble

Convexe Numerische Mathematik, 12, 192-210 [Baj95] Bajaj, C., Bernardini, F., Xu, G. Automatic reconstruction of

surfaces and scalar fields from 3d scans. Computer Graphics (SIGGRAPH '95 Proceedings) (1995), 109-118

[Bes88] Besl, P J Jain R C ‘Segmentation through variable-order surface

fitting’ IEEE PAMI (1988) 10(2), 167-192 [Boh80] Wolfgang Bohm. Inserting new knots into B-spline curves.

Computer Aided Design, 12, pp. 199-201. (1980). [Boh84] W. Bohm, G. Farin, J. Kahmann : A survey of curve and surface

methods in CAGD, Computers Aided Geometric Design, (1984) vol.1, pp.1-60,.

[Bos95] Bosch J. A., Coordinate Measuring Machines and Systems”,

Marcel Dekker, Inc., 1995. [Cal03a] Caliò, F.; Moroni, G.; Rasella, M. A particular class of spline in

reconstruction of revolution surfaces from 3-D data measured by CMM Robotics and Computer-Integrated Manufacturing Volume: 19, Issue: 1-2, February - April, 2003, pp. 219-224

[Cal03b] Caliò F., Miglio E., Moroni G., Rasella M., 2003 An Improved B-

spline Approach for the Surfaces Reconstruction from Data Measured by CMM, ASPE 2003 Summer topical Meeting on Coordinate Measuring Machine June 25-26, Charlotte, North Carolina USA, pp. 21-26

Page 221: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Bibliografia pag.211

[Cap] E. Capello, Q. Semeraro: The effect of sampling in circular substitute geometries evaluation, International Journal of Machine Tools & Manufacture, vol. 39, pp 55-85

[Chi95] P.N. Chivate, A.G. Jablokow : Review of surface representations

and fitting for reverse engineering, Computer Integrated Manufacturing Systems, (1995) vol.8, pp.193-204,.

[Chi00] Ching-Chih Tai, Ming-Chih Huang. The processing of data points

basing on design intent in reverse engineering. International Journal of Machine Tools & Manifacture, 40, pp. 1913-1927. 2000.

[Cur96] Curless, B., Levoy, M. A volumetric method for building complex

models from range images. Computer Graphics (SIGGRAPH '96 Proceedings) (1996), 303-312

[Din87] Q. Ding, B. J. Davies. Surface Engineering Geometry for CAD and

Manufacture. Ellis Horwood, Chichester. UK, (1987). [Eck95a] Eck M., Hadenfeld J., Local Energy Fairing of B-Spline Curves,

Computing Supplementum 10, Geometric Modelling, 129-147, Springer, 1995

[Eck95b] Eck M., Hadenfeld J.. Knot Removal for B-spline curves.

Computer-Aided Design, (1995) Vol. 12, pp. 259-282. [Eck96] Eck M., Hoppe H. Automatic reconstruction of B-spline surfaces of

arbitrary topological type Computer Graphics (SIGGRAPH ’96 Proceedings) (1996) vol. 30, pp. 325-334)

[Ert76] Ertel, J.E, Fowlkes E. B. Some algorithms for linear spline and

piecewise multiple linear regression (1976) Journal of the american statistical Association, 71, 640-648

[Far90] Farin G., Sapidis N.,. Automatic fairing algorithm for B-spline

curves. Computer-Aided Design, (1990)Vol. 22. No. 2, pp. 121-129.

[Far96] Gerald Farin. Curves and Surfaces for CAGD: a practical guide.

4th edition. Academic Press Limited. 1996 [Fit97] Fitzgibbon A W, Bispo E., Fisher R b Automatic acquisition of

CAD models from range images Computer Aided Design (1997) vol. 29 pp.321-330

Page 222: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Bibliografia pag.212

[Fan92] Fang, L., Gossard, D. Reconstruction of smooth parametric

surfaces from unorganized data points. Curve and Surfaces in Computer Vision and Graphics 3 (1992), J.Warren, Ed., vol 1830, SPIE, pp. 226-236

[Fol94] Foley TA, Ekpete R. Optimized parameterizations for cubic and

bicubic splines. In Bowyer A. editor. Computer aided surface geometry and design, the mathematics of surfaces IV, Oxford : Clarendon Press 1994 pp. 373-383

[Frie89] Friedman, J.H,, Silverman, B.W., Flexible parsimonious smoothing

and additive modelling (with discussion), (1989) Technometrics 31, 3-21

[Frie91] Friedman J.H. Multivariate adaptive regression splines (with

discussion) (1991) Ann. Statistics, 19, 1- 141. [Gri95] Grimstead I J, Martin R R Creating solid models from single 2D

sketches Proc 3rd Symposium on Solid Modeling and Applications ed C Hoffmann and J Rossignac, ACM Press (1995), pp 323-327

[Guo97] Guo B., Surface reconstruction: from points to splines Computer

Aided Design (1997) vol. 29, pp.269-277 [Hag90] Hagen, H. Shultze, G., Extremalprinzipien im Kurven und

Flachendesign. In Encarnacao j.L.; Hoschek, J. Rix J. (eds) Geometrische Verfahren der Graphischen Datenverarbeitung Springer, Verlag (1990), pp. 46-60

[Hof89] Hofmann C M. Geometric and solid modelling, An introduction.

Morgan Kaufman, San Matteo, CA, 1989 [Hof93] Hofmann C M, Juan R. ‚Erep and editable high-level representation

for geometric design and analysis Geometric and Product modellind ed P Wilson, M Wozny and M J Pratt, North Holland (1993) pp. 129-164

[Hoo95] Hoover A., Goldgof D., Bowyer K W., Extracting a valid boundary

representation from a segmented range image IEEE PAMI (1995) vol 17(9). pp. 920-924.

Page 223: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Bibliografia pag.213

[Hop93] Hoppe, H., DeRose, T., Duchamp, McDonald, J., Stuetzle, W. Mesh optimization Computer Graphics (SIGGRAPH '93 Proceedings) (1993), 19-26.

[Hos69] Hosaka, M., theory of curves and surfaces synthesis and thei

smooth fitting. Information Processing in Japan (1969) 9, 60-68 [Hos88] Hoschek, J Intrinsic parameterizations for approximation.

Computer Aided Geometric Design (1988),vol. 5 27-31 [Hos89] Hoschek, J., Schneider, F.-J., Wassum, P. Optimal approximate

conversion of spline surfaces. Computer Aided Geometric Design 6 (1989), 293-306

[ISO97] ISO10360-1, Geometrical product specifications (GPS) –

Acceptance test and reverification test for coordinate measuring machines (CMM), 1997.

[Kje83] Johan A P Kjellander. Smoothong of cubic parametric splines.

Computer Aided Design, (1983). vol 15, n 3, pp 175-179. [Kri96] Krishnamurthy, V., Levoy, M. Fitting smooth surfaces to dense

polygon meshes. Computer Graphics (SIGGRAPH '96 Proceedings) (1996), 313-324

[Ye99] J.Ye, R.Qu. Fairing of Parametric Splines. Mathematical and

Computer Modelling, (1999) 30, pp.121-131.. [Lai00] J.Y. Lai, W.D. Ueng : Reconstruction of surfaces of revolution

from measured points, Computers in Industry, (2000), vol.41, pp.147-161,.

[Lau69] Laurent, P.J. (1969) Construction of spline Functions in a Convex

Set Approximations with special emphasis on spline functions (ed. I.J. Schoenberg), New York: Academic Press, 415-446.

[Lee89] E. T. Y. Lee. Choosing nodes in parametric curve interpolation.

Computer Aided Geometric Design, Volume 21, numero 6. 1989. [Lee00] Lee T. C. M. Regression spline smoothing using the minimum

description length principle Statistics & Probability Letters 48 (2000) 71-82

Page 224: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Bibliografia pag.214

[Leo95] Leonardis, A. Gupta A e Bajcsy R ‘Segmentation of range images as the search for geometric parametric models’ International Journal of computer Vision 14, (1995), 253-277

[Liu02] G.H.Liu, Y.S.Wong, Y.F.Zhang, H.T. Loh. Adaptive fairing of

digitized point data with discrete curvature. Computer-Aided Design, Vol. 34, pp. 309-320. 2002

[Man88] Mantyla M. An introduction to Solid Modelling Computer Science

Press, Rockville, Maryland 1988 [Mar86] Marsh C. L. Estimating the number and location of knots in spline

regression (1986) Journal of applied business research 60-70. [Mar84] Marin SP. An approach to data parameterization in parametric

cubic spline interpolation problems. Journal of Approximation Theory (1984). Vol.41 pp 699-710.

[Meh74] Mehlum E., Nonlinear splines. In Barnhill R.E.; Riesenfeld R.F.

(eds): Computer Aided Geometric Design, Academic Press (1974), 173-208

[Mei87] Meier H. Der differentialgeometrische Entwurf und die analytische

Darstellung krummungs-stetiger Schiffsoberflachen. Fortschrittsberichte VDI-Reihe 20, No 5, VDI-Verlag 1987

[Men96] C. Menq, F.L. Chen : Curve and surface approximation from CMM

measurement data, Computers Industrial. Engineering, (1996) vol.30, pp.211-225,.

[Mil91] G.V. Milovanovic, L.J.M. Kocic : Integral spline Operators in

CAGD, (1991).Atti Sem. Mat. Fisica, pp.433-454, [Mil95] Milroy, M., Bradley, C., Vickers, G., Weir, D. G1 continuity of B-

spline surface patches in reverse engineering. CAD 27 (1995), 471-478

[Mil97] Milroy M J, Bradley C Vickers G W ‘Segmentation of a wrap-

around model using an active contour’ computer Aided Design 29, (1997), 299-320

[Moo91] Moore, D., Warren, J. Approximation of dense scattered data using

algebraic surfaces. Proc. of the 24th annul hawaii Intnl. Conf. om

Page 225: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Bibliografia pag.215

System Sciences, Kanuai, HI, USA (1991), V. Milutinovic and D.Shriver, Eds., IEEE Comp. Soc. Press, 681-690

[Mor89] Michael E. Mortenson. Modelli geometrici in computer graphics.

McGraw-Hill [Mor93] Morenton H.P. Minimum Curvature Variation Curves Networks

and Surfaces for Fair Free-Form Shape Design PhD thesis, U. of California 1993

[Mor03] Moroni G., Rasella M., 2003 Smooth curves reconstruction from

measured points, ICPR 2003, 17th International Conference on Production Research, August 3-7,Blacksburg, Virginia USA. (cdrom).

[Now90] Nowacki, H. Mathematishe Verfahren zum Glatten von Kurven

und Flachen. In Encarnacao j.L.; Hoschek, J. Rix J. (eds) Geometrische Verfahren der Graphischen Datenverarbeitung Springer, Verlag (1990), 23-45

[Par96] Hyungjun Park, Kwangsoo Kim. Smooth surface approximation to

serial cross-sections. Computer Aided Design, Vol. 28, No. 12, pp. 995-1005. 1996.

[Pat02] Patrikalakis N.M., Maekawa T. Shape Interrogation for Computer

Aided Design and Manufacturing. Springer Verlang, Berlin, 2002. [Pie82] Pietikainen m. Rosenfeld A Walter I Split-and-link algorithms for

image segmentation Pattern Recognition 15, (1982), 287-298 [Pig96] Pigounakis KG, Kaklis PD. Convexity –preserving fairing.

Computer Aided Design (1996) 21, 27-31 [Pol96] Janet F. Poliakoff. An improved algorithm for automatic fairing of

non-uniform parametric cubic splines.Computer-Aided Design, Vol. 28. No. 1, pp.59-66. (1996)

[Pol99] Janet F. Poliakoff, Yew Kee Wong, Peter D. Thomas. An

automated curve fairing algorithm for cubic B-spline curves.Journal of Computational And Applied Mathematics 102 (73-85). (1999).

Page 226: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Bibliografia pag.216

[Pot98] H. Pottmann, T. Randrup : Rotational and helical surface approximation for reverse engineering, Computing, (1998) vol.60, pp.307-322,.

[Pot98] H. Pottmann, I.K. Lee, T. Randrup : Reconstruction of kinematics

surfaces from scattered data, Symposium on Geodesy for Geometrical and Structural Engineering, Eisenstadt, Austria, (1998) pp.483-488,.

[Qua00] A. Quarteroni, R. Sacco, F. Saleri: Numerical Mathematics, (2000)

Springer-Verlag New-York, [Ren82] Renz W. Interactive smoothing of digitized point data Computer

Aided Design (1982), 14(5): 267- 269 [Rog89] Rogers, D., Fog, N. Constrained B-spline curve and surface fitting.

Computer Aided Design (1989), vol.21 pp.641-648. [Sar86] Sarkar, B., Menq, C. -H. Parameter optimization in approximating

method for surface fitting from sampled data. Computer Graphics (SIGGRAPH '86 Proceedings) 20 (1986), 179-188.

[Sar91] Sarkar, B., Menq, C. -H. Parameter optimization in approximating

curves and surfaces to measurement data. Computer Aided Geometric Design (1991), vol. 8 pp. 267-290.

[Sap95] Sapidis N S, Besl P J ‘direct construction of polynomial surfaces

from dense range images through region growing’ ACM Trans. On Graphics (1995), 14(2), 171-200

[Sap97] Nickolas S.Sapidis, George D.Koras. Visualization of curvature

plots and evaluation of fairness: an analysis of the effecte of ‘scaling’. Computer Aided Geometric Design 14, pp. 299-311. 1997.

[Sch76] L.I. Schumaker : Fitting surfaces to scattered data, Approximation

Theory II, Academic Press, New York, pp.203-267,. 1976 [Sch67] I.J. Schoenberg : On Spline Functions, Inequalities, Academic

Press, New York, 1967. [Smi79] Smith, P.L. Splines as a useful and convenient statistical tool The

American Statistician, (1979) 33, pp 57-62

Page 227: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Bibliografia pag.217

[Smi85] Smith, D R Kanade T ‘Autonomous scene description with range imagery’ CVGIP 31(3), (1985), 322-334

[Smi96] Smith, M., Kohn, R., Nonparametric regression using Bayesian

variable selection J. Econometrics (1996) 75, 317-344 [Spee98] Speer, T Kuppe, M.,. Hoschek, J., Global reparametrization for

curve approximation. Computer Aided Geometric Design 15 (1998), 869-877

[Sui78] Suits, D.B., Mason, A. and Chan, L Spline Functions fitted by

standard regression methods Review of economics and statistics, (1978), 60, 132-139

[Su89] Su BQ, Liu DY Computational geometry – curve and surface modeling. New York Academic Press, 1989

[Tur94] Turk, G., Levoy, M. Zipped polygon meshes from range images.

Computer Graphics (SIGGRAPH '94 Proceedings) (1994), 311-318.

[Wan00] Wand, M.P., A comparison of regression spline smoothing

procedures (2000) Comput. Statist. [Wil01] R.G. Wilhelm, R. Hocken, H. Schwenke : Task specific uncertainty

in Coordinate Measurements, Annals of the CIRP, (2001) vol. 50/2, pp. 553-563,.

[Wol74] Wold, S. Spline Functions in Data Analysis Tecnometrics, (1974),

16, 1-11. [Var97] T. Vàrady, R.R. Martin, J. Cox Reverse engineering of geometric

models – an introduction, Computer Aided Design, (1997) vol.29, pp.255- 299.

[Zha01] Zhang C., Zhang P., Cheng FF. Fairing spline curve and surfaces

by minimizing energy Computer Aided Design (2001) vol. 33 pp. 913-923

Page 228: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

218

Appendice

Esempio applicativo delle Variation Diminishing Spline: Ricostruzione di Superfici di Rivoluzione

Nel campo della Computer Graphics e del Computer Aided Design il problema della ricostruzione di superfici, a partire da una nuvola di punti è ben noto e presenta diversi approcci risolutivi in base all'area applicativa ed alla struttura dei dati di partenza: nella ricostruzione di superfici partendo dal contorno (surface from contours) si cerca di ricostruire una struttura tri dimensionale partendo da un insieme di contorni bi dimensionali paralleli; sebbene siano stati presentati vari ed interessanti studi permangono delle severe limitazioni sui metodi implementati. Limitazioni dovute sia al forte legame tra il metodo e la struttura topologica dei dati a disposizione (poligoni chiusi che giacciono su piani paralleli), sia per le difficoltà che si presentano a trattare automaticamente strutture ramificate [Bre 89] [Mey91]. Altra area di impiego è la ricostruzione di superfici partendo da insiemi di punti acquisiti attraverso scansione 3 D (3 D scanning). Scansione effettuata utilizzando principalmente sistemi di tipo non a contatto fissi o mobili, che consentono di acquisire grandi quantità di punti, i quali, però, si presentano in forma non organizzata ovvero non presentano alcun legame topologico. Alcuni metodi implementati ricorrono all'utilizzo di insiemi di superfici piane (mesh) per approssimare la superficie reale, insiemi che però diventano via via sempre più numerosi al crescere della complessità della forma acquisita [Cur96] [Hop93] [Tur94]. Alcuni recenti lavori hanno affrontato la ricostruzione di superfici di forma libera utilizzando come superfici base delle superfici algebriche [Baj95] [Moo91]. Il problema che si presenta è che questo tipo di rappresentazione non è supportata all'interno dei comuni sistemi di modellazione, dove la superficie "standard" utilizzata per rappresentare superfici libere è la B-Spline. L'utilizzo di questo tipo di superfici per approssimare superfici incognite ha così visto un notevole sviluppo di lavori però, la maggior parte di questi o considera superfici topologicamente semplici come insiemi di piani, sfere [Hos89] [Rog89] [Sar86] oppure sono metodi non completamente automatizzati [And88] [Fan92] [Kri96]

Page 229: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Appendice pag.219

[Mil95]. Il lavoro di Eck ed Hoppe [Eck96] presenta invece un metodo mediante il quale è possibile, ricostruire delle superfici B-spline in modo completamente automatizzato partendo da un insieme non organizzato di punti e senza avere a disposizione alcuna informazione sulla topologia, sulla presenza o meno di confini o sulla geometria della superficie da ricostruire. Si deve tenere in considerazione che vi sono differenti tipi di feature geometriche che compongono un oggetto e frequentemente si presentano superfici che sono caratterizzate dall’avere un asse di simmetria. In questo primo lavoro sono state prese in esame le superfici di rivoluzione. Una superficie di rivoluzione è generata ruotando una curva piana attorno ad una linea assiale giacente nel suo piano. La curva piana è detta curva di profilo e, nelle sue varie posizioni attorno all’asse, essa crea i meridiani. Le circonferenze create da ogni punto su questa curva sono dette paralleli. Nella ricostruzione di superfici sono presenti essenzialmente due approcci: interpolazione e approssimazione. Con l’interpolazione alcune curve caratteristiche ottenute dai dati misurati sono selezionate ed utilizzate per generare la superficie di rivoluzione. Con l’approssimazione si parte dalla una nuvola di punti acquisita e si cerca di trovare una superficie di rivoluzione ‘ottima’ andando a minimizzare un dato criterio. Il più utilizzato è la minimizzazione dell’errore al quadrato tra i punti misurati e la superficie ricostruita. Nell’interpolazione il problema principale è la sensibilità nella scelta delle curve caratteristiche mentre con l’approssimazione è possibile perdere le proprietà di simmetria. Gli approcci presenti in letteratura per la ricostruzione di superfici di rivoluzione si basano su entrambe le metodologie. Considerando che una superficie di rivoluzione può essere formulata come una operazione matriciale dove la curva del profilo rotante attorno ad un’asse, in [Pot98a] [Pot98b] gli autori propongono un algoritmo per determinare matematicamente l’asse di rotazione e la curva del profilo in modo separato. L’algoritmo presentato è semplice, le caratteristiche geometriche della forma sono mantenute, ma la misura dell’asse di rotazione influenza il processo di ottimizzazione della curva del profilo. In [Lai00], è presentato un metodo interattivo basato su un modello di ottimizzazione dei minimi quadrati non lineari per calcolare sia l’asse di rotazione che la curva. Precisamente, la curva del profilo è rappresentata da una curva B-spline bidimensionale ed è ruotata attraverso un’asse non valutata esattamente. Il problema di approssimazione della superficie è formulato come un problema di ottimizzazione della posizione dei punti di controllo e dell’asse di rotazione in modo da minimizzare la radice quadrata dell’errore medio esistente tra i punti misurati e la superficie approssimata. In questo lavoro è stato sviluppato un metodo per la ricostruzione di superfici di rivoluzione che è un mix di due tecniche matematiche: approssimazione parametrica attraverso le quasi-interpolating spline e una trasformazione lineare algebrica.

Page 230: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Appendice pag.220

Nel dettaglio, si tiene in considerazione che una superficie di rivoluzione può essere descritta mediante la rotazione di un singolo meridiano attorno all’asse di simmetria. L’asse è stato determinato attraverso la procedura di allineamento utilizzata nella metrologia a coordinate. Poi la forma tridimensionale è stata ricostruita usando un metodo basato sulle funzioni parametriche λ integral quasi interpolating spline. L’originalità del metodo è che senza dover modificare ciascun singolo punto si ottiene un raffinamento globale della superficie ottenuta utilizzando un solo parametro che ne controlla la forma.

(a) (b)

Figura 7-1: Generazione di una superficie di rivoluzione.

Ora possiamo ricostruire la superficie. In particolare una superficie di rivoluzione può essere creata ruotando un profilo dimensionale attorno ad un’asse. Data la curva )( PTm

λ, la superficie di rivoluzione si ottiene mediante la relazione:

RS )( PTm

λ= TR•R•TR-1 )( PTm

λ

Dove R è la matrice omogenea di rotazione attorno all’asse x e TR è la matrice di trasformazione che trasforma il generico asse di rotazione nell’asse x.

Algoritmo L’algoritmo per la ricostruzione di superfici di rivoluzioni sviluppato consiste di tre passi fondamentali: inizialmente si stima l’asse di rotazione, poi un primo set di punti è rilevato in modo da valutare la curva meridiana, si genera per rotazione

Page 231: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Appendice pag.221

attorno all’asse di simmetria la superficie ed infine si raffina selezionando un opportuno valore del parametro λ.

Rotating Axis Estimate

Points Measure

Surface Estimation

Figura 7-2 – Algoritmo per la ricostruzione di superfici di rivoluzione.

Valutazione dell’asse di rotazione Per ricostruire una superficie di rivoluzione è necessario determinare la posizione corretta del suo asse di rotazione. Nel loro lavoro [Lai00] gli autori propongono di eseguire una prima stima della posizione dell’asse e successivamente di ottimizzarla attraverso un processo iterativo. In questo lavoro, invece, l’asse è stato stimato applicando la procedura di allineamento prevista nella metrologia a coordinate. Innanzitutto, si è determinato, manualmente, un primo sistema di riferimento locale sull’oggetto da ricostruire, in modo tale che un’asse sia coincidente l’asse di simmetria. Poi, sono stati acquisiti i punti appartenenti a due circonferenze situate ai lati estremi dell’oggetto. I centri di queste due circonferenze sono quindi stati utilizzati per definire l’asse.

Misura dei punti Come mostra l’equazione x.1, per generare una superficie di rivoluzione è necessario disporre di un profilo bidimensionale. Per determinare questa curva è necessario misurare lungo essa un dato set di punti. Ciascuno di questi dovrebbe essere rappresentativo di un parallelo della superficie. Nominalmente, i paralleli sono dei cerchi il cui raggio è funzione unicamente della sua posizione (altezza) rispetto all’asse, Per determinare se un punto è rappresentativo o meno di un dato parallelo bisogna tenere in considerazione della presenza sia dell’errore collegato alla misura sia dell’errore di lavorazione che determinano il fatto che un punto misurato in posizioni differenti di una circonferenza presenti valori di r diversi. Parallelamente al fatto che in ambito di reverse engineering le tolleranze presenti non sono così stringenti come nella verifica metrologica. Pertanto, se il valore rilevato in più

Page 232: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Appendice pag.222

posizioni differenti del parallelo in esame è contenuto all’interno di un opportuno intervallo di confidenza, potrebbe essere possibile considerarne il valore medio come rappresentativo. Se si lavora in coordinate cilindriche un punto, giacente su di un parallelo è determinato dalla sua posizione angolare θ, dalla sua posizione in altezza h, e da un valore del raggio r(h, θ). Quindi al fine di dare una ricostruzione della forma dell’oggetto reale sono stati digitalizzati m cerchi (paralleli) a differenti valori di altezza. Ciascuno di questi è stato misurato andando a tastare un insieme di n punti in differenti posizioni angolari. Dopodiché per ciascun set è stata valutata la normalità dei dati tramite un test di Anderson – Darling, ed è stato calcolato un intervallo di confidenza sul valor medio del raggio ponendo (α=0.5). I risultati di questa analisi statistica sono riportati nell’appendice A.

Calcolo di P)Tλm(

Nel capitolo 2 si è visto come sia possibile introdurre un parametro di forma all’interno del modello delle spline integrali e come cambiando questo sia possibile modificare la forma della curva. Quello che ci si propone ora è trovare il valore del parametro di forma λ tale che sia minima la somma delle distanze al quadrato di un campione di punti {pi, i = 1,2, …,N}, di ampiezza N ottenuto campionando la superficie del pezzo prodotto dalla relativa superficie )( PTm

λ.

Più precisamente si considera il seguente funzionale: ( ) ),( PTpPT mm

λ1

2λ ∑ == Ni iidD (10)

dove di ∈ d è la distanza Euclidea tra il punto pi e la superficie ricostruita, valore che è stato ottenuto utilizzando una appropriata funzione presente nel modellatore solido ACIS 6.3 Solid Modeler.

In questo lavoro non è stato applicato un metodo automatico di minimizzazione, ma il valore del parametro è stato fatto variare a passi discreti all’interno di un opportuno intervallo e per ognuno di questi è stato calcolato il

funzionale distanza ( )PTmλD .

Fase di Validazione In questo paragrafo si andrà a descrivere i risultati ottenuti attraverso l’applicazione del metodo proposto ad un pezzo campione prescelto per validare l’implementazione realizzata. L’oggetto utilizzato come benchmark è stato

Page 233: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Appendice pag.223

realizzato mediante un tornio a controllo numerico computerizzato, presente nei laboratori del Politecnico di Milano. Pezzo avente una tipica forma di rivoluzione. (Figura 7-3) Per la digitalizzazione è stata utilizzata una macchina di misura a coordinate Zeiss Prismo 5 MPS HTG equipaggiata con una testa di scansione VAST e controllata dal software Calypso. L’algoritmo è stato implementato in Visual C++ 6.0 integrato con il modellatore solido ACIS 6.3.

Figura 7-3: Benchmark

Dopo aver realizzato la procedura di allineamento, l’asse di rotazione è stato stimato come la linea passante attraverso il centro di due circonferenze misurate mediante uno stesso numero di punti (24).

Figura 7-4: Sistema di misura.

Poi al fine di definire i punti della curva del profilo bidimensionale, sono state digitalizzati trentatre circonferenze equispaziate tra loro lungo l’asse.

Page 234: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Appendice pag.224

Per ciascuna curva il numero di punti campionati è stato pari a 12 in accordo con quanto riportato dagli autori [Cap00], mentre il numero di circonferenze è stato scelto in modo tale che la distanza tra l'una e l’altra fosse pari a 2mm. Per i valori dei raggi di ciascuna circonferenza è stata condotto un analisi statistica per verificarne la normalità mediante un test di Anderson Darling, scegliendo un p-value uguale a 0.05. Ed per ciascun set di valori è stato calcola un intervallo di confidenza sulla media sempre utilizzando un α = 0.05. I dati misurati e i risultati ottenuti sono riportati nelle tabelle seguenti, mentre nell’appendice si possono consultare i diagrammi relativi ai test di normalità, e alla statistica descrittiva di ciascun set.

R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R1112.205 12.204 12.205 12.208 12.206 12.024 11.296 10.666 10.478 10.462 10.46212.208 12.209 12.209 12.212 12.21 11.963 11.26 10.623 10.462 10.464 10.46812.213 12.212 12.212 12.213 12.212 11.965 11.263 10.626 10.463 10.465 10.46712.215 12.213 12.214 12.217 12.213 11.969 11.263 10.627 10.466 10.464 10.47112.214 12.214 12.214 12.213 12.212 11.966 11.263 10.625 10.464 10.465 10.46812.212 12.21 12.211 12.211 12.211 11.962 11.259 10.623 10.462 10.462 10.46512.208 12.206 12.206 12.207 12.207 11.958 11.255 10.619 10.458 10.459 10.46412.201 12.201 12.203 12.2 12.2 12.018 11.289 10.66 10.47 10.456 10.46212.197 12.197 12.202 12.2 12.197 12.014 11.286 10.658 10.47 10.453 10.4612.197 12.196 12.197 12.198 12.197 12.012 11.283 10.656 10.468 10.451 10.45612.198 12.198 12.196 12.198 12.2 12.014 11.285 10.659 10.468 10.457 10.4612.202 12.2 12.202 12.205 12.202 12.017 11.289 10.669 10.473 10.46 10.462

R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R2210.447 10.183 9.782 9.418 9.048 8.68 8.312 7.942 7.575 7.207 6.83810.449 10.156 9.786 9.417 9.049 8.682 8.312 7.943 7.578 7.206 6.83810.448 10.156 9.785 9.417 9.05 8.682 8.312 7.944 7.576 7.207 6.83710.451 10.158 9.786 9.419 9.051 8.683 8.313 7.944 7.576 7.207 6.83710.448 10.156 9.785 9.416 9.049 8.68 8.31 7.94 7.573 7.205 6.83510.444 10.154 9.784 9.415 9.047 8.678 8.311 7.941 7.573 7.204 6.83410.445 10.151 9.781 9.413 9.046 8.677 8.309 7.94 7.572 7.204 6.83410.442 10.175 9.775 9.412 9.044 8.677 8.306 7.939 7.571 7.202 6.83310.441 10.174 9.775 9.411 9.043 8.675 8.307 7.939 7.571 7.203 6.83410.441 10.173 9.773 9.409 9.04 8.672 8.304 7.936 7.569 7.202 6.83310.443 10.175 9.775 9.41 9.044 8.675 8.306 7.938 7.571 7.204 6.83410.448 10.177 9.778 9.414 9.045 8.676 8.309 7.941 7.573 7.205 6.837

R23 R24 R25 R26 R27 R28 R29 R30 R31 R32 R33

6.473 6.136 5.843 5.591 5.38 5.212 5.087 4.998 4.95 4.941 4.9736.473 6.135 5.842 5.59 5.377 5.206 5.08 4.994 4.946 4.934 4.9796.471 6.134 5.841 5.587 5.377 5.207 5.078 4.993 4.945 4.933 4.9666.47 6.133 5.84 5.587 5.377 5.21 5.08 4.991 4.943 4.93 4.9686.47 6.131 5.839 5.585 5.374 5.205 5.076 4.988 4.941 4.925 4.974

6.469 6.132 5.838 5.585 5.373 5.207 5.08 4.988 4.94 4.929 4.9686.467 6.13 5.838 5.586 5.374 5.206 5.08 4.99 4.941 4.931 4.976.467 6.133 5.84 5.588 5.377 5.209 5.082 4.991 4.944 4.934 4.976.468 6.132 5.841 5.587 5.375 5.208 5.082 4.992 4.949 4.933 4.9746.467 6.131 5.839 5.587 5.377 5.209 5.082 4.993 4.948 4.938 4.9726.47 6.135 5.842 5.59 5.379 5.211 5.084 4.995 4.949 4.942 4.975

6.472 6.136 5.842 5.59 5.379 5.211 5.084 4.997 4.949 4.94 4.978 Tabella 7-1: Valori dei raggi delle coordinate polari dei punti misurati.

Page 235: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Appendice pag.225

max min delta12.2101 12.2015 0.008612.2092 12.2008 0.008412.2098 12.202 0.007812.211 12.2026 0.0084

12.2095 12.2017 0.007812.0078 11.9725 0.035311.2837 11.2648 0.018910.6553 10.6299 0.025410.4703 10.4633 0.00710.4628 10.4568 0.00610.4664 10.4611 0.005310.4477 10.4434 0.004310.1729 10.1585 0.01449.78356 9.77728 0.006289.41633 9.41217 0.004169.0484 9.04426 0.00414

8.68022 8.67594 0.004288.31111 8.30739 0.003727.94213 7.93904 0.003097.57483 7.5715 0.003337.20583 7.20351 0.002326.83655 6.83411 0.002446.47116 6.46834 0.002826.13446 6.13187 0.002595.84148 5.83935 0.002135.58905 5.58645 0.00265.37798 5.37519 0.002795.20986 5.20697 0.002895.08311 5.07939 0.003724.99452 4.99048 0.004044.94771 4.94313 0.004584.93747 4.93086 0.006614.97481 4.96969 0.00512

Tabella 7-2: Intervalli di confidenza.

I valori estremamenti contenuti degli intervalli di confidenza rispetto alle tolleranze presneti in un contesto di Reverse Engineering, ci hanno permesso di considerare i punti come deterministici. Quindi per trovare il valore di λ che minimizzasse la differenza tra la superficie ricostruita e quella nominale, un ulteriore insieme di 739 punti uniformemente distribuito sulla superficie dell’oggetto è stato acquisito mediante la macchina di misura a coordinate. Sono stati testati tredici valori di λ i relativi risultati sono riportati nella seguente tabella.

λ -4 -3.5 -3 -2.5 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2

( )PTmλD 4.90 4.80 4.73 4.70 4.73 4.82 4.97 5.18 5.44 5.77 6.17 6.63 7.15

Tabella 7-3: Valori delle distanze ottenute al variare del parametro λ.

Page 236: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Appendice pag.226

Come è possibile vedere dai valori riportati nella Tabella 7-3e dal relativo diagramma in Figura il funzionale distanza ha il suo minimo per λ = -2.5. Questo risultato mostra che le spline integrali controllate da un parametro di forma fornisce un risultato rispetto all’utilizzo della tradizionale classe di funzioni parametriche B-spline (λ = 0). L’errore è diminuito di circa il 14%. Infine, per valutare l’influenza del parametro l su differenti zone a diversa curvatura è stato preso in considerazione un sotto insieme di punti del pezzo. Sotto insieme relativo alla zona evidenziata Figura 7-5

Figura 7-5 Sottoinsieme della superficie di rotazione considerato.

Come si può vedere dai dati riportati nella tabella 2 in questo caso l’errore rispetto all’uso delle tradizionali curve B-spline è diminuito di circa il 49%. Quindi si può dire che l’influenza del parametro λ è più evidente nella ricostruzione di superfici a curvatura variabile.

λ -4 -3.5 -3 -2.5 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2

( )PTmλD 1.26 1.23 1.24 1.30 1.40 1.57 1.79 2.07 2.40 2.80 3.26 3.78 4.35

Tabella 7-4: Valori delle distanze ottenute al variare del parametro λ per il sottoinsieme considerato.

Page 237: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Appendice pag.227

4.000

4.500

5.000

5.500

6.000

6.500

7.000

7.500

-4 -3.5 -3 -2.5 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2

Figura 7-6: Valore distanza come funzione del parametro λ: calcolato per l’ intera superficie, (b) sottoinsieme.

0.500

1.000

1.500

2.000

2.500

3.000

3.500

4.000

4.500

5.000

-4 -3.5 -3 -2.5 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2

Figura 7-7Valore distanza come funzione del parametro λ: calcolato per il sottoinsieme di superficie.

Ricerca automatica del miglior valore di λ Per minimizzare in modo automatico il funzionale utilizzato è stato poi utilizzato un approccio basato sul metodo di Nelder e Mead. Questo metodo si basa sulla seguente idea: per la minimizzazione di una funzione di n variabili l’algoritmo inizia con un valore x0 e definisce un simplesso

Page 238: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Appendice pag.228

costituito da n+1 vertici xk=x0+hkek, k=1,…,n . Durante una iterazione, la funzione obiettivo è valutata in ciascun vertice del simplesso e sono determinati il vertice con in valore minimo (xlow), il vertice con il valore più alto (xhi) e quello con il valore più vicino a quello più alto (xnexthi). Il vertice xhi è riflesso attraverso il centroide xc dei vertici rimanenti in modo da trovare il nuovo vertice xrefl e la funzione obiettivo viene valutata in questo nuovo vertice xrefl. Dopodiché, un nuovo simplesso è costruito utilizzando solo tre possibili trasformazioni: riflessione rispetto al centroide, dilatazione e contrazione. Il criterio di stop richiede che la deviazione standard dei valori f(x0),…,f(xn) sia minore di una tolleranza fissata ε.

Validazione del procedimento. Al fine di provare l’efficacia del metodo proposto per ricercare il valore di l è stata condotta una prima fase di tests. Sono stati considerati tre benchmark uno è il profilo di una suola prodotta da Finproject S.p.A. (Figura 7-8), uno è il profilo precedentemente introdotto, l’ultimo profilo appartiene ad una piastrella di marmo (Figura 7-9).

Figura 7-8: Benchmark: profilo suola

Page 239: POLITECNICO DI MILANO Facoltà di Ingegneriatecnologie.mecc.polimi.it/phd_thesis/rasella_2004.pdf · Figura 1-23: Triangolazione laser: problematiche..... 25 Figura 1-24: Laser a

Appendice pag.229

Figura 7-9: Benchmark: piastrella in marmo

La digitalizzazione degli oggetti è stata realizzata mediante una macchina di misura a coordinate Zeiss Prismo 5 MPS HTG equipaggiata con un sensore per scansione VAST. Per ciascun benchmark un set di ni punti è stato acquisito in particolare per la piastrella di marmo sono stati analizzati tre profili posti a tre differenti altezze. Per l’algoritmo di ottimizzazione sono stati utilizzati i seguenti valori per i parametri: ε=10-4 e come punto di partenza x0 = 0. Nella seguente tabella sono riportati i valori ottenuti:

Test case # measured points λ # of iterations 1 33 -2.443 22 2 203 1.7612 26 3a 338 0.0448 16 3b 338 -1.1738 25 3c 338 0.0188 13

Tabella 7-5: risultati sperimentali ottenuti

Da questi risultati preliminari si possono trarre le seguenti considerazioni: • Sono necessarie per la convergenza dell’algoritmo poche iterazioni. • Il terzo caso mostra come per insiemi di dati molto simili il valore ottimo

di lambda può variare di molto, quindi una procedura euristica potrebbe richiedere una notevole quantità di tempo.