SlideShare a Scribd company logo
1 of 41
Download to read offline
UNIVERSIT`A DEGLI STUDI DI
TRIESTE
Dipartimento di Ingegneria e Architettura
Laurea Triennale in Ingegneria Elettronica e
Informatica
Ricostruzioni Lisce di Superfici da una
Data Triangolazione
7 luglio 2020
Laureanda Relatore
Martina Bellettini Prof. Fabio Perroni
Correlatore
Prof. Luca Heltai
Anno Accademico 2019/2020
Indice
Introduzione ii
1 Interpolazioni quadratiche 1
1.1 Interpolazioni cubiche nel caso unidimensionale . . . . . . . . 1
1.2 Interpolazioni quadratiche su triangoli . . . . . . . . . . . . . 2
1.2.1 Suddivisione del triangolo nel dominio in sottotriangoli 3
1.2.2 Caso di un triangolo rettangolo isoscele . . . . . . . . 7
1.2.3 Condizioni esplicite su coefficienti e parametri . . . . . 13
2 Interpolazioni cubiche 16
2.1 Interpolazioni cubiche su un triangolo . . . . . . . . . . . . . 16
2.2 Interpolazioni cubiche su patch di due triangoli . . . . . . . . 22
3 Geodetiche approssimate 25
3.1 Motivazioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.2 Il caso di una geodetica approssimata su un triangolo . . . . . 27
3.3 Il caso di una geodetica approssimata su due triangoli . . . . 31
4 Ulteriori sviluppi e applicazioni 33
4.1 Femore umano e scafo di una nave . . . . . . . . . . . . . . . 33
4.2 Applicazioni alle equazioni differenziali alle derivate parziali . 34
Bibliografia 36
i
Introduzione
Nel presente elaborato si analizzer`a il problema di costruire, a partire da
alcuni punti noti di una superficie in R3, una funzione polinomiale di in-
terpolazione, il cui grafico sia ragionevolmente vicino alla superficie cercata.
Questo tipo di problematiche `e molto presente nell’ambito delle ricostruzioni
di immagini di ossa e tessuti biologici a partire, ad esempio, da dati ottenuti
tramite imaging a risonanza magnetica. Un esempio specifico di uso di tali
tecniche `e dato dalla ricostruzione di un femore o delle sue fratture, come
verr`a spiegato negli ultimi due Capitoli.
Da un certo numero di punti noti `e infatti possibile definire dei vettori
normali alla superficie lineare a tratti che interpola linearmente i punti stessi,
come riportato nel testo [1]. Con tali dati a disposizione verranno esaminati
diversi modi per costruire in modo univoco una funzione di interpolazione
polinomiale a tratti, di grado fissato, continua e con gradiente continuo.
Un articolo fondamentale in questo tipo di ricerca `e rappresentato dal
lavoro di M. J. D. Powell e M. A. Sabin [5] del 1977, che `e tuttora molto
attuale e citato. Esso presenta delle proposte di costruzione di funzioni qua-
dratiche a tratti definite su un triangolo, ottenute tramite incollamento di
polinomi quadratici definiti su opportuni sottotriangoli. Infatti, il problema
di interpolazione quadratica di tre punti in R3 con gradiente assegnato nei
tre punti non si pu`o risolvere con un’unica funzione polinomiale di grado 2,
perch´e le condizioni lineari imposte del problema sono 9, mentre i parametri
della funzione sono 6. In generale, quindi, tale problema non ha soluzio-
ne. Suddividendo in sottotriangoli, il numero di parametri della funzione
aumenta. La metodologia proposta nell’articolo [5] `e stata applicata nel
presente elaborato in tutti i dettagli al caso in cui il dominio della funzione
interpolante sia un triangolo rettangolo isoscele.
Una costruzione simile pu`o essere sviluppata anche con funzioni cubiche
a tratti, e per questo caso `e stato approfondito l’articolo [4]; anche in questo
caso `e stato sviluppato il metodo e sono state derivate esplicitamente tutte
le condizioni lineari del problema.
Si riportano ora i contenuti dei singoli capitoli. Nei Capitoli 1 e 2
verranno esaminati i seguenti casi:
ˆ interpolazione cubica di due punti nel piano con tangenti assegnate;
ii
INDICE
ˆ interpolazione quadratica di tre punti in R3 con gradiente assegnato;
la teoria sviluppata nell’articolo [5] verr`a applicata in tutti i dettagli
al caso in cui il dominio della funzione interpolante sia un triangolo
rettangolo isoscele;
ˆ interpolazione cubica di tre punti in R3 con gradiente assegnato;
ˆ interpolazione cubica di quattro punti in R3 con vettori normali asse-
gnati.
Alcuni conti particolarmente complicati sono stati eseguiti con il sup-
porto del programma Maple.
Una volta ottenuta la funzione interpolante, nel Capitolo 3 si passer`a alla
costruzione di una geodetica approssimata congiungente due punti qualsiasi
appartenenti alla superficie grafico della funzione, sia nel caso di un domi-
nio formato da un singolo triangolo, sia nel caso di un dominio dato da un
patch di due triangoli. Ricordiamo che una geodetica `e, per definizione, una
curva di lunghezza minima contenuta in una superficie e congiungente due
punti della superficie. In generale, la determinazione esplicita di geodeti-
che non `e ottenibile; per tale motivo `e spesso preferibile sviluppare delle
tecniche di approssimazione di geodetiche. In questa tesi tale approssima-
zione verr`a ricercata tra le immagini di curve piane cubiche e minimizzando
un’approssimazione della lunghezza delle curve congiungenti due punti dati
e contenute nella superficie considerata. Sulla geodetica verr`a individuato
un nuovo punto equidistante dai due estremi, che diventer`a un nuovo dato
con cui costruire una funzione di interpolazione pi`u precisa della preceden-
te. Con l’aggiunta di questa informazione si ripeter`a il procedimento in
modo da infittire la mesh sulla superficie cercata, fino al grado di precisione
desiderato.
Infine, nel Capitolo 4 verranno dati dei cenni ad altre applicazioni di tali
tecniche, che riguardano principalmente lo studio di alcune equazioni alle
derivate parziali. Le funzioni interpolanti, infatti, permettono di approssi-
mare i bordi di domini tridimensionali con superfici che sono immagini di
poligoni triangolati. Inoltre, alcune funzioni che vengono solitamente usate
nell’ambito del Computer-Aided Design, come ad esempio le curve NURBS e
le curve di B´ezier, permettono di determinare delle basi per degli opportuni
sottospazi di funzioni, nei quali viene svolta la ricerca di approssimanti di
soluzioni delle equazioni differenziali alle derivate parziali. Questo approccio
pu`o essere considerato come una generalizzazione del metodo degli elementi
finiti ed `e stato approfondito nell’articolo [3]. In tale articolo si afferma che
seguendo questo procedimento si riduce, tra le altre cose, l’errore geometrico
di approssimazione.
Infine, si osserva che queste tematiche hanno un carattere spiccatamen-
te interdisciplinare; coinvolgono infatti elementi di geometria, analisi nu-
iii
INDICE
merica, analisi matematica, ingegneria biomedica, ingegneria informatica e
ingegneria navale.
iv
Capitolo 1
Interpolazioni quadratiche
1.1 Interpolazioni cubiche nel caso unidimensio-
nale
In questa sezione verr`a trattato il caso semplice dell’interpolazione con fun-
zioni polinomiali cubiche dei dati nei due punti estremi dell’intervallo uni-
tario.
Proposizione 1.1.1 Dati c0, c1, t0, t1 ∈ R, esiste un’unica funzione cubica
σ : [0, 1] → R del tipo σ(s) = as3 + bs2 + cs + d tale che valgano:
σ(0) = c0, σ(1) = c1, σ (0) = t0, σ (1) = t1,
e precisamente:
σ(s) = (2c0 − 2c1 + t0 + t1)s3
+ (−3c0 + 3c1 − 2t0 − t1)s2
+ t0s + c0.
Dimostrazione: Per una generica funzione σ(s) = as3 + bs2 + cs + d, si ha
σ (s) = 3as2 + 2bs + c, da cui si ottiene
σ(0) = d, σ(1) = a + b + c + d, σ (0) = c, σ (1) = 3a + 2b + c.
Le condizioni dell’enunciato corrispondono, quindi, al seguente sistema li-
neare nelle incognite a, b, c, d:



d = c0
a + b + c + d = c1
c = t0
3a + 2b + c = t1
La matrice completa associata a tale sistema `e




0 0 0 1 c0
1 1 1 1 c1
0 0 1 0 t0
3 2 1 0 t1



 .
1
CAPITOLO 1. INTERPOLAZIONI QUADRATICHE
Si nota subito che la matrice dei coefficienti del sistema `e invertibile, quin-
di per il Teorema di Cramer il sistema ammette sempre soluzione e tale
soluzione `e unica.
In questo caso la soluzione si pu`o trovare per sostituzione e si ottiene:
a = 2c0 − 2c1 + t0 + t1, b = −3c0 + 3c1 − 2t0 − t1, c = t0, d = c0,
da cui la tesi.
Si osserva, infine, che la funzione σ pu`o essere scritta anche nella seguente
forma:
σ(s) = ϕ1(s)c0 + ϕ2(s)c1 + ϕ3(s)t0 + ϕ4(s)t1
con
ϕ1(s) = 2s3
− 3s2
+ 1,
ϕ2(s) = −2s3
+ 3s2
,
ϕ3(s) = s3
− 2s2
+ s,
ϕ4(s) = s3
− s2
,
cio`e σ `e una combinazione lineare di quattro specifiche funzioni cubiche, che
vengono anche dette basi per spline cubiche.
2
Osservazione 1.1.2 Il problema appena considerato, dal punto di vista
geometrico, coincide con la ricerca di una funzione (polinomiale) cubica il
cui grafico passi per due punti assegnati con tangenti assegnate.
Osservazione 1.1.3 Il problema di approssimazione dei dati in due pun-
ti in generale non ammette soluzione con funzioni quadratiche. Infatti in
un polinomio quadratico in una variabile ci sono tre coefficienti liberi, e le
condizioni di valore assegnato e derivata assegnata corrispondono a quattro
condizioni lineari sui coefficienti. Per una scelta generale dei dati quindi il
problema non ha soluzione.
1.2 Interpolazioni quadratiche su triangoli
Il problema analogo in due dimensioni `e quello di trovare una funzione po-
linomiale a tratti, continua con gradiente continuo, a partire da grado as-
segnato, valori e gradienti assegnati in tre punti non allineati; dal punto di
vista geometrico questo `e equivalente a trovare una funzione polinomiale a
tratti, definita su un triangolo piano, il cui grafico passi per tre punti asse-
gnati con piani tangenti assegnati negli stessi tre punti.
Si noti che il problema di determinazione di tale funzione `e lineare.
Generalmente, la funzione di interpolazione cos`ı ottenuta viene utilizzata dai
calcolatori per riprodurre il grafico di una funzione complicata, di cui sono
2
CAPITOLO 1. INTERPOLAZIONI QUADRATICHE
noti solo un numero limitato di valori o la cui forma non `e adatta a dise-
gnarne il grafico. Invece di rappresentare il grafico della funzione originale,
viene rappresentato il grafico dell’interpolante (si veda l’articolo [5]).
La funzione di interpolazione verr`a indicata con Φ(x, y).
Osservazione 1.2.1 Non si pu`o risolvere il problema con un’unica funzione
polinomiale di grado 2 perch´e le condizioni lineari imposte del problema sono
9, mentre i parametri della funzione sono 6, analogamente a quello che acca-
de per i polinomi di secondo grado nel caso unidimensionale (Osservazione
1.1.3).
`E quindi necessario utilizzare una funzione cubica, oppure suddividere il
triangolo dato in sottotriangoli e definire la funzione a tratti: in entrambi
i casi aumenta il numero dei parametri. `E particolarmente vantaggioso de-
finire la funzione di interpolazione come quadratica a tratti per il contour
plotting, e sono proprio le funzioni cos`ı definite che verranno illustrate in
questo capitolo.
I contenuti di questa sezione fanno riferimento all’articolo [5], in cui
vengono esposti diversi modi in cui dividere il triangolo dato, con il relati-
vo procedimento con cui ottenere una funzione Φ(x, y) quadratica su ogni
sottotriangolo, continua e con gradiente continuo.
1.2.1 Suddivisione del triangolo nel dominio in sottotriangoli
Per l’interpolazione di funzioni quadratiche su un triangolo sono state pro-
poste tre possibili suddivisioni del triangolo iniziale:
ˆ Suddivisione in quattro triangoli:
In questo caso si pu`o dimostrare che Φ(x, y) dipende da 9 coefficienti
(parametri), e le condizioni ai vertici del triangolo iniziale corrispondo-
no a 9 condizioni lineari su tali coefficienti. Quindi in questo caso una
3
CAPITOLO 1. INTERPOLAZIONI QUADRATICHE
soluzione esiste sempre se la matrice dei coefficienti del sistema lineare
corrispondente `e invertibile. Se tale matrice non risulta invertibile, il
sistema potrebbe essere incompatibile.
Nel Teorema 1 dell’articolo citato si dimostra che la matrice dei coef-
ficienti del sistema non `e invertibile se e solo se le tre rette AP, BQ e
CR sono concorrenti:
Teorema 1.2.2 Al sistema di equazioni sopra descritto risulta asso-
ciata una matrice singolare se e solo se le rette AP, BQ e CR sono
concorrenti.
Come conseguenza si ha che, con una scelta dei punti P, Q, R in modo
che le rette AP, BQ, CR non siano concorrenti, la matrice associata
al sistema lineare sar`a invertibile. Per il Teorema di Cramer il sistema
ammetter`a quindi un’unica soluzione, e sar`a quindi unico il polinomio
definito su ogni sottotriangolo che soddisfa le condizioni.
Solitamente i vertici del triangolo interno vengono scelti come pun-
ti medi dei lati del triangolo iniziale ABC, perch´e altrimenti l’errore
massimo che si commette utilizzando l’approssimazione aumenta ri-
spetto ai metodi esposti in seguito. Tuttavia, con tale scelta le rette
AP, BQ e CR risultano concorrenti, per cui questa suddivisione non
viene adoperata.
ˆ Suddivisione in sei triangoli:
Si pu`o dimostrare che anche in questo caso Φ(x, y) dipende da 9 coef-
ficienti. Nel Teorema 2 dell’articolo [5] si dimostra che esiste un’unica
funzione Φ(x, y) definita a tratti sui 6 sottotriangoli che soddisfa i
requisiti richiesti:
4
CAPITOLO 1. INTERPOLAZIONI QUADRATICHE
Teorema 1.2.3 Se Ψ(x, y) `e una funzione quadratica a tratti su sot-
totriangoli, dove i sei sottotriangoli sono definiti come in figura, se
Ψ(x, y) e le sue derivate prime sono continue sul triangolo ABC, e se
Ψ(x, y) e il suo gradiente si annullano in A, B e C, allora Ψ(x, y) `e
identicamente nulla.
Tale teorema implica l’unicit`a della soluzione; infatti, prese due fun-
zioni che verifichino le condizioni richieste, la loro differenza `e una
funzione che soddisfa le ipotesi del Teorema 1.2.3. Quindi la funzione
differenza `e la funzione nulla, cio`e le due funzioni coincidono.
Nella dimostrazione si ottiene anche il seguente risultato: se il trian-
golo ABC `e acuto, scegliendo il vertice interno O come circocentro
del triangolo e P, Q, R come punti medi dei lati, la proiezione del
gradiente di Φ(x, y) lungo il versore normale a ciascun lato, detta
derivata normale di Φ(x, y), `e una funzione lineare.
Questa scelta non `e efficace per triangoli non acuti, perch´e il circocen-
tro `e esterno al triangolo. Scegliendo un altro punto O come vertice
interno, ad esempio l’incentro, si riscontrano nuovamente problemi di
accuratezza.
In particolare, nel caso di triangoli rettangoli il circocentro giace sul-
l’ipotenusa e la derivata normale di Φ(x, y) non `e lineare lungo l’ipo-
tenusa, bens`ı lineare a tratti.
ˆ Suddivisione in dodici triangoli:
Questo metodo risulta efficace per tutti i triangoli. In questo caso
Φ(x, y) dipende da dodici coefficienti; nel Teorema 3 dell’articolo [5],
il cui enunciato viene riportato nel Teorema 1.2.4, si dimostra che le
ulteriori 3 condizioni necessarie a determinare una soluzione unica ri-
spetto ai coefficienti sono condizioni sul valore delle derivate normali
5
CAPITOLO 1. INTERPOLAZIONI QUADRATICHE
di Φ(x, y) in P, Q ed R. Se sono noti soltanto i dati ai vertici del
triangolo iniziale e non le derivate normali, queste ultime vengono so-
litamente stimate tramite interpolazione lineare dei dati nei vertici del
triangolo ABC. L’esistenza, l’unicit`a e la dipendenza da esattamente
questi dodici dati di Φ(x, y) `e dimostrata nell’articolo [5] nel seguente
Teorema 1.2.4 Se Ψ(x, y) `e una funzione quadratica a tratti su sot-
totriangoli, dove i dodici sottotriangoli sono definiti come in figura, se
Ψ(x, y) e le sue derivate prime sono continue nel triangolo ABC, se
Ψ(x, y) e Ψ(x, y) si annullano in A, B e C, e se la componente di
Ψ(x, y) che `e normale al perimetro del triangolo ABC si annulla in
P, Q ed R, allora Ψ(x, y) `e identicamente nulla.
Tale teorema implica nuovamente l’unicit`a della soluzione per le stesse
motivazioni del Teorema 1.2.3.
I teoremi citati in questa sezione garantiscono l’unicit`a di una funzione
di interpolazione di dati continua e con gradiente continuo. Inoltre, dati due
sottotriangoli con un lato in comune, si osserva che le funzioni che risolvono il
problema su ogni sottotriangolo coincidono, cos`ı come i rispettivi gradienti,
se ristrette al lato comune.
In conclusione, dall’articolo [5] si evince che nel caso in cui il dominio della
funzione di interpolazione sia un triangolo nettamente acuto la suddivisione
migliore da fare `e quella il 6 sottotriangoli; nel caso in cui il triangolo si
avvicini a un triangolo retto o sia ottusangolo (nell’articolo si pone una
soglia indicativa di 75◦), invece, la suddivisione consigliata `e quella in 12
sottotriangoli. La suddivisione in 4 sottotriangoli `e sconsigliata in ogni caso.
6
CAPITOLO 1. INTERPOLAZIONI QUADRATICHE
1.2.2 Caso di un triangolo rettangolo isoscele
In questa sezione viene preso in considerazione un triangolo rettangolo iso-
scele di vertici A = (0, 0), B = (1, 0) e C = (0, 1), la cui suddivisione migliore
risulta essere quella in 12 triangoli.
Le funzioni in ogni sottotriangolo devono essere delle funzioni quadra-
tiche, che abbiano valori e gradienti coincidenti lungo i lati interni dei
sottotriangoli su cui sono definite.
Prima di passare alla definizione delle restrizioni di Φ(x, y) ai sottotrian-
goli, `e necessario il seguente risultato.
Lemma 1.2.5 Sia L una retta piana affine di equazione cartesiana
L(x, y) = lx + my + n = 0.
Due funzioni quadratiche q1(x, y) e q2(x, y) definite ciascuna su un semipia-
no determinato da L hanno valori e gradienti coincidenti lungo L se e solo
se esiste una costante λ tale che si abbia
q2(x, y) = q1(x, y) + λL(x, y)2
.
Dimostrazione: Si consideri il polinomio
P(x, y) := q2(x, y) − q1(x, y).
Il luogo degli zeri di P(x, y) `e una conica piana; se il polinomio `e irriducibile,
la conica `e un’ellisse, una parabola o una iperbole, e in particolare il suo
luogo degli zeri non contiene una retta.
7
CAPITOLO 1. INTERPOLAZIONI QUADRATICHE
Supponendo, quindi, che P(x, y) si annulli lungo la retta L, esso deve
necessariamente essere riducibile e fattorizzare nel prodotto di due fattori
lineari, di cui uno `e proprio L(x, y):
P(x, y) = L(x, y)M(x, y). (1.2.1)
Si passi ora alla condizione che q1(x, y) e q2(x, y) abbiano anche lo stesso
gradiente lungo L. Dalla relazione (1.2.1) si ha che
q1 − q2 = M(x, y) L + L(x, y) M.
Per ogni (x, y) ∈ L deve valere
0 = ( q1 − q2)(x, y) = M(x, y) L + L(x, y) M.
Siccome L(x, y) = 0 per ipotesi e siccome L `e un vettore costante non nullo
perch´e L(x, y) `e un polinomio lineare, la condizione ( q1 − q2)(x, y) = 0 `e
equivalente alla
M(x, y) = 0.
Inoltre, il luogo degli zeri di M(x, y) `e una retta, e siccome M si deve
annullare lungo i punti della retta L(x, y) = 0, le due equazioni devono
essere proporzionali, cio`e deve esistere una costante λ = 0 tale che
M(x, y) = λL(x, y).
Si ottiene, quindi, P(x, y) = λL(x, y)2, da cui la tesi.
2
Il vertice interno O viene scelto come baricentro del triangolo ABC, di
coordinate (1
3, 1
3); i vertici P, Q, R vengono scelti come punti medi dei tre
lati esterni, quindi
P =
1
2
,
1
2
, Q = 0,
1
2
, R =
1
2
, 0 .
Martina	disegni
lunedì	29	giugno	2020 16:03
8
CAPITOLO 1. INTERPOLAZIONI QUADRATICHE
Con queste scelte, le funzioni quadratiche restrizione di Φ(x, y) dovranno
essere della forma seguente, in modo da avere Φ(x, y) continua con gradiente
continuo su ABC:
q1(x, y) := ax2
+ bxy + cy2
+ dx + ey + f,
q2(x, y) := q1(x, y) + λ2(x + 2y − 1)2
,
q3(x, y) := q2(x, y) + λ3(2x + y − 1)2
,
q4(x, y) := q3(x, y) + λ4(−x + y)2
,
q5(x, y) := q4(x, y) + λ5(x + 2y − 1)2
,
q6(x, y) := q5(x, y) + λ6(2x + y − 1)2
,
q1(x, y) = q6(x, y) + λ1(−x + y)2
(1.2.2)
In queste definizioni e nell’ultima condizione sono coinvolti 12 parametri,
tuttavia vale il seguente
Lemma 1.2.6 L’ultima condizione in (1.2.2) implica che solo 9 tra questi
parametri sono linearmente indipendenti tra loro.
Dimostrazione: Il polinomio
q1 = q6(x, y) + λ1(−x + y)2
= (a + λ1 + λ2 + 4λ3 + λ5 + 4λ6)x2
+
(b − 2λ1 + 4λ2 + 4λ3 − 2λ4 + 4λ5 + 4λ6)xy+
(c + λ1 + 4λ2 + λ3 + λ4 + 4λ5 + λ6)y2
+
(d − 2λ2 − 4λ3 − 2λ5 − 4λ6)x+
(e − 4λ2 − 2λ3 − 4λ5 − 2λ6)y+
f + λ2 + λ3 + λ5 + λ6
deve essere uguale al polinomio di partenza ax2 + bxy + cy2 + dx + ey + f:
(a + λ1 + λ2 + 4λ3 + λ5 + 4λ6)x2
+ (b − 2λ1 + 4λ2 + 4λ3 − 2λ4 + 4λ5 + 4λ6)xy+
(c + λ1 + 4λ2 + λ3 + λ4 + 4λ5 + λ6)y2
+ (d − 2λ2 − 4λ3 − 2λ5 − 4λ6)x+
(e − 4λ2 − 2λ3 − 4λ5 − 2λ6)y + f + λ2 + λ3 + λ5 + λ6 = ax2
+ bxy + cy2
+ dx + ey + f,
quindi si ottiene il sistema



a + λ1 + λ2 + 4λ3 + λ5 + 4λ6 = a
b − 2λ1 + 4λ2 + 4λ3 − 2λ4 + 4λ5 + 4λ6 = b
c + λ1 + 4λ2 + λ3 + λ4 + 4λ5 + λ6 = c
d − 2λ2 − 4λ3 − 2λ5 − 4λ6 = d
e − 4λ2 − 2λ3 − 4λ5 − 2λ6 = e
f + λ2 + λ3 + λ5 + λ6 = f
9
CAPITOLO 1. INTERPOLAZIONI QUADRATICHE
Semplificando a, b, c, d, e, f si ottiene il sistema lineare omogeneo



λ1 + λ2 + 4λ3 + λ5 + 4λ6 = 0
2λ1 + 4λ2 + 4λ3 − 2λ4 + 4λ5 + 4λ6 = 0
λ1 + 4λ2 + λ3 + λ4 + 4λ5 + λ6 = 0
−2λ2 − 4λ3 − 2λ5 − 4λ6 = 0
−4λ2 − 2λ3 − 4λ5 − 2λ6 = 0
λ2 + λ3 + λ5 + λ6 = 0
La matrice associata a questo sistema nelle incognite λ1, λ2, λ3, λ4, λ5, λ6 `e
A =







1 1 4 1 1 4
−2 4 4 −2 4 4
1 4 1 1 4 1
0 −2 −4 0 −2 −4
0 −4 −2 0 −4 −2
0 1 1 0 1 1







.
Se si riduce la matrice A per mezzo di operazioni elementari in una matrice
a scala, si ottiene:







1 1 4 1 1 4
−2 4 4 −2 4 4
1 4 1 1 4 1
0 −2 −4 0 −2 −4
0 −4 −2 0 −4 −2
0 1 1 0 1 1







−→







1 1 4 1 1 4
0 6 12 0 6 12
0 3 −3 0 3 −3
0 −2 −4 0 −2 −4
0 −4 −2 0 −4 −2
0 1 1 0 1 1







−→







1 1 4 1 1 4
0 1 1 0 1 1
0 0 6 0 0 6
0 0 −6 0 0 −6
0 0 −2 0 0 −2
0 0 2 0 0 2







−→







1 1 4 1 1 4
0 1 1 0 1 1
0 0 1 0 0 1
0 0 −1 0 0 −1
0 0 −1 0 0 −1
0 0 1 0 0 1







−→







1 1 4 1 1 4
0 1 1 0 1 1
0 0 1 0 0 1
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0







.
Il sistema lineare `e formato da 3 equazioni e 6 incognite, e da ci`o si ricava
che il numero di parametri liberi `e 3. In particolare si ha che



λ1 + λ2 + 4λ3 + λ5 + λ4 + 4λ6 = 0
λ2 + λ3 + λ5 + λ6 = 0
λ3 + λ6 = 0



λ1 = −λ2 − 4λ3 − λ5 − λ4 − 4λ6
λ2 = −λ3 − λ5 − λ6
λ3 = −λ6



λ1 = −λ4
λ2 = −λ5
λ3 = −λ6
sostituendo a partire dall’ultima equazione. Quindi le funzioni definite sul
triangolo PQR dipendono solo da 9 parametri: a, b, c, d, e, f, λ4, λ5, λ6.
2
10
CAPITOLO 1. INTERPOLAZIONI QUADRATICHE
Lemma 1.2.7 L’aggiunta di altre due funzioni definite su due sottotrian-
goli adiacenti appartenenti ad ABC  PQR comporta l’aggiunta di un solo
parametro.
Dimostrazione: Dato il sistema



q4 := q3 + λ4(−x + y)2
Q4 := q4 + k2(x + y − 1
2)2
Q3 := Q4 + m(−x + y)2
q3 = Q3 + n(x + y − 1
2)
si ha
q3 = Q4 + m(−x + y)2
+ n(x + y −
1
2
)
= q4 + k2(x + y −
1
2
)2
+ m(−x + y)2
+ n(x + y −
1
2
)2
= q3 + λ4(−x + y)2
+ k2(x + y −
1
2
)2
+ m(−x + y)2
+ n(x + y −
1
2
)2
,
da cui
(λ4 + m)(−x + y)2
+ (k2 + n)(x + y −
1
2
)2
= 0
(λ4 + m)(x2
− 2xy + y2
) + (k2 + n)(x2
+ 2xy + y2
− x − y +
1
4
) = 0
(λ4 + m + k2 + n)x2
+ (−2λ4 − 2m + 2k2 + 2n)xy + (λ4 + m + k2 + n)y2
+ (−k2 − n)x + (−k2 − n)y +
1
4
k2 +
1
4
n = 0.
Le equazioni da soddisfare sono quindi



λ4 + m + k2 + n = 0
−2λ4 − 2m + 2k2 + 2n = 0
λ4 + m + k2 + n = 0
−k2 − n = 0
−k2 − n = 0
1
4k2 + 1
4n = 0
La matrice associata al sistema lineare omogeneo, prendendo come vettore
delle incognite




λ4
m
k2
n



, `e:







1 1 1 1
−2 −2 2 2
1 1 1 1
0 0 −1 −1
0 0 −1 −1
0 0 1
4
1
4







−→







1 1 1 1
−1 −1 1 1
1 1 1 1
0 0 1 1
0 0 1 1
0 0 1 1







−→







1 1 1 1
0 0 2 2
0 0 0 0
0 0 1 1
0 0 1 1
0 0 1 1







−→







1 1 1 1
0 0 1 1
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0







.
11
CAPITOLO 1. INTERPOLAZIONI QUADRATICHE
Ci si riconduce a un sistema equivalente a quello di partenza di 2 equazioni
a 4 incognite; il numero di parametri indipendenti `e quindi 2.
In particolare si ottiene:
λ4 = −m
k2 = −n
Per definire Q3 e Q4 viene quindi introdotto un solo parametro k2:
Q3 = q3 + k2(x + y − 1
2)2
Q4 = q4 + k2(x + y − 1
2)2
E inoltre vale
q4 = q3 + λ4(−x + y)2
Q4 = Q3 + λ4(−x + y)2
2
I coefficienti di Φ(x, y) sono quindi a, b, c, d, e, f, λ4, λ5, λ6, k1, k2, k3, tanti
quanti le condizioni da imporre.
I polinomi definiti sui singoli sottotriangoli sono:
q1(x, y) = ax2
+ bxy + cy2
+ dx + ey + f
q2(x, y) =(a − λ5)x2
+ (b − 4λ5)xy + (c − 4λ5)y2
+ (d + 2λ5)x + (e + 4λ5)y+
f − λ5
q3(x, y) =(a − λ5 − 4λ6)x2
+ (−4λ5 + b − 4λ6)xy + (c − 4λ5 − λ6)y2
+
(d + 2λ5 + 4λ6)x + (e + 4λ5 + 2λ6)y + f − λ5 − λ6
q4(x, y) =(a + λ4 − λ5 − 4λ6)x2
+ (b − 2λ4 − 4λ5 − 4λ6)xy + (c + λ4 − 4λ5 − λ6)y2
+
(d + 2λ5 + 4λ6)x + (e + 4λ5 + 2λ6)y + f − λ5 − λ6
q5(x, y) =(a + λ4 − 4λ6)x2
+ (b − 2λ4 − 4λ6)xy + (c + λ4 − λ6)y2
+ (d + 4λ6)x+
(e + 2λ6)y + f − λ6
q6(x, y) = (a + λ4)x2
+ (b − 2λ4)xy + (c + λ4)y2
+ dx + ey + f
Q1(x, y) = (a + k1)x2
+ bxy + cy2
+ (d − k1)x + ey + f +
1
4
k1
Q2(x, y) =(a − λ5 + k1)x2
+ (b − 4λ5)xy + (c − 4λ5)y2
+ (d + 2λ5 − k1)x + (e + 4λ5)y+
f − λ5 +
1
4
k1
Q3(x, y) =(a − λ5 − 4λ6 + k2)x2
+ (b − 4λ5 − 4λ6 + 2k2)xy + (c − 4λ5 − λ6 + k2)y2
+
(d + 2λ5 + 4λ6 − k2)x + (e + 4λ5 + 2λ6 − k2)y + f − λ5 − λ6 +
1
4
k2
Q4(x, y) =(a + λ4 − λ5 − 4λ6 + k2)x2
+ (b − 2λ4 − 4λ5 − 4λ6 + 2k2)xy+
(c + λ4 − 4λ5 − λ6 + k2)y2
+ (d + 2λ5 + 4λ6 − k2)x + (e + 4λ5 + 2λ6 − k2)y+
f − λ5 − λ6 +
1
4
k2
Q5(x, y) =(a + λ4 − 4λ6)x2
+ (b − 2λ4 − 4λ6)xy + (c + λ4 − λ6 + k3)y2
+ (d + 4λ6)x+
(e + 2λ6 − k3)y + f − λ6 +
1
4
k3
Q6(x, y) = (a + λ4)x2
+ (b − 2λ4)xy + (c + λ4 + k3)y2
+ dx + (e − k3)y + f +
1
4
k3.
Le conclusioni che si traggono da questa sezione sono le seguenti:
12
CAPITOLO 1. INTERPOLAZIONI QUADRATICHE
ˆ I polinomi definiti sui sottotriangoli del triangolo PQR sono della
forma
q1 = ax2 + bxy + cy2 + dx + ey + f
qi(x, y) = qi−1 + λi(lx + my + n), i = 2, · · ·, 6,
dove lx + my + n `e la retta che separa i due semipiani in cui sono
contenuti i sottotriangoli dove sono definiti i polinomi qi e qi−1;
I polinomi definiti sui sottotriangoli appartenenti a ABC  PQR sono
della forma
Qi = qi + kj(lx + my + n), i = 1, · · ·, 6, j = 1, 2, 3,
dove lx + my + n `e la retta che separa i due semipiani in cui sono
contenuti i sottotriangoli dove sono definiti i polinomi Qi e qi;
ˆ i coefficienti tra loro linearmente indipendenti della funzione polino-
miale a tratti sono 12, e questo numero coincide con il numero dei dati
assegnati.
1.2.3 Condizioni esplicite su coefficienti e parametri
Il gradiente, che calcolato in un vertice v ∈ {A, B, C} deve essere uguale al
valore dato per entrambi i polinomi definiti su quel vertice, viene calcolato
scegliendo le funzioni Q1, Q3, Q5 rispettivamente per i vertici B, A, C:
Q1 =


2(a + k1)x + by + d − k1
bx + 2cy + e


Q3 =


2(a − λ5 − 4λ6 + k2)x + (b − 4λ5 − 4λ6 + 2k2)y + d + 2λ5 + 4λ6 − k2
(b − 4λ5 − 4λ6 + 2k2)x + 2(c − 4λ5 − λ6 + k2)y + e + 4λ5 + 2λ6 − k2


Q5 =


2(a + λ4 − 4λ6)x + (b − 2λ4 − 4λ6)y + d + 4λ6
(b − 2λ4 − 4λ6)x + 2(c + λ4 − λ6 + k3)y + e + 2λ6 − k3


Di seguito sono riportate le espressioni su cui imporre le condizioni, che
consistono a loro volta in: valori assegnati nei vertici A, B, C; gradienti
13
CAPITOLO 1. INTERPOLAZIONI QUADRATICHE
assegnati in A, B, C; derivate normali assegnate o stimate in P, Q, R.
Q1(1, 0) = a + d + f +
1
4
k1
Q3(0, 0) = f − λ5 − λ6 +
1
4
k2
Q5(0, 1) = c + e + f + λ4 +
1
4
k3
∂Q1
∂x
(1, 0) = 2a + d + k1
∂Q1
∂y
(1, 0) = b + e
∂Q3
∂x
(0, 0) = d + 2λ5 + 4λ6 − k2
∂Q3
∂y
(0, 0) = e + 4λ5 + 2λ6 − k2
∂Q5
∂x
(0, 1) = b + d − 2λ4
∂Q5
∂y
(0, 1) = 2c + e + 2λ4 + k3
Q1(
1
2
,
1
2
),
1√
2
1√
2
=
1
√
2
∂Q1
∂x
+
1
√
2
∂Q1
∂y
=
a + b + c + d + e
√
2
Q3(
1
2
, 0),
0
−1
=
−∂Q3
∂y
(
1
2
, 0) = −b/2 − e − 2λ5
Q5(0,
1
2
),
−1
0
=
−∂Q5
∂x
(0,
1
2
) = −b/2 − d + λ4 − 2λ6.
Le ultime tre righe sono le proiezioni dei gradienti sulle normali ai lati del
triangolo ABC.
Martina	disegni
lunedì	29	giugno	2020 16:03
14
CAPITOLO 1. INTERPOLAZIONI QUADRATICHE
Si ottengono quindi tutte le espressioni che dovranno essere uguagliate con i
termini noti del problema per ottenere il sistema la cui soluzione determiner`a
i coefficienti della funzione di interpolazione.
15
Capitolo 2
Interpolazioni cubiche
In questo capitolo consideriamo il problema dell’interpolazione tramite su-
perfici cubiche di dati su vertici e spigoli di uno o pi`u triangoli, facendo
riferimento agli articoli [3] e [4].
2.1 Interpolazioni cubiche su un triangolo
I dati del problema, definiti come parametri nodali, sono
ˆ valore e gradiente della funzione interpolante nei vertici a1, a2, a3 ∈ R2;
indicheremo con b1, b2, . . . , b9 gli scalari corrispondenti;
ˆ derivata normale della funzione interpolante in tre punti, ciascuno
su un lato esterno diverso; indicheremo con c1, c2 e c3 gli scalari
corrispondenti.
Il problema consiste nel trovare una funzione polinomiale di grado 3,
definita sul triangolo, che sia continua e con gradiente continuo, e che soddisfi
a tutte le richieste sui dati.
16
CAPITOLO 2. INTERPOLAZIONI CUBICHE
Si osserva che una funzione polinomiale di grado 3 in 2 variabili dipende
da 10 coefficienti, e le condizioni considerate corrispondono a 12 condizioni
lineari sui coefficienti; in generale, quindi, il problema non ha soluzione
usando un unico polinomio di grado 3 definito sul triangolo a1a2a3.
Nell’articolo [4] il triangolo di dominio viene perci`o suddiviso in tre sot-
totriangoli, e la funzione interpolante Φ(x, y) `e data dall’incollamento di tre
polinomi q1(x, y), q2(x, y) e q3(x, y) di grado 3 ciascuno definito su un sot-
totriangolo. Sono dunque coinvolti 30 coefficienti. Di seguito si verifica che
anche il numero totale di equazioni da soddisfare risulta uguale a 30.
Le condizioni esplicite sui valori e sui gradienti di Φ(x, y) sono:
ˆ Equazioni relative ai vertici a1, a2 e a3:



q1(a1) = b1
q2(a1) = b1
∂q1
∂x
(a1) = b2
∂q2
∂x
(a1) = b2
∂q1
∂y
(a1) = b3
∂q2
∂y
(a1) = b3



q2(a2) = b4
q3(a2) = b4
∂q2
∂x
(a2) = b5
∂q3
∂x
(a2) = b5
∂q2
∂y
(a2) = b6
∂q3
∂y
(a2) = b6



q3(a3) = b7
q1(a3) = b7
∂q3
∂x
(a3) = b8
∂q1
∂x
(a3) = b8
∂q3
∂y
(a3) = b9
∂q1
∂y
(a3) = b9
17
CAPITOLO 2. INTERPOLAZIONI CUBICHE
ˆ Equazioni relative alle proiezioni normali dei gradienti sui versori n1,
n2 e n3 nei punti A1, A2 e A3 situati sui lati esterni:



q1(A1), n1 = c1
q2(A2), n2 = c2
q3(A3), n3 = c3
ˆ Indicando con a il vertice comune ai tre sottotriangoli, con M1, M2 e
M3 i punti medi dei tre lati interni, e con m1, m2 e m3 i versori normali
ai lati interni, le condizioni di continuit`a della funzione e di continuit`a
dei gradienti lungo i lati interni dei sottotriangoli si esprimono con:



q1(a) = q2(a)
q2(a) = q3(a)
∂q1
∂x
(a) =
∂q2
∂x
(a)
∂q2
∂x
(a) =
∂q3
∂x
(a)
∂q1
∂y
(a) =
∂q2
∂y
(a)
∂q2
∂y
(a) =
∂q3
∂y
(a)
q1(M1), m1 = q2(M1), m1
q2(M2), m2 = q3(M2), m2
q3(M3), m3 = q1(M3), m3
18
CAPITOLO 2. INTERPOLAZIONI CUBICHE
Nel Teorema 1 dell’articolo [4] si dimostra il seguente enunciato:
Teorema 2.1.1 I parametri nodali b1, . . . , b9, c1, c2, c3 determinano univo-
camente una funzione Φ(x, y) di grado 3 polinomiale a tratti di classe C1(T),
dove T indica il triangolo di vertici a1, a2 e a3.
Se si indica il sistema da risolvere con AX = b, infatti, poich´e il numero di
equazioni coincide con il numero di incognite, si ha che AX = b ammette
un’unica soluzione ⇐⇒ A `e invertibile ⇐⇒ AX = 0 ammette un’unica
soluzione. Gli autori dimostrano che il sistema lineare omogeneo associato
AX = 0 ha una sola soluzione (quella banale), e quindi A `e invertibile per il
teorema di Rouch´e-Capelli. Da questo segue, per il teorema di Cramer, che
anche il sistema lineare di partenza ammette un’unica soluzione.
Esempio 2.1.2 Si consideri il triangolo rettangolo di vertici a1 = (0, 0),
a2 = (0, 1), a3 = (1, 0), e come vertice interno si scelga il baricentro a =
(1
3, 1
3). Sui lati esterni si scelgano i tre punti medi A1 = (0, 1
2), A2 = (1
2, 1
2) e
A3 = (1
2, 0). Infine, si considerino i tre punti medi M1 = (1
4, 1
4), M2 = (1
6, 2
3),
M3 = (2
3, 1
6).
19
CAPITOLO 2. INTERPOLAZIONI CUBICHE
Si scrivano le tre funzioni cubiche cercate nella seguente forma:
q1(x, y) := l1x3
+ l2x2
+ l3x + l4y3
+ l5y2
+ l6y + l7x2
y + l8xy2
+ l9xy + l10;
q2(x, y) := m1x3
+m2x2
+m3x+m4y3
+m5y2
+m6y+m7x2
y+m8xy2
+m9xy+m10;
q3(x, y) := n1x3
+n2x2
+n3x+n4y3
+n5y2
+n6y+n7x2
y+n8xy2
+n9xy+n10;
Su tale triangolo il sistema lineare risulta essere:



l10 = b1
m10 = b1
l3 = b2
m3 = b2
l6 = b3
m6 = b3
m4 + m5 + m6 + m10 = b4
n4 + n5 + n6 + n10 = b4
m3 + m8 + m9 = b5
n3 + n8 + n9 = b5
3m4 + 2m5 + m6 = b6
3n4 + 2n5 + n6 = b6
n1 + n2 + n3 + n10 = b7
l1 + l2 + l3 + l10 = b7
3n1 + 2n2 + n3 = b8
3l1 + 2l2 + l3 = b8
n6 + n7 + n9 = b9
l6 + l7 + l9 = b9
l6 + (1/4)l7 + (1/2)l9 = c1
m3 + (1/4)m8 + (1/2)m9 = c2
(3/4)n1 + n2 + n3 + (3/4)n7 + (3/4)n8 + n9 + (3/4)n4 + n5 + n6 = c3
(1/27)l1 + (1/9)l2 + (1/3)l3 + (1/27)l4 + (1/9)l5 + (1/3)l6 + (1/27)l7 + (1/27)l8+
+(1/9)l9 + l10 − (1/27)m1 − (1/9)m2 − (1/3)m3 − (1/27)m4 − (1/9)m5+
−(1/3)m6 − (1/27)m7 − (1/27)m8 − (1/9)m9 − m10 = 0
(1/27)m1 + (1/9)m2 + (1/3)m3 + (1/27)m4 + (1/9)m5 + (1/3)m6 + (1/27)m7 + (1/27)m8+
+(1/9)m9 + m10 − (1/27)n1 − (1/9)n2 − (1/3)n3 − (1/27)n4 − (1/9)n5 − (1/3)n6+
−(1/27)n7 − (1/27)n8 − (1/9)n9 − n10 = 0
(1/3)l1 + (2/3)l2 + l3 + (2/9)l7 + (1/9)l8 + (1/3)l9 − (1/3)m1 − (2/3)m2 − m3 − (2/9)m7+
−(1/9)m8 − (1/3)m9 = 0
(1/3)m1 + (2/3)m2 + m3 + (2/9)m7 + (1/9)m8 + (1/3)m9 − (1/3)n1 − (2/3)n2 − n3 − (2/9)n7+
−(1/9)n8 − (1/3)n9 = 0
(1/3)l4 + (2/3)l5 + l6 + (1/9)l7 + (2/9)l8 + (1/3)l9 − (1/3)m4 − (2/3)m5 − m6 − (1/9)m7+
−(2/9)m8 − (1/3)m9 = 0
(1/3)m4 + (2/3)m5 + m6 + (1/9)m7 + (2/9)m8 + (1/3)m9 − (1/3)n4 − (2/3)n5 − n6 − (1/9)n7+
−(2/9)n8 − (1/3)n9 = 0
−(1/12)l1 − (1/3)l2 − l3 − (1/18)l7 − (1/36)l8 − (1/6)l9 + (1/12)m1 + (1/3)m2 + m3 + (1/18)m7+
+(1/36)m8 + (1/6)m9 = 0
(1/6)m1 + (2/3)m2 + 2m3 + (17/36)m7 + (10/9)m8 + (3/2)m9 + (4/3)m4 + (4/3)m5 + m6+
−(1/6)n1 − (2/3)n2 − 2n3 − (17/36)n7 − (10/9)n8 − (3/2)n9 − (4/3)n4 − (4/3)n5 − n6 = 0
(4/3)n1 + (4/3)n2 + n3 + (10/9)n7 + (17/36)n8 + (3/2)n9 + (1/6)n4 + (2/3)n5 + 2n6+
−(4/3)l1 − (4/3)l2 − l3 − (10/9)l7 − (17/36)l8 − (3/2)l9 − (1/6)l4 − (2/3)l5 − 2l6 = 0
Con la scelta dei seguenti dati
b1 = 1, b2 = −1, b3 = 1, b4 = −3, b5 = −1, b6 = 0, b7 = 2, b8 = −1, b9 = 0, c1 = 1, c2 = 0, c3 = −1,
la soluzione del sistema `e:
l1 = −4, l2 = 6, l3 = −1, l4 = 17/2, l5 = −25/2, l6 = 1, l7 = −2, l8 = −7, l9 = 1, l10 = 1,
m1 = 0, m2 = 9/2, m3 = −1, m4 = 9, m5 = −14, m6 = 1, m7 = −19/2, m8 = −4, m9 = 4, m10 = 1,
n1 = 4, n2 = −27/2, n3 = 14, n4 = 37/2, n5 = −73/2, n6 = 35/2, n7 = 65/2, n8 = 35, n9 = −50, n10 = −5/2.
20
CAPITOLO 2. INTERPOLAZIONI CUBICHE
Le corrispondenti cubiche sono:
q1 = −4x3 + 6x2 − x + (17/2)y3 − (25/2)y2 + y − 2x2y − 7xy2 + xy + 1,
q2 = (9/2)x2 − x + 9y3 − 14y2 + y − (19/2)x2y − 4xy2 + 4xy + 1,
q3 = 4x3 − (27/2)x2 + 14x + (37/2)y3 − (73/2)y2 + (35/2)y + (65/2)x2y + 35xy2 − 50xy − 5/2.
Il grafico della funzione interpolante cos`ı trovata `e riportato nelle seguenti
figure:
21
CAPITOLO 2. INTERPOLAZIONI CUBICHE
2.2 Interpolazioni cubiche su patch di due trian-
goli
In questa sezione si esamina il problema di costruire una funzione cubica a
tratti definita sull’unione di due triangoli chiusi ˆT1 ∪ ˆT2 := M
Φ : M ⊆ R2
→ R,
di cui sono noti i valori nei vertici dei due triangoli e i vettori normali al gra-
fico della funzione negli stessi vertici. Si chiede inoltre che Φ(x, y) ∈ C1(M).
Posti v1, v2, v3, v4 i quattro vertici del triangolo in R3 e posti i quattro vet-
tori normali a Φ nei rispettivi vertici n1, n2, n3, n4, si cercano le condizioni
22
CAPITOLO 2. INTERPOLAZIONI CUBICHE
da imporre ai coefficienti di Φ(x, y). Con ˆv1, ˆv2, ˆv3, ˆv4 si indicheranno le pro-
iezioni dei vertici nel piano.
Come suggerito nell’articolo [3], i sottotriangoli di ogni triangolo verranno
ottenuti congiungendo l’incentro del triangolo con i vertici del triangolo che
lo contiene. Su ogni sottotriangolo Ti `e definita una funzione polinomiale
di grado 3 qi(x, y) = Φ(x, y) Ti
con i = 1, . . . , 6; il numero di coefficienti da
determinare `e quindi 60.
Le condizioni da imporre sono coincidenti con quelle espresse nella Sezione
2.1, tranne che per le condizioni su Φ(x, y) in A, B e C, espresse in termini
di vettore normale al grafico di Φ(x, y) in un vertice anzich`e direttamente;
si avranno
ˆ 12 equazioni che vincolano il valore di qi ai parametri nodali (Sezione
2.1);
ˆ 24 equazioni che vincolano il qi nei vertici; per un vertice non comune
tra i due triangoli, ad esempio ˆv1, in cui si suppongono essere definiti
q1 e q2, e in cui si suppone noto il vettore normale n1, si avr`a che i
prodotti vettoriali devono verificare le condizioni:



∂q1
∂x
×
∂q1
∂y
= n1
∂q2
∂x
×
∂q2
∂y
= n1
.
Si osservi che entrambe le equazioni vettoriali danno luogo a 4 equa-
zioni scalari; per ognuno dei due vertici comuni tra i due triangoli, le
equazioni scalari saranno 8;
ˆ 6 equazioni che vincolano le derivate normali di Φ(x, y) in 6 generici
punti appartenenti ai lati esterni (Sezione 2.1);
ˆ 12 equazioni che vincolano qi e qi, i = 1, ..., 6, nei due incentri dei
due macrotriangoli (Sezione 2.1);
ˆ 6 equazioni che vincolano le derivate normali nei punti medi dei lati
interni (Sezione 2.1).
Si ottengono quindi tante equazioni quanti coefficienti incogniti. Se il siste-
ma ammette soluzione, `e possibile calcolare esplicitamente Φ(x, y).
Osservazione 2.2.1 Si ricorda che dati due triangoli piani affini ABC e
EFG, esiste sempre un’affinit`a, cio`e una composizione di una applicazione
lineare invertibile e di una traslazione, che trasforma il primo nel secondo.
Infatti, con una traslazione g si pu`o trasformare il vertice A nel vertice E.
Inoltre, siccome le coppie di vettori AB, AC e EF, EG risultano coppie
23
CAPITOLO 2. INTERPOLAZIONI CUBICHE
di vettori linearmente indipendenti di R2, per il Teorema di Struttura per
applicazioni lineari, esiste un unico isomorfismo f : R2 → R2 tale che
f(AB) = EF, f(AC) = EG.
Infine, essendo
CB = AB − AC,
per linearit`a abbiamo
f(CB) = f(AB − AC) = f(AB) − f(AC) = EF − EG = GF,
quindi anche il lato CB viene mandato nel lato GF.
`E quindi possibile impostare e risolvere il problema su un triangolo
fissato, e ricavare la soluzione su un triangolo arbitrario applicando l’affinit`a.
24
Capitolo 3
Geodetiche approssimate
3.1 Motivazioni
In questa sezione vengono riportate le considerazioni, i risultati e le figu-
re dell’articolo [2]. Nelle simulazioni di meccanica del continuo si segue
solitamente il procedimento:
Area, Via Bonomea 265, 34136 Trieste, Italy
2
bangerth@colostate.edu, Colorado State University, Department of Mathematics, 1874 Campus
Delivery, Fort Collins, CO, 80524, USA
3
kronbichler@lnm.mw.tum.de, Technical University of Munich, Institute for Computational
Mechanics, Boltzmannstr. 15, 85748 Garching b. M¨unchen, Germany
4
mola.andrea@sissa.it, SISSA - International School for Advanced Studies, mathLab, Mathematics
Area, Via Bonomea 265, 34136 Trieste, Italy
Abstract
The traditional workflow in continuum mechanics simulations is that a geometry description –
obtained using Constructive Solid Geometry or Computer Aided Design tools – forms the input for
a mesh generator. The mesh is then used as the sole input for the finite element, finite volume, and
finite di↵erence solver, which at this point no longer has access to the original geometry. However,
many more modern techniques – for example, adaptive mesh refinement and the use of higher order
geometry approximation methods – really do need information about the underlying geometry to
realize their full potential. We have undertaken an exhaustive study of where typical finite element
codes use geometry information, with the goal of determining what information geometry tools
would have to provide. Our study shows that all geometry needs inside the simulators can be
satisfied by just two “primitives”: elementary queries posed by the simulation software to the
geometry description. We then show that it is possible to provide these primitives in all of the
commonly used ways in which geometries are described in common industrial workflows. We
illustrate our solutions using examples from adaptive mesh refinement for complex geometries.
1 Introduction
The traditional workflow of finite element, finite volume, and finite di↵erence simulations of physi-
cal processes consists of three phases: what is called “preprocessing”; the actual numerical solution
of a partial di↵erential equation; and what is called “postprocessing”. In this workflow, preprocess-
ing generally means the generation of a geometric description of the domain on which one wants
to solve the problem – either through the use of Computer Aided Design (CAD) or by combining
simpler geometries into one via constructive geometry – and the use of a mesh generator that uses
the geometry to create the computational grid on which the simulation is then run. On the other
end of the pipeline, postprocessing consists of the visualization of the computed solution and the
extraction of quantities of interest.
Overall, this “traditional” workflow can be visualized through the following graph in which
information is only propagated from one box to the next:
Geometry description Mesh generation Simulation Visualization
Quantities of interest
1
arXiv:1910.09824v1[math.NA]22Oct
L’intero procedimento viene suddiviso in 3 sottoprocessi:
ˆ preprocessing: consiste nella generazione di una descrizione geometrica
del dominio su cui si vuole risolvere il problema e nella generazione di
una mesh avendo come input la descrizione geometrica generata;
ˆ simulazione eseguita sulla mesh che risolve un’equazione differenziale
alle derivate parziali;
ˆ postprocessing: visualizzazione della soluzione calcolata ed estrazione
delle quantit`a di interesse.
La mesh viene quindi usata come unico input per un programma che genera
la soluzione numerica di un’equazione differenziale alle derivate parziali. Il
concetto fondamentale `e che la geometria del dominio viene fornita solo al
generatore di mesh, e generalmente non `e disponibile negli stadi successivi.
Questo procedimento `e appropriato se la simulazione e il postprocessing si
basano unicamente su una mesh fissata per risolvere il problema considera-
to. Tuttavia, la realizzazione di strumenti complessi per la simulazione ha
reso necessaria la propagazione delle informazioni sulla geometria agli sta-
di di simulazione e postprocessing. Per il momento, sembrano non esistere
strumenti open source o in commercio che forniscano le informazioni sulla
25
CAPITOLO 3. GEODETICHE APPROSSIMATE
geometria in modo coerente anche al secondo e terzo stadio.
Per generare una mesh sufficientemente fitta per le esigenze del simulatore
`e necessario individuare nuovi punti, oltre cio`e a quelli di partenza, che co-
stituiscano i cosiddetti vertici della mesh.
Il modo ideale di determinare un nuovo vertice sarebbe di prenderlo su una
geodetica congiungente due vertici e a una certa distanza da uno dei due
vertici, espressa tramite un peso. Tuttavia, la costruzione di geodetiche
esplicite `e possibile solo per superfici semplici, e inoltre questo approccio `e
utile solo se la geodetica congiungente due punti `e unica. Altro problema
`e determinare la distanza appropriata da uno degli estremi della geodetica
in cui fissare il nuovo vertice. Nell’articolo [2] viene presentato il seguente
esempio: se si calcolasse il punto a un quarto di distanza da uno dei vertici
sulla retta congiungente i due vertici, e poi venisse proiettato sulla geodetica,
non sempre si otterrebbe lo stesso vertice che si sarebbe ottenuto prima cal-
colando e proiettando il vertice x1 a met`a tra i due estremi, e poi calcolando
e proiettando il vertice a met`a tra un estremo e x1. Si possono costruire
degli esempi in cui quest’ambiguit`a ha effetti concreti sull’accuratezza delle
operazioni.
Di conseguenza, il modo in cui vengono determinati nuovi vertici nell’articolo
[2] si basa sulla proiezione di un punto, appartenente alla retta congiungente
due vertici e a una certa distanza da essi, sulla superficie o curva costruita
tramite Computer Aided Design.
Nella prima delle tre figure riportate di seguito la proiezione viene fatta
lungo la retta normale alla curva, nella seconda figura lungo una direzione
scelta a priori, nella terza lungo la normale alla retta congiungente i due
vertici:
Figure 5: Comparison of three di↵erent implementations of the new point primitive for CAD
geometries. The red end points (coarse vertices) of the blue line (coarse cell) form the inputs x1,x2
for which we want to use the new point primitive to find a new mid-point (i.e., w1 = w2 = 1
2).
Thew blue point is the average of the original vertices to be projected onto the curved geometry.
Left: Projection normal to the geometry. Center: Projection in a direction chosen a priori. Right:
Projection normal to coarse mesh.
We note that projection-based strategies have been proposed in [12] and are used in a ba-
sic variant for a high-order finite element code in [22]. Many CAD programs, and specifically
the OpenCASCADE library [30] that we use for the examples shown here, implement all of the
operations necessary for the three approaches to implementing a projection discussed below.
5.3.1 Projection in a fixed direction
26
CAPITOLO 3. GEODETICHE APPROSSIMATE
3.2 Il caso di una geodetica approssimata su un
triangolo
In questa sezione si descrive una nuova proposta per la determinazione di
una geodetica approssimata su un triangolo da cui ricavare nuovi vertici di
una mesh nel caso in cui non sia possibile determinare una geodetica esatta.
Questo metodo `e sostitutivo di quello proposto nell’articolo [2], in cui si
utilizzava un metodo basato sulle proiezioni.
Si supponga di conoscere i vertici in R3 di una triangolazione che si vuo-
le infittire; a partire da questi dati si possono costruire dei vettori normali
alla superficie discreta in R3, come descritto nel Capitolo 5 del testo [1].
Una volta noti i valori dei vertici di una triangolazione e i rispettivi vettori
normali, si pu`o ricostruire una funzione di interpolazione come descritto nei
capitoli precedenti; in questo caso, si utilizza una funzione di interpolazione
di grado 3. Questa funzione verr`a indicata con G(x, y). Dopo aver determi-
nato la curva geodetica approssimata richiesta, il vertice cercato si trover`a
sulla geodetica e sar`a equidistante dai due estremi.
Determinare nuovi vertici permette di trovare una funzione di interpolazione
pi`u accurata rispetto a quella di partenza, e sar`a rispetto a questa che si
continuer`a con la determinazione di ulteriori punti, fino al raggiugimento
dell’infittimento desiderato.
Si consideri il caso semplificato della determinazione di una geodetica
congiungente due punti noti sul grafico della funzione che interpola i vertici
di un solo triangolo T ⊂ R3 di vertici v1, v2, v3. La proiezione del triangolo
T su R2 verr`a indicata con ˆT, e i suoi vertici con ˆv1, ˆv2, ˆv3.
La formulazione del problema `e quindi: dati x1, x2 in F( ˆT) e le loro proie-
zioni sul piano ˆx1, ˆx2, costruire una geodetica approssimata h(x1, x2, s)
F(γ(ˆx1, ˆx2, s)), h(x1, x2, s) ∈ F( ˆT); si richiede inoltre che γ(ˆx1, ˆx2, ·) sia una
spline cubica. Di seguito la spline cubica verr`a indicata per semplicit`a con
27
CAPITOLO 3. GEODETICHE APPROSSIMATE
γ(s), in quanto si considereranno ˆx1, ˆx2 fissati.
Si faranno le seguenti ipotesi e si utilizzeranno le seguenti notazioni:
ˆ G(x, y) `e una funzione a valori in R; la parametrizzazione della su-
perficie grafico di G verr`a indicata con F(x, y) = (x, y, G(x, y)), con
(x, y) ∈ ˆT.
ˆ γ(s) `e una curva di B´ezier cubica.
La definizione di una generica curva di B´ezier, dati 4 punti {P0, P1, P2, P3 | Pi ∈
R2 ∀i = 0, 1, 2, 3}, `e:
B(s) =
3
i=0
3
i
(1 − s)3−i
si
Pi s ∈ [0, 1],
dove i P0, P3 sono i due estremi della curva e
3
i
`e il coefficiente
binomiale. Nel caso di una cubica nel piano, γ(s) `e univocamente
determinata dai due estremi e dalle due tangenti negli estremi.
ˆ Si suppongono noti o precedentemente determinati i vettori normali
n1, n2, n3 nei vertici di T.
ˆ Si suppone per semplicit`a che il sostegno della curva γ(s), s ∈ [0, 1],
la cui immagine attraverso F `e la geodetica approssimata cercata, sia
interamente contenuto in ˆT.
La risoluzione si svolge nei seguenti passi:
ˆ Determinazione di G(x, y) cubica a partire dai dati iniziali v1, v2, v3, n1, n2, n3
(si veda il Capitolo 2, Sezione 2.1), fissando a priori il vertice a comune
ai sottotriangoli, ad esempio nel baricentro di ˆT:
a =
1
3
(ˆv1 + ˆv2 + ˆv3);
ˆ Definizione della lunghezza della curva parametrizzata F(γ(s)):
L :=
1
0
d
ds
F(γ(s)) ds;
ˆ Determinazione di L minima al variare di γ(s); si osserva che la lun-
ghezza di una curva non varia se viene utilizzata una parametrizzazione
equivalente. La cubica γ(s) dipende unicamente da ˆx1, ˆx2, t1, t2, do-
ve t1 := γ (0), t2 := γ (1). Si osserva che t1 e t2 sono due vettori di
R2. Considerando ˆx1, ˆx2 fissati dal problema, γ(s) potr`a quindi variare
soltanto al variare delle proprie derivate calcolate in 0, 1.
28
CAPITOLO 3. GEODETICHE APPROSSIMATE
Si considera perci`o L come funzione di t1, t2:
L = L(t1, t2).
Si osserva che in generale L dipende da v1, v2, v3, n1, n2, n3 in quanto
G(x, y), e quindi F(x, y), vi dipendono; da ˆx1, ˆx2, t1, t2 in quanto γ(s)
vi dipende.
In generale, l’espressione esplicita di L(t1, t2) non si riesce a trovare,
quindi per risolvere il problema di minimo si approssima l’integrale
con una somma finita di tipo somma di Riemann secondo la formula
di Gauss:
L(t1, t2)
nq
i=1
d
ds
F(γ(si)) ωi =: ¯L(t1, t2),
dove si suppone di conoscere nq valori della funzione integranda. I pun-
ti {s1, ..., snq } sono detti punti di controllo o di quadratura, {ω1, ..., ωnq }
sono detti pesi. Solitamente con 3 o 4 punti di quadratura si ottiene
una buona approssimazione della lunghezza cercata.
Per minimizzare ¯L(t1, t2), supponendo che il minimo esista, si cercano
¯t1, ¯t2 tali che
¯L(¯t1, ¯t2) = 0, 2 ¯L(¯t1, ¯t2) > 0
dove 2 ¯L indica la matrice Hessiana di ¯L, e dove il simbolo > indica
che la matrice quadrata simmetrica 2 ¯L `e definita positiva.
Si dice che la geodetica h(x1, x2, s) che si ottiene `e un’approssimazione
della geodetica congiungente x1 e x2 perch´e si restringe il problema al
caso in cui h sia immagine attraverso F di una cubica, e inoltre perch´e
a venire minimizzata `e ¯L e non L.
Esempio 3.2.1 Si consideri l’Esempio 2.1.2 del Capitolo 2; sul triangolo
rettangolo di vertici a1 = (0, 0), a2 = (0, 1), a3 = (1, 0), si considerino i
punti ˆx1 = (1
4, 1
4) e ˆx2 = (1
2, 0). I due punti si trovano nella regione di
definizione della funzione cubica
q1(x, y) = −4x3
+ 6x2
− x +
17
2
y3
−
25
2
y2
+ y − 2x2
y − 7xy2
+ xy + 1.
Si valuti q1(x, y) lungo una curva parametrizzata di B´ezier che ha P0 =
ˆx1, P1 = (a1, b1), P2 = (a2, b2), P3 = ˆx2 e che si suppone essere interamente
contenuta nel dominio di q1(x, y):
γ(s) =
x(s)
y(s)
=
1
2(1 − s)3 + 3(1 − s)2sa1 + (3(1 − s))s2a2 + 1
2s3
1
4(1 − s)3 + 3(1 − s)2tb1 + (3(1 − s))s2b2.
.
29
CAPITOLO 3. GEODETICHE APPROSSIMATE
Si ottengono
q1(x(s), y(s)) = −4(1
4
(1 − s)3 + 3(1 − s)2sa1 + (3(1 − s))s2a2 + 1
2
s3)3 + 6( 1
4
(1 − s)3 + 3(1 − s)2sa1+
+(3(1 − s))s2a2 + 1
2
s3)2 − 3(1 − s)2sa1 − (3(1 − s))s2a2 − 1
2
s3 + 25
2
(1
4
(1 − s)3 + 3(1 − s)2sb1+
+(3(1 − s))s2b2)3 − 25
2
( 1
4
(1 − s)3 + 3(1 − s)2sb1 + (3(1 − s))s2b2)2 + 3(1 − s)2sb1 + (3(1 − s))s2b2+
−2(1
4
(1 − s)3 + 3(1 − s)2sa1 + (3(1 − s))s2a2 + 1
2
s3)2( 1
4
(1 − s)3 + 3(1 − s)2sb1 + (3(1 − s))s2b2)+
−(7( 1
4
(1 − s)3 + 3(1 − s)2sa1 + (3(1 − s))s2a2 + 1
2
s3))(1
4
(1 − s)3 + 3(1 − s)2sb1 + (3(1 − s))s2b2)2+
+(1
4
(1 − s)3 + 3(1 − s)2sa2 + (3(1 − s))s2a2 + 17
2
s3)(1
4
(1 − s)3 + 3(1 − s)2sb1+
+(3(1 − s))s2a1b1) + 1
e la curva parametrizzata nello spazio


x(s)
y(s)
q1(x(s), y(s))

 .
La curva parametrizzata cos`ı ottenuta corrisponde alla F(γ(s)) definita nel-
la Sezione 3.2 di questo stesso capitolo.
Procedendo nei passaggi per il calcolo della lunghezza approssimata, si
calcoli il vettore tangente a F(γ(s)) in un punto generico:
x (s) = −(3
4
)(1 − s)2 − (6(1 − s))sa1 + 3(1 − s)2a1 − 3s2a2 + (6(1 − s))sa2 + ( 3
2
)s2,
y (s) = −(3
4
)(1 − s)2 − (6(1 − s))sb1 + 3(1 − s)2b1 − 3s2b2 + (6(1 − s))sb2,
q1(x(s), y(s)) = −12((1
4
)(1 − s)3 + 3(1 − s)2sa1 + (3(1 − s))s2a2+
+(1
2
)s3)2(−( 3
4
)(1 − s)2 − (6(1 − s))sa1 + 3(1 − s)2a1 − 3s2a2+
+(6(1 − s))sa2 + ( 3
2
)s2) + (12(( 1
4
)(1 − s)3 + 3(1 − s)2sa1+
+(3(1 − s))s2a2 + ( 1
2
)s3))(−( 3
4
)(1 − s)2 − (6(1 − s))sa1+
+3(1 − s)2a1 − 3s2a2 + (6(1 − s))sa2 + ( 3
2
)s2) + (6(1 − s))sa1+
−3(1 − s)2a1 + 3s2a2 − (6(1 − s))sa2 − ( 3
2
)s2 + ( 51
2
)((1
4
)(1 − s)3+
+3(1 − s)2sb1 + (3(1 − s))s2b2)2(−(3
4
)(1 − s)2 − (6(1 − s))sb1+
+3(1 − s)2b1 − 3s2b2 + (6(1 − s))sb2) − (25((1
4
)(1 − s)3 + 3(1 − s)2sb1+
+(3(1 − s))s2b2))(−( 3
4
)(1 − s)2 − (6(1 − s))sb1 + 3(1 − s)2b1 − 3s2b2+
+(6(1 − s))sb2) − (6(1 − s))sb1 + 3(1 − s)2b1 − 3s2b2 + (6(1 − s))sb2+
−(4((1
4
)(1 − s)3 + 3(1 − s)2sa1 + (3(1 − s))s2a2 + ( 1
2
)s3))(( 1
4
)(1 − s)3+
+3(1 − s)2sb1 + (3(1 − s))s2b2)(−(3
4
)(1 − s)2 − (6(1 − s))sa1 + 3(1 − s)2a1+
−3s2a2 + (6(1 − s))sa2 + ( 3
2
)s2) − 2((1
4
)(1 − s)3 + 3(1 − s)2sa1 + (3(1 − s))s2a2+
+(1
2
)s3)2(−( 3
4
)(1 − s)2 − (6(1 − s))sb1 + 3(1 − s)2b1 − 3s2b2 + (6(1 − s))sb2)+
−(7(−( 3
4
)(1 − s)2 − (6(1 − s))sa1 + 3(1 − s)2a1 − 3s2a2 + (6(1 − s))sa2+
+(3
2
)s2))(( 1
4
)(1 − s)3 + 3(1 − s)2sb1 + (3(1 − s))s2b2)2 − (14((1
4
)(1 − s)3+
+3(1 − s)2sa1 + (3(1 − s))s2a2 + ( 1
2
)s3))(( 1
4
)(1 − s)3 + 3(1 − s)2sb1+
30
CAPITOLO 3. GEODETICHE APPROSSIMATE
+(3(1 − s))s2b2)(−( 3
4
)(1 − s)2 − (6(1 − s))sb1 + 3(1 − s)2b1 − 3s2b2 + (6(1 − s))sb2)+
+(−( 3
4
)(1 − s)2 − (6(1 − s))sa1 + 3(1 − s)2a1 − 3s2a2 + (6(1 − s))sa2+
+( 3
2
)s2)(( 1
4
)(1 − s)3 + 3(1 − s)2sb1 + (3(1 − s))s2b2) + (( 1
4
)(1 − s)3+
+3(1 − s)2sa1 + (3(1 − s))s2a2 + ( 1
2
)s3)(−( 3
4
)(1 − s)2 − (6(1 − s))sb1 + 3(1 − s)2b1+
−3s2b2 + (6(1 − s))sb2).
I passaggi successivi, ovvero la valutazione della norma di D(F(γ(s))) in
quattro punti e la somma dei quattro valori ottenuti e pesati, non vengono
riportati a causa della loro lunghezza. La somma pesata dei quattro valori
risulta essere una funzione f(a1, a2, b1, b2), che `e somma di radici quadra-
te di polinomi di grado 6 in a1, a2, b1 e b2; la geodetica approssimata `e
determinata da un punto di minimo relativo di tale funzione.
3.3 Il caso di una geodetica approssimata su due
triangoli
Dati ˆz0 = (0, b0) ∈ ˆT0 e ˆz1 = (a1, b1) ∈ ˆT1, con ˆT0 e ˆT1 due triangoli adia-
centi contenuti in R2 come in figura, si considera il problema di minimizzare
la lunghezza dell’immagine attraverso F della funzione cubica a tratti con-
giungente ˆz0 e ˆz1.
La curva congiungente ˆz0 e ˆz1 deve necessariamente attraversare il lato co-
mune ai due triangoli. Si ripete allora parzialmente il ragionamento fatto
nella Sezione 3.2, supponendo che le cubiche minimizzanti esistano e che sia-
no interamente contenute in ˆT0 e ˆT1. Consideriamo un punto ζ = (p, q) ∈ ,
per il momento fissato; si prenda:
ˆ una curva di B´ezier cubica γ1(s), s ∈ [0, 1], che congiunge z0 e ζ nel
triangolo ˆT0, e
31
CAPITOLO 3. GEODETICHE APPROSSIMATE
ˆ una curva di B´ezier cubica γ2(s), s ∈ [0, 1], che congiunge ζ e z1 nel
triangolo ˆT1,
e si consideri la somma delle loro lunghezze:
L(t0, t1, t2, t3, p) :=
1
0
d
ds
F(γ1(s)) ds +
1
0
d
ds
F(γ2(s)) ds.
Tale somma dipende dalla scelta di t0 := γ1(0) e t1 := γ1(1), dalla scelta di
t2 := γ2(0) e t3 := γ2(1) e dall’ascissa p del punto ζ, variabile su e quindi
con seconda componente individuata da p. Si osserva che L dipende da p
perch´e γ1, γ2 variano al variare dei loro estremi.
Il problema pertanto diventa quello di minimizzare L(t0, t1, t2, t3, p) al
variare di (t0, t1, t2, t3, p), imponendo che la curva congiungente ˆz0 e ˆz1 sia
di classe C1([0, 2]), cio`e t1 = t2, e che p ∈ [0, a1].
32
Capitolo 4
Ulteriori sviluppi e
applicazioni
In questo capitolo saranno esposte molto brevemente alcune applicazioni
illustrate negli articoli [2] e [3].
4.1 Femore umano e scafo di una nave
Un’applicazione di quanto descritto nel Capitolo 3 `e la ricostruzione di ossa e
tessuti biologici effettuata dall’MRI (imaging a risonanza magnetica): a par-
tire dai dati forniti dalla misurazione, che formano l’insieme di vertici iniziali,
attraverso la costruzione di funzioni di interpolazione su mesh sempre pi`u
raffinate si riesce ad ottenere una ricostruzione in questo caso del femore, co-
me indicato nel sito del U.S. Department of Health and Human Services - Na-
tional Institutes of Health (https://3dprint.nih.gov/discover/3dpx-000168),
di cui riportiamo le seguenti figure:
Esempio di Applicazione
Distanza geodetica
tra punti su triangolazione discreta
Tu
nn n
33
CAPITOLO 4. ULTERIORI SVILUPPI E APPLICAZIONI












































Esempio di Applicazione
Distanza geodetica
tra punti su triangolazione discreta
Analogamente, se si suppone di partire da una griglia grossolana di punti
che appartengono allo scafo di una nave, attraverso l’inserimento di nuovi
vertici si pu`o rappresentare lo scafo con la precisione desiderata (Figura 7,
articolo [2]).
Figure 7: Directional projection strategy with a horizontal direction of projection perpendicular to
the axis of symmetry. The first two rows show side view of the coarse grid and grids obtained
from five successive refinements. The last row shows a front view of the same grids shown in the
second row. This strategy produces uniformly distributed cells away from areas where the projection
direction is close to the tangent to the shape (namely, at the bottom of the shape as well as the
front of the bulb).
22
4.2 Applicazioni alle equazioni differenziali alle de-
rivate parziali
In generale, sia data come descritto in [3, Section 4], una equazione diffe-
renziale alle derivate parziali 1 nell’incognita u scritta in forma puntuale2 su
un dominio fisico Ω ∈ R2, con condizioni di Dirichlet3 su una parte ΓD del
bordo di Ω, e condizioni di Neumann4 sulla restante parte ΓN = ∂Ω  ΓD.
1
o anche un sistema di pi`u equazioni differenziali alle derivate parziali.
2
detta anche forte, cio`e per la quale la regolarit`a della funzione `e sufficiente per scrivere
tutte le derivate coinvolte, in tutti i punti.
3
cio`e assegnando il valore di u su ΓD.
4
cio`e assegnando il valore della derivata di u nella direzione normale a ∂Ω, su ΓN .
34
CAPITOLO 4. ULTERIORI SVILUPPI E APPLICAZIONI
Utilizzando i contenuti dell’articolo [3], si pu`o costruire un dominio parame-
trico ˆΩ corrispondente a Ω secondo la mappa G : ˆΩ → Ω e dotato di una
triangolazione T.
Si supponga che la triangolazione T dipenda da un parametro piccolo h > 0
fissato, e supponiamo di avere una base di funzioni (che possono essere conti-
nue lineari a tratti, polinomiali a tratti ecc.) associata a tale triangolazione;
`e conveniente che queste funzioni abbiano un supporto localizzato, cio`e che
si annullino tranne che su pochi triangoli in modo da ottenere matrici sparse
nei sistemi lineari che andranno successivamente risolti.
Come anche d’uso nel metodo degli elementi finiti, una volta che l’e-
quazione viene scritta in forma debole attraverso un’integrazione per parti,
si pu`o approssimare la soluzione, scrivendo u in funzione della base scelta,
come in [3, formula (24)], nel dominio parametrico; la soluzione finale ap-
prossimata verr`a poi recuperata componendo con la mappa G−1.
La scrittura in forma debole approssimata fornisce dei sistemi lineari che
coinvolgono, ad esempio, quelle che sono chiamate la matrice di rigidit`a (in
inglese stiffness matrix) e di massa.
Una scelta della base diversa da quella usata per gli elementi finiti sembra
essere giustificata, secondo gli autori, da un possibile aumento della velocit`a
di convergenza della soluzione discreta alla soluzione originale per h → 0+.
35
Bibliografia
[1] K. Crane, Discrete Differential Geometry: An Applied Introduction,
2019
[2] L. Heltai, W. Bangerth, M. Kronbichler and A. Mola, Using
exact geometry information in finite element computations, preprint
arXiv:1910.09824 [math.NA], (2019).
[3] N. Jaxon and X. Qian, Isogeometric analysis on triangulations,
Computer-Aided Design, 46, 45–57, (2014).
[4] Peter Percell, On Cubic and Quartic Clough-Tocher Finite Elements,
SIAM Journal on Numerical Analysis, 13:1, 100–103 , (1976).
[5] M. J. D. Powell and M. A. Sabin, Piecewise Quadratic Approximations
on Triangles, ACM Trans. Math. Softw. 3, 4, 316–325, (1977).
[6] U.S. Department of Health and Human Services - National Institutes
of Health, https://3dprint.nih.gov/discover/3dpx-000168.
36

More Related Content

Similar to Ricostruzioni Lisce di Superfici da una Data Triangolazione

Relazione_CPD2_DavideSito
Relazione_CPD2_DavideSitoRelazione_CPD2_DavideSito
Relazione_CPD2_DavideSito
Davide Sito
 
Foglio-elettronico - Open Office
Foglio-elettronico - Open OfficeFoglio-elettronico - Open Office
Foglio-elettronico - Open Office
autoformazione
 
Project work moto circolare_uniforme_1
Project work moto circolare_uniforme_1Project work moto circolare_uniforme_1
Project work moto circolare_uniforme_1
atiscioni
 

Similar to Ricostruzioni Lisce di Superfici da una Data Triangolazione (19)

Primo
PrimoPrimo
Primo
 
Struttura1
Struttura1Struttura1
Struttura1
 
Relazione_CPD2_DavideSito
Relazione_CPD2_DavideSitoRelazione_CPD2_DavideSito
Relazione_CPD2_DavideSito
 
Foglio-elettronico - Open Office
Foglio-elettronico - Open OfficeFoglio-elettronico - Open Office
Foglio-elettronico - Open Office
 
BisPy: un pacchetto Python per il calcolo della massima bisimulazione di graf...
BisPy: un pacchetto Python per il calcolo della massima bisimulazione di graf...BisPy: un pacchetto Python per il calcolo della massima bisimulazione di graf...
BisPy: un pacchetto Python per il calcolo della massima bisimulazione di graf...
 
BisPy: un pacchetto Python per il calcolo della massima bisimulazione di graf...
BisPy: un pacchetto Python per il calcolo della massima bisimulazione di graf...BisPy: un pacchetto Python per il calcolo della massima bisimulazione di graf...
BisPy: un pacchetto Python per il calcolo della massima bisimulazione di graf...
 
Algebra lineare_1
 Algebra lineare_1 Algebra lineare_1
Algebra lineare_1
 
Area di un segmento parabolico
Area di un segmento parabolicoArea di un segmento parabolico
Area di un segmento parabolico
 
geometria tropicale
geometria tropicalegeometria tropicale
geometria tropicale
 
Metodi matematici per l’analisi di sistemi complessi
Metodi matematici per l’analisi di sistemi complessiMetodi matematici per l’analisi di sistemi complessi
Metodi matematici per l’analisi di sistemi complessi
 
Dai rettangoli isoperimetrici alle disequazioni di secondo grado
Dai rettangoli isoperimetrici alle disequazioni di secondo gradoDai rettangoli isoperimetrici alle disequazioni di secondo grado
Dai rettangoli isoperimetrici alle disequazioni di secondo grado
 
Fondazione point-free della matematica
Fondazione point-free della matematicaFondazione point-free della matematica
Fondazione point-free della matematica
 
Invarianza di un politopo
Invarianza di un politopoInvarianza di un politopo
Invarianza di un politopo
 
Problemi di trigonometria
Problemi di trigonometriaProblemi di trigonometria
Problemi di trigonometria
 
Fg esercizi 4
Fg esercizi 4Fg esercizi 4
Fg esercizi 4
 
Maturità 2017, le tracce dello scientifico
Maturità 2017, le tracce dello scientificoMaturità 2017, le tracce dello scientifico
Maturità 2017, le tracce dello scientifico
 
Project work moto circolare_uniforme_1
Project work moto circolare_uniforme_1Project work moto circolare_uniforme_1
Project work moto circolare_uniforme_1
 
Analisi tridimensionale di pile da ponte a doppia lama.
Analisi tridimensionale di pile da ponte a doppia lama.Analisi tridimensionale di pile da ponte a doppia lama.
Analisi tridimensionale di pile da ponte a doppia lama.
 
Thermal project of the core
Thermal project of the coreThermal project of the core
Thermal project of the core
 

Ricostruzioni Lisce di Superfici da una Data Triangolazione

  • 1. UNIVERSIT`A DEGLI STUDI DI TRIESTE Dipartimento di Ingegneria e Architettura Laurea Triennale in Ingegneria Elettronica e Informatica Ricostruzioni Lisce di Superfici da una Data Triangolazione 7 luglio 2020 Laureanda Relatore Martina Bellettini Prof. Fabio Perroni Correlatore Prof. Luca Heltai Anno Accademico 2019/2020
  • 2. Indice Introduzione ii 1 Interpolazioni quadratiche 1 1.1 Interpolazioni cubiche nel caso unidimensionale . . . . . . . . 1 1.2 Interpolazioni quadratiche su triangoli . . . . . . . . . . . . . 2 1.2.1 Suddivisione del triangolo nel dominio in sottotriangoli 3 1.2.2 Caso di un triangolo rettangolo isoscele . . . . . . . . 7 1.2.3 Condizioni esplicite su coefficienti e parametri . . . . . 13 2 Interpolazioni cubiche 16 2.1 Interpolazioni cubiche su un triangolo . . . . . . . . . . . . . 16 2.2 Interpolazioni cubiche su patch di due triangoli . . . . . . . . 22 3 Geodetiche approssimate 25 3.1 Motivazioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 3.2 Il caso di una geodetica approssimata su un triangolo . . . . . 27 3.3 Il caso di una geodetica approssimata su due triangoli . . . . 31 4 Ulteriori sviluppi e applicazioni 33 4.1 Femore umano e scafo di una nave . . . . . . . . . . . . . . . 33 4.2 Applicazioni alle equazioni differenziali alle derivate parziali . 34 Bibliografia 36 i
  • 3. Introduzione Nel presente elaborato si analizzer`a il problema di costruire, a partire da alcuni punti noti di una superficie in R3, una funzione polinomiale di in- terpolazione, il cui grafico sia ragionevolmente vicino alla superficie cercata. Questo tipo di problematiche `e molto presente nell’ambito delle ricostruzioni di immagini di ossa e tessuti biologici a partire, ad esempio, da dati ottenuti tramite imaging a risonanza magnetica. Un esempio specifico di uso di tali tecniche `e dato dalla ricostruzione di un femore o delle sue fratture, come verr`a spiegato negli ultimi due Capitoli. Da un certo numero di punti noti `e infatti possibile definire dei vettori normali alla superficie lineare a tratti che interpola linearmente i punti stessi, come riportato nel testo [1]. Con tali dati a disposizione verranno esaminati diversi modi per costruire in modo univoco una funzione di interpolazione polinomiale a tratti, di grado fissato, continua e con gradiente continuo. Un articolo fondamentale in questo tipo di ricerca `e rappresentato dal lavoro di M. J. D. Powell e M. A. Sabin [5] del 1977, che `e tuttora molto attuale e citato. Esso presenta delle proposte di costruzione di funzioni qua- dratiche a tratti definite su un triangolo, ottenute tramite incollamento di polinomi quadratici definiti su opportuni sottotriangoli. Infatti, il problema di interpolazione quadratica di tre punti in R3 con gradiente assegnato nei tre punti non si pu`o risolvere con un’unica funzione polinomiale di grado 2, perch´e le condizioni lineari imposte del problema sono 9, mentre i parametri della funzione sono 6. In generale, quindi, tale problema non ha soluzio- ne. Suddividendo in sottotriangoli, il numero di parametri della funzione aumenta. La metodologia proposta nell’articolo [5] `e stata applicata nel presente elaborato in tutti i dettagli al caso in cui il dominio della funzione interpolante sia un triangolo rettangolo isoscele. Una costruzione simile pu`o essere sviluppata anche con funzioni cubiche a tratti, e per questo caso `e stato approfondito l’articolo [4]; anche in questo caso `e stato sviluppato il metodo e sono state derivate esplicitamente tutte le condizioni lineari del problema. Si riportano ora i contenuti dei singoli capitoli. Nei Capitoli 1 e 2 verranno esaminati i seguenti casi: ˆ interpolazione cubica di due punti nel piano con tangenti assegnate; ii
  • 4. INDICE ˆ interpolazione quadratica di tre punti in R3 con gradiente assegnato; la teoria sviluppata nell’articolo [5] verr`a applicata in tutti i dettagli al caso in cui il dominio della funzione interpolante sia un triangolo rettangolo isoscele; ˆ interpolazione cubica di tre punti in R3 con gradiente assegnato; ˆ interpolazione cubica di quattro punti in R3 con vettori normali asse- gnati. Alcuni conti particolarmente complicati sono stati eseguiti con il sup- porto del programma Maple. Una volta ottenuta la funzione interpolante, nel Capitolo 3 si passer`a alla costruzione di una geodetica approssimata congiungente due punti qualsiasi appartenenti alla superficie grafico della funzione, sia nel caso di un domi- nio formato da un singolo triangolo, sia nel caso di un dominio dato da un patch di due triangoli. Ricordiamo che una geodetica `e, per definizione, una curva di lunghezza minima contenuta in una superficie e congiungente due punti della superficie. In generale, la determinazione esplicita di geodeti- che non `e ottenibile; per tale motivo `e spesso preferibile sviluppare delle tecniche di approssimazione di geodetiche. In questa tesi tale approssima- zione verr`a ricercata tra le immagini di curve piane cubiche e minimizzando un’approssimazione della lunghezza delle curve congiungenti due punti dati e contenute nella superficie considerata. Sulla geodetica verr`a individuato un nuovo punto equidistante dai due estremi, che diventer`a un nuovo dato con cui costruire una funzione di interpolazione pi`u precisa della preceden- te. Con l’aggiunta di questa informazione si ripeter`a il procedimento in modo da infittire la mesh sulla superficie cercata, fino al grado di precisione desiderato. Infine, nel Capitolo 4 verranno dati dei cenni ad altre applicazioni di tali tecniche, che riguardano principalmente lo studio di alcune equazioni alle derivate parziali. Le funzioni interpolanti, infatti, permettono di approssi- mare i bordi di domini tridimensionali con superfici che sono immagini di poligoni triangolati. Inoltre, alcune funzioni che vengono solitamente usate nell’ambito del Computer-Aided Design, come ad esempio le curve NURBS e le curve di B´ezier, permettono di determinare delle basi per degli opportuni sottospazi di funzioni, nei quali viene svolta la ricerca di approssimanti di soluzioni delle equazioni differenziali alle derivate parziali. Questo approccio pu`o essere considerato come una generalizzazione del metodo degli elementi finiti ed `e stato approfondito nell’articolo [3]. In tale articolo si afferma che seguendo questo procedimento si riduce, tra le altre cose, l’errore geometrico di approssimazione. Infine, si osserva che queste tematiche hanno un carattere spiccatamen- te interdisciplinare; coinvolgono infatti elementi di geometria, analisi nu- iii
  • 5. INDICE merica, analisi matematica, ingegneria biomedica, ingegneria informatica e ingegneria navale. iv
  • 6. Capitolo 1 Interpolazioni quadratiche 1.1 Interpolazioni cubiche nel caso unidimensio- nale In questa sezione verr`a trattato il caso semplice dell’interpolazione con fun- zioni polinomiali cubiche dei dati nei due punti estremi dell’intervallo uni- tario. Proposizione 1.1.1 Dati c0, c1, t0, t1 ∈ R, esiste un’unica funzione cubica σ : [0, 1] → R del tipo σ(s) = as3 + bs2 + cs + d tale che valgano: σ(0) = c0, σ(1) = c1, σ (0) = t0, σ (1) = t1, e precisamente: σ(s) = (2c0 − 2c1 + t0 + t1)s3 + (−3c0 + 3c1 − 2t0 − t1)s2 + t0s + c0. Dimostrazione: Per una generica funzione σ(s) = as3 + bs2 + cs + d, si ha σ (s) = 3as2 + 2bs + c, da cui si ottiene σ(0) = d, σ(1) = a + b + c + d, σ (0) = c, σ (1) = 3a + 2b + c. Le condizioni dell’enunciato corrispondono, quindi, al seguente sistema li- neare nelle incognite a, b, c, d:    d = c0 a + b + c + d = c1 c = t0 3a + 2b + c = t1 La matrice completa associata a tale sistema `e     0 0 0 1 c0 1 1 1 1 c1 0 0 1 0 t0 3 2 1 0 t1     . 1
  • 7. CAPITOLO 1. INTERPOLAZIONI QUADRATICHE Si nota subito che la matrice dei coefficienti del sistema `e invertibile, quin- di per il Teorema di Cramer il sistema ammette sempre soluzione e tale soluzione `e unica. In questo caso la soluzione si pu`o trovare per sostituzione e si ottiene: a = 2c0 − 2c1 + t0 + t1, b = −3c0 + 3c1 − 2t0 − t1, c = t0, d = c0, da cui la tesi. Si osserva, infine, che la funzione σ pu`o essere scritta anche nella seguente forma: σ(s) = ϕ1(s)c0 + ϕ2(s)c1 + ϕ3(s)t0 + ϕ4(s)t1 con ϕ1(s) = 2s3 − 3s2 + 1, ϕ2(s) = −2s3 + 3s2 , ϕ3(s) = s3 − 2s2 + s, ϕ4(s) = s3 − s2 , cio`e σ `e una combinazione lineare di quattro specifiche funzioni cubiche, che vengono anche dette basi per spline cubiche. 2 Osservazione 1.1.2 Il problema appena considerato, dal punto di vista geometrico, coincide con la ricerca di una funzione (polinomiale) cubica il cui grafico passi per due punti assegnati con tangenti assegnate. Osservazione 1.1.3 Il problema di approssimazione dei dati in due pun- ti in generale non ammette soluzione con funzioni quadratiche. Infatti in un polinomio quadratico in una variabile ci sono tre coefficienti liberi, e le condizioni di valore assegnato e derivata assegnata corrispondono a quattro condizioni lineari sui coefficienti. Per una scelta generale dei dati quindi il problema non ha soluzione. 1.2 Interpolazioni quadratiche su triangoli Il problema analogo in due dimensioni `e quello di trovare una funzione po- linomiale a tratti, continua con gradiente continuo, a partire da grado as- segnato, valori e gradienti assegnati in tre punti non allineati; dal punto di vista geometrico questo `e equivalente a trovare una funzione polinomiale a tratti, definita su un triangolo piano, il cui grafico passi per tre punti asse- gnati con piani tangenti assegnati negli stessi tre punti. Si noti che il problema di determinazione di tale funzione `e lineare. Generalmente, la funzione di interpolazione cos`ı ottenuta viene utilizzata dai calcolatori per riprodurre il grafico di una funzione complicata, di cui sono 2
  • 8. CAPITOLO 1. INTERPOLAZIONI QUADRATICHE noti solo un numero limitato di valori o la cui forma non `e adatta a dise- gnarne il grafico. Invece di rappresentare il grafico della funzione originale, viene rappresentato il grafico dell’interpolante (si veda l’articolo [5]). La funzione di interpolazione verr`a indicata con Φ(x, y). Osservazione 1.2.1 Non si pu`o risolvere il problema con un’unica funzione polinomiale di grado 2 perch´e le condizioni lineari imposte del problema sono 9, mentre i parametri della funzione sono 6, analogamente a quello che acca- de per i polinomi di secondo grado nel caso unidimensionale (Osservazione 1.1.3). `E quindi necessario utilizzare una funzione cubica, oppure suddividere il triangolo dato in sottotriangoli e definire la funzione a tratti: in entrambi i casi aumenta il numero dei parametri. `E particolarmente vantaggioso de- finire la funzione di interpolazione come quadratica a tratti per il contour plotting, e sono proprio le funzioni cos`ı definite che verranno illustrate in questo capitolo. I contenuti di questa sezione fanno riferimento all’articolo [5], in cui vengono esposti diversi modi in cui dividere il triangolo dato, con il relati- vo procedimento con cui ottenere una funzione Φ(x, y) quadratica su ogni sottotriangolo, continua e con gradiente continuo. 1.2.1 Suddivisione del triangolo nel dominio in sottotriangoli Per l’interpolazione di funzioni quadratiche su un triangolo sono state pro- poste tre possibili suddivisioni del triangolo iniziale: ˆ Suddivisione in quattro triangoli: In questo caso si pu`o dimostrare che Φ(x, y) dipende da 9 coefficienti (parametri), e le condizioni ai vertici del triangolo iniziale corrispondo- no a 9 condizioni lineari su tali coefficienti. Quindi in questo caso una 3
  • 9. CAPITOLO 1. INTERPOLAZIONI QUADRATICHE soluzione esiste sempre se la matrice dei coefficienti del sistema lineare corrispondente `e invertibile. Se tale matrice non risulta invertibile, il sistema potrebbe essere incompatibile. Nel Teorema 1 dell’articolo citato si dimostra che la matrice dei coef- ficienti del sistema non `e invertibile se e solo se le tre rette AP, BQ e CR sono concorrenti: Teorema 1.2.2 Al sistema di equazioni sopra descritto risulta asso- ciata una matrice singolare se e solo se le rette AP, BQ e CR sono concorrenti. Come conseguenza si ha che, con una scelta dei punti P, Q, R in modo che le rette AP, BQ, CR non siano concorrenti, la matrice associata al sistema lineare sar`a invertibile. Per il Teorema di Cramer il sistema ammetter`a quindi un’unica soluzione, e sar`a quindi unico il polinomio definito su ogni sottotriangolo che soddisfa le condizioni. Solitamente i vertici del triangolo interno vengono scelti come pun- ti medi dei lati del triangolo iniziale ABC, perch´e altrimenti l’errore massimo che si commette utilizzando l’approssimazione aumenta ri- spetto ai metodi esposti in seguito. Tuttavia, con tale scelta le rette AP, BQ e CR risultano concorrenti, per cui questa suddivisione non viene adoperata. ˆ Suddivisione in sei triangoli: Si pu`o dimostrare che anche in questo caso Φ(x, y) dipende da 9 coef- ficienti. Nel Teorema 2 dell’articolo [5] si dimostra che esiste un’unica funzione Φ(x, y) definita a tratti sui 6 sottotriangoli che soddisfa i requisiti richiesti: 4
  • 10. CAPITOLO 1. INTERPOLAZIONI QUADRATICHE Teorema 1.2.3 Se Ψ(x, y) `e una funzione quadratica a tratti su sot- totriangoli, dove i sei sottotriangoli sono definiti come in figura, se Ψ(x, y) e le sue derivate prime sono continue sul triangolo ABC, e se Ψ(x, y) e il suo gradiente si annullano in A, B e C, allora Ψ(x, y) `e identicamente nulla. Tale teorema implica l’unicit`a della soluzione; infatti, prese due fun- zioni che verifichino le condizioni richieste, la loro differenza `e una funzione che soddisfa le ipotesi del Teorema 1.2.3. Quindi la funzione differenza `e la funzione nulla, cio`e le due funzioni coincidono. Nella dimostrazione si ottiene anche il seguente risultato: se il trian- golo ABC `e acuto, scegliendo il vertice interno O come circocentro del triangolo e P, Q, R come punti medi dei lati, la proiezione del gradiente di Φ(x, y) lungo il versore normale a ciascun lato, detta derivata normale di Φ(x, y), `e una funzione lineare. Questa scelta non `e efficace per triangoli non acuti, perch´e il circocen- tro `e esterno al triangolo. Scegliendo un altro punto O come vertice interno, ad esempio l’incentro, si riscontrano nuovamente problemi di accuratezza. In particolare, nel caso di triangoli rettangoli il circocentro giace sul- l’ipotenusa e la derivata normale di Φ(x, y) non `e lineare lungo l’ipo- tenusa, bens`ı lineare a tratti. ˆ Suddivisione in dodici triangoli: Questo metodo risulta efficace per tutti i triangoli. In questo caso Φ(x, y) dipende da dodici coefficienti; nel Teorema 3 dell’articolo [5], il cui enunciato viene riportato nel Teorema 1.2.4, si dimostra che le ulteriori 3 condizioni necessarie a determinare una soluzione unica ri- spetto ai coefficienti sono condizioni sul valore delle derivate normali 5
  • 11. CAPITOLO 1. INTERPOLAZIONI QUADRATICHE di Φ(x, y) in P, Q ed R. Se sono noti soltanto i dati ai vertici del triangolo iniziale e non le derivate normali, queste ultime vengono so- litamente stimate tramite interpolazione lineare dei dati nei vertici del triangolo ABC. L’esistenza, l’unicit`a e la dipendenza da esattamente questi dodici dati di Φ(x, y) `e dimostrata nell’articolo [5] nel seguente Teorema 1.2.4 Se Ψ(x, y) `e una funzione quadratica a tratti su sot- totriangoli, dove i dodici sottotriangoli sono definiti come in figura, se Ψ(x, y) e le sue derivate prime sono continue nel triangolo ABC, se Ψ(x, y) e Ψ(x, y) si annullano in A, B e C, e se la componente di Ψ(x, y) che `e normale al perimetro del triangolo ABC si annulla in P, Q ed R, allora Ψ(x, y) `e identicamente nulla. Tale teorema implica nuovamente l’unicit`a della soluzione per le stesse motivazioni del Teorema 1.2.3. I teoremi citati in questa sezione garantiscono l’unicit`a di una funzione di interpolazione di dati continua e con gradiente continuo. Inoltre, dati due sottotriangoli con un lato in comune, si osserva che le funzioni che risolvono il problema su ogni sottotriangolo coincidono, cos`ı come i rispettivi gradienti, se ristrette al lato comune. In conclusione, dall’articolo [5] si evince che nel caso in cui il dominio della funzione di interpolazione sia un triangolo nettamente acuto la suddivisione migliore da fare `e quella il 6 sottotriangoli; nel caso in cui il triangolo si avvicini a un triangolo retto o sia ottusangolo (nell’articolo si pone una soglia indicativa di 75◦), invece, la suddivisione consigliata `e quella in 12 sottotriangoli. La suddivisione in 4 sottotriangoli `e sconsigliata in ogni caso. 6
  • 12. CAPITOLO 1. INTERPOLAZIONI QUADRATICHE 1.2.2 Caso di un triangolo rettangolo isoscele In questa sezione viene preso in considerazione un triangolo rettangolo iso- scele di vertici A = (0, 0), B = (1, 0) e C = (0, 1), la cui suddivisione migliore risulta essere quella in 12 triangoli. Le funzioni in ogni sottotriangolo devono essere delle funzioni quadra- tiche, che abbiano valori e gradienti coincidenti lungo i lati interni dei sottotriangoli su cui sono definite. Prima di passare alla definizione delle restrizioni di Φ(x, y) ai sottotrian- goli, `e necessario il seguente risultato. Lemma 1.2.5 Sia L una retta piana affine di equazione cartesiana L(x, y) = lx + my + n = 0. Due funzioni quadratiche q1(x, y) e q2(x, y) definite ciascuna su un semipia- no determinato da L hanno valori e gradienti coincidenti lungo L se e solo se esiste una costante λ tale che si abbia q2(x, y) = q1(x, y) + λL(x, y)2 . Dimostrazione: Si consideri il polinomio P(x, y) := q2(x, y) − q1(x, y). Il luogo degli zeri di P(x, y) `e una conica piana; se il polinomio `e irriducibile, la conica `e un’ellisse, una parabola o una iperbole, e in particolare il suo luogo degli zeri non contiene una retta. 7
  • 13. CAPITOLO 1. INTERPOLAZIONI QUADRATICHE Supponendo, quindi, che P(x, y) si annulli lungo la retta L, esso deve necessariamente essere riducibile e fattorizzare nel prodotto di due fattori lineari, di cui uno `e proprio L(x, y): P(x, y) = L(x, y)M(x, y). (1.2.1) Si passi ora alla condizione che q1(x, y) e q2(x, y) abbiano anche lo stesso gradiente lungo L. Dalla relazione (1.2.1) si ha che q1 − q2 = M(x, y) L + L(x, y) M. Per ogni (x, y) ∈ L deve valere 0 = ( q1 − q2)(x, y) = M(x, y) L + L(x, y) M. Siccome L(x, y) = 0 per ipotesi e siccome L `e un vettore costante non nullo perch´e L(x, y) `e un polinomio lineare, la condizione ( q1 − q2)(x, y) = 0 `e equivalente alla M(x, y) = 0. Inoltre, il luogo degli zeri di M(x, y) `e una retta, e siccome M si deve annullare lungo i punti della retta L(x, y) = 0, le due equazioni devono essere proporzionali, cio`e deve esistere una costante λ = 0 tale che M(x, y) = λL(x, y). Si ottiene, quindi, P(x, y) = λL(x, y)2, da cui la tesi. 2 Il vertice interno O viene scelto come baricentro del triangolo ABC, di coordinate (1 3, 1 3); i vertici P, Q, R vengono scelti come punti medi dei tre lati esterni, quindi P = 1 2 , 1 2 , Q = 0, 1 2 , R = 1 2 , 0 . Martina disegni lunedì 29 giugno 2020 16:03 8
  • 14. CAPITOLO 1. INTERPOLAZIONI QUADRATICHE Con queste scelte, le funzioni quadratiche restrizione di Φ(x, y) dovranno essere della forma seguente, in modo da avere Φ(x, y) continua con gradiente continuo su ABC: q1(x, y) := ax2 + bxy + cy2 + dx + ey + f, q2(x, y) := q1(x, y) + λ2(x + 2y − 1)2 , q3(x, y) := q2(x, y) + λ3(2x + y − 1)2 , q4(x, y) := q3(x, y) + λ4(−x + y)2 , q5(x, y) := q4(x, y) + λ5(x + 2y − 1)2 , q6(x, y) := q5(x, y) + λ6(2x + y − 1)2 , q1(x, y) = q6(x, y) + λ1(−x + y)2 (1.2.2) In queste definizioni e nell’ultima condizione sono coinvolti 12 parametri, tuttavia vale il seguente Lemma 1.2.6 L’ultima condizione in (1.2.2) implica che solo 9 tra questi parametri sono linearmente indipendenti tra loro. Dimostrazione: Il polinomio q1 = q6(x, y) + λ1(−x + y)2 = (a + λ1 + λ2 + 4λ3 + λ5 + 4λ6)x2 + (b − 2λ1 + 4λ2 + 4λ3 − 2λ4 + 4λ5 + 4λ6)xy+ (c + λ1 + 4λ2 + λ3 + λ4 + 4λ5 + λ6)y2 + (d − 2λ2 − 4λ3 − 2λ5 − 4λ6)x+ (e − 4λ2 − 2λ3 − 4λ5 − 2λ6)y+ f + λ2 + λ3 + λ5 + λ6 deve essere uguale al polinomio di partenza ax2 + bxy + cy2 + dx + ey + f: (a + λ1 + λ2 + 4λ3 + λ5 + 4λ6)x2 + (b − 2λ1 + 4λ2 + 4λ3 − 2λ4 + 4λ5 + 4λ6)xy+ (c + λ1 + 4λ2 + λ3 + λ4 + 4λ5 + λ6)y2 + (d − 2λ2 − 4λ3 − 2λ5 − 4λ6)x+ (e − 4λ2 − 2λ3 − 4λ5 − 2λ6)y + f + λ2 + λ3 + λ5 + λ6 = ax2 + bxy + cy2 + dx + ey + f, quindi si ottiene il sistema    a + λ1 + λ2 + 4λ3 + λ5 + 4λ6 = a b − 2λ1 + 4λ2 + 4λ3 − 2λ4 + 4λ5 + 4λ6 = b c + λ1 + 4λ2 + λ3 + λ4 + 4λ5 + λ6 = c d − 2λ2 − 4λ3 − 2λ5 − 4λ6 = d e − 4λ2 − 2λ3 − 4λ5 − 2λ6 = e f + λ2 + λ3 + λ5 + λ6 = f 9
  • 15. CAPITOLO 1. INTERPOLAZIONI QUADRATICHE Semplificando a, b, c, d, e, f si ottiene il sistema lineare omogeneo    λ1 + λ2 + 4λ3 + λ5 + 4λ6 = 0 2λ1 + 4λ2 + 4λ3 − 2λ4 + 4λ5 + 4λ6 = 0 λ1 + 4λ2 + λ3 + λ4 + 4λ5 + λ6 = 0 −2λ2 − 4λ3 − 2λ5 − 4λ6 = 0 −4λ2 − 2λ3 − 4λ5 − 2λ6 = 0 λ2 + λ3 + λ5 + λ6 = 0 La matrice associata a questo sistema nelle incognite λ1, λ2, λ3, λ4, λ5, λ6 `e A =        1 1 4 1 1 4 −2 4 4 −2 4 4 1 4 1 1 4 1 0 −2 −4 0 −2 −4 0 −4 −2 0 −4 −2 0 1 1 0 1 1        . Se si riduce la matrice A per mezzo di operazioni elementari in una matrice a scala, si ottiene:        1 1 4 1 1 4 −2 4 4 −2 4 4 1 4 1 1 4 1 0 −2 −4 0 −2 −4 0 −4 −2 0 −4 −2 0 1 1 0 1 1        −→        1 1 4 1 1 4 0 6 12 0 6 12 0 3 −3 0 3 −3 0 −2 −4 0 −2 −4 0 −4 −2 0 −4 −2 0 1 1 0 1 1        −→        1 1 4 1 1 4 0 1 1 0 1 1 0 0 6 0 0 6 0 0 −6 0 0 −6 0 0 −2 0 0 −2 0 0 2 0 0 2        −→        1 1 4 1 1 4 0 1 1 0 1 1 0 0 1 0 0 1 0 0 −1 0 0 −1 0 0 −1 0 0 −1 0 0 1 0 0 1        −→        1 1 4 1 1 4 0 1 1 0 1 1 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0        . Il sistema lineare `e formato da 3 equazioni e 6 incognite, e da ci`o si ricava che il numero di parametri liberi `e 3. In particolare si ha che    λ1 + λ2 + 4λ3 + λ5 + λ4 + 4λ6 = 0 λ2 + λ3 + λ5 + λ6 = 0 λ3 + λ6 = 0    λ1 = −λ2 − 4λ3 − λ5 − λ4 − 4λ6 λ2 = −λ3 − λ5 − λ6 λ3 = −λ6    λ1 = −λ4 λ2 = −λ5 λ3 = −λ6 sostituendo a partire dall’ultima equazione. Quindi le funzioni definite sul triangolo PQR dipendono solo da 9 parametri: a, b, c, d, e, f, λ4, λ5, λ6. 2 10
  • 16. CAPITOLO 1. INTERPOLAZIONI QUADRATICHE Lemma 1.2.7 L’aggiunta di altre due funzioni definite su due sottotrian- goli adiacenti appartenenti ad ABC PQR comporta l’aggiunta di un solo parametro. Dimostrazione: Dato il sistema    q4 := q3 + λ4(−x + y)2 Q4 := q4 + k2(x + y − 1 2)2 Q3 := Q4 + m(−x + y)2 q3 = Q3 + n(x + y − 1 2) si ha q3 = Q4 + m(−x + y)2 + n(x + y − 1 2 ) = q4 + k2(x + y − 1 2 )2 + m(−x + y)2 + n(x + y − 1 2 )2 = q3 + λ4(−x + y)2 + k2(x + y − 1 2 )2 + m(−x + y)2 + n(x + y − 1 2 )2 , da cui (λ4 + m)(−x + y)2 + (k2 + n)(x + y − 1 2 )2 = 0 (λ4 + m)(x2 − 2xy + y2 ) + (k2 + n)(x2 + 2xy + y2 − x − y + 1 4 ) = 0 (λ4 + m + k2 + n)x2 + (−2λ4 − 2m + 2k2 + 2n)xy + (λ4 + m + k2 + n)y2 + (−k2 − n)x + (−k2 − n)y + 1 4 k2 + 1 4 n = 0. Le equazioni da soddisfare sono quindi    λ4 + m + k2 + n = 0 −2λ4 − 2m + 2k2 + 2n = 0 λ4 + m + k2 + n = 0 −k2 − n = 0 −k2 − n = 0 1 4k2 + 1 4n = 0 La matrice associata al sistema lineare omogeneo, prendendo come vettore delle incognite     λ4 m k2 n    , `e:        1 1 1 1 −2 −2 2 2 1 1 1 1 0 0 −1 −1 0 0 −1 −1 0 0 1 4 1 4        −→        1 1 1 1 −1 −1 1 1 1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1        −→        1 1 1 1 0 0 2 2 0 0 0 0 0 0 1 1 0 0 1 1 0 0 1 1        −→        1 1 1 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0        . 11
  • 17. CAPITOLO 1. INTERPOLAZIONI QUADRATICHE Ci si riconduce a un sistema equivalente a quello di partenza di 2 equazioni a 4 incognite; il numero di parametri indipendenti `e quindi 2. In particolare si ottiene: λ4 = −m k2 = −n Per definire Q3 e Q4 viene quindi introdotto un solo parametro k2: Q3 = q3 + k2(x + y − 1 2)2 Q4 = q4 + k2(x + y − 1 2)2 E inoltre vale q4 = q3 + λ4(−x + y)2 Q4 = Q3 + λ4(−x + y)2 2 I coefficienti di Φ(x, y) sono quindi a, b, c, d, e, f, λ4, λ5, λ6, k1, k2, k3, tanti quanti le condizioni da imporre. I polinomi definiti sui singoli sottotriangoli sono: q1(x, y) = ax2 + bxy + cy2 + dx + ey + f q2(x, y) =(a − λ5)x2 + (b − 4λ5)xy + (c − 4λ5)y2 + (d + 2λ5)x + (e + 4λ5)y+ f − λ5 q3(x, y) =(a − λ5 − 4λ6)x2 + (−4λ5 + b − 4λ6)xy + (c − 4λ5 − λ6)y2 + (d + 2λ5 + 4λ6)x + (e + 4λ5 + 2λ6)y + f − λ5 − λ6 q4(x, y) =(a + λ4 − λ5 − 4λ6)x2 + (b − 2λ4 − 4λ5 − 4λ6)xy + (c + λ4 − 4λ5 − λ6)y2 + (d + 2λ5 + 4λ6)x + (e + 4λ5 + 2λ6)y + f − λ5 − λ6 q5(x, y) =(a + λ4 − 4λ6)x2 + (b − 2λ4 − 4λ6)xy + (c + λ4 − λ6)y2 + (d + 4λ6)x+ (e + 2λ6)y + f − λ6 q6(x, y) = (a + λ4)x2 + (b − 2λ4)xy + (c + λ4)y2 + dx + ey + f Q1(x, y) = (a + k1)x2 + bxy + cy2 + (d − k1)x + ey + f + 1 4 k1 Q2(x, y) =(a − λ5 + k1)x2 + (b − 4λ5)xy + (c − 4λ5)y2 + (d + 2λ5 − k1)x + (e + 4λ5)y+ f − λ5 + 1 4 k1 Q3(x, y) =(a − λ5 − 4λ6 + k2)x2 + (b − 4λ5 − 4λ6 + 2k2)xy + (c − 4λ5 − λ6 + k2)y2 + (d + 2λ5 + 4λ6 − k2)x + (e + 4λ5 + 2λ6 − k2)y + f − λ5 − λ6 + 1 4 k2 Q4(x, y) =(a + λ4 − λ5 − 4λ6 + k2)x2 + (b − 2λ4 − 4λ5 − 4λ6 + 2k2)xy+ (c + λ4 − 4λ5 − λ6 + k2)y2 + (d + 2λ5 + 4λ6 − k2)x + (e + 4λ5 + 2λ6 − k2)y+ f − λ5 − λ6 + 1 4 k2 Q5(x, y) =(a + λ4 − 4λ6)x2 + (b − 2λ4 − 4λ6)xy + (c + λ4 − λ6 + k3)y2 + (d + 4λ6)x+ (e + 2λ6 − k3)y + f − λ6 + 1 4 k3 Q6(x, y) = (a + λ4)x2 + (b − 2λ4)xy + (c + λ4 + k3)y2 + dx + (e − k3)y + f + 1 4 k3. Le conclusioni che si traggono da questa sezione sono le seguenti: 12
  • 18. CAPITOLO 1. INTERPOLAZIONI QUADRATICHE ˆ I polinomi definiti sui sottotriangoli del triangolo PQR sono della forma q1 = ax2 + bxy + cy2 + dx + ey + f qi(x, y) = qi−1 + λi(lx + my + n), i = 2, · · ·, 6, dove lx + my + n `e la retta che separa i due semipiani in cui sono contenuti i sottotriangoli dove sono definiti i polinomi qi e qi−1; I polinomi definiti sui sottotriangoli appartenenti a ABC PQR sono della forma Qi = qi + kj(lx + my + n), i = 1, · · ·, 6, j = 1, 2, 3, dove lx + my + n `e la retta che separa i due semipiani in cui sono contenuti i sottotriangoli dove sono definiti i polinomi Qi e qi; ˆ i coefficienti tra loro linearmente indipendenti della funzione polino- miale a tratti sono 12, e questo numero coincide con il numero dei dati assegnati. 1.2.3 Condizioni esplicite su coefficienti e parametri Il gradiente, che calcolato in un vertice v ∈ {A, B, C} deve essere uguale al valore dato per entrambi i polinomi definiti su quel vertice, viene calcolato scegliendo le funzioni Q1, Q3, Q5 rispettivamente per i vertici B, A, C: Q1 =   2(a + k1)x + by + d − k1 bx + 2cy + e   Q3 =   2(a − λ5 − 4λ6 + k2)x + (b − 4λ5 − 4λ6 + 2k2)y + d + 2λ5 + 4λ6 − k2 (b − 4λ5 − 4λ6 + 2k2)x + 2(c − 4λ5 − λ6 + k2)y + e + 4λ5 + 2λ6 − k2   Q5 =   2(a + λ4 − 4λ6)x + (b − 2λ4 − 4λ6)y + d + 4λ6 (b − 2λ4 − 4λ6)x + 2(c + λ4 − λ6 + k3)y + e + 2λ6 − k3   Di seguito sono riportate le espressioni su cui imporre le condizioni, che consistono a loro volta in: valori assegnati nei vertici A, B, C; gradienti 13
  • 19. CAPITOLO 1. INTERPOLAZIONI QUADRATICHE assegnati in A, B, C; derivate normali assegnate o stimate in P, Q, R. Q1(1, 0) = a + d + f + 1 4 k1 Q3(0, 0) = f − λ5 − λ6 + 1 4 k2 Q5(0, 1) = c + e + f + λ4 + 1 4 k3 ∂Q1 ∂x (1, 0) = 2a + d + k1 ∂Q1 ∂y (1, 0) = b + e ∂Q3 ∂x (0, 0) = d + 2λ5 + 4λ6 − k2 ∂Q3 ∂y (0, 0) = e + 4λ5 + 2λ6 − k2 ∂Q5 ∂x (0, 1) = b + d − 2λ4 ∂Q5 ∂y (0, 1) = 2c + e + 2λ4 + k3 Q1( 1 2 , 1 2 ), 1√ 2 1√ 2 = 1 √ 2 ∂Q1 ∂x + 1 √ 2 ∂Q1 ∂y = a + b + c + d + e √ 2 Q3( 1 2 , 0), 0 −1 = −∂Q3 ∂y ( 1 2 , 0) = −b/2 − e − 2λ5 Q5(0, 1 2 ), −1 0 = −∂Q5 ∂x (0, 1 2 ) = −b/2 − d + λ4 − 2λ6. Le ultime tre righe sono le proiezioni dei gradienti sulle normali ai lati del triangolo ABC. Martina disegni lunedì 29 giugno 2020 16:03 14
  • 20. CAPITOLO 1. INTERPOLAZIONI QUADRATICHE Si ottengono quindi tutte le espressioni che dovranno essere uguagliate con i termini noti del problema per ottenere il sistema la cui soluzione determiner`a i coefficienti della funzione di interpolazione. 15
  • 21. Capitolo 2 Interpolazioni cubiche In questo capitolo consideriamo il problema dell’interpolazione tramite su- perfici cubiche di dati su vertici e spigoli di uno o pi`u triangoli, facendo riferimento agli articoli [3] e [4]. 2.1 Interpolazioni cubiche su un triangolo I dati del problema, definiti come parametri nodali, sono ˆ valore e gradiente della funzione interpolante nei vertici a1, a2, a3 ∈ R2; indicheremo con b1, b2, . . . , b9 gli scalari corrispondenti; ˆ derivata normale della funzione interpolante in tre punti, ciascuno su un lato esterno diverso; indicheremo con c1, c2 e c3 gli scalari corrispondenti. Il problema consiste nel trovare una funzione polinomiale di grado 3, definita sul triangolo, che sia continua e con gradiente continuo, e che soddisfi a tutte le richieste sui dati. 16
  • 22. CAPITOLO 2. INTERPOLAZIONI CUBICHE Si osserva che una funzione polinomiale di grado 3 in 2 variabili dipende da 10 coefficienti, e le condizioni considerate corrispondono a 12 condizioni lineari sui coefficienti; in generale, quindi, il problema non ha soluzione usando un unico polinomio di grado 3 definito sul triangolo a1a2a3. Nell’articolo [4] il triangolo di dominio viene perci`o suddiviso in tre sot- totriangoli, e la funzione interpolante Φ(x, y) `e data dall’incollamento di tre polinomi q1(x, y), q2(x, y) e q3(x, y) di grado 3 ciascuno definito su un sot- totriangolo. Sono dunque coinvolti 30 coefficienti. Di seguito si verifica che anche il numero totale di equazioni da soddisfare risulta uguale a 30. Le condizioni esplicite sui valori e sui gradienti di Φ(x, y) sono: ˆ Equazioni relative ai vertici a1, a2 e a3:    q1(a1) = b1 q2(a1) = b1 ∂q1 ∂x (a1) = b2 ∂q2 ∂x (a1) = b2 ∂q1 ∂y (a1) = b3 ∂q2 ∂y (a1) = b3    q2(a2) = b4 q3(a2) = b4 ∂q2 ∂x (a2) = b5 ∂q3 ∂x (a2) = b5 ∂q2 ∂y (a2) = b6 ∂q3 ∂y (a2) = b6    q3(a3) = b7 q1(a3) = b7 ∂q3 ∂x (a3) = b8 ∂q1 ∂x (a3) = b8 ∂q3 ∂y (a3) = b9 ∂q1 ∂y (a3) = b9 17
  • 23. CAPITOLO 2. INTERPOLAZIONI CUBICHE ˆ Equazioni relative alle proiezioni normali dei gradienti sui versori n1, n2 e n3 nei punti A1, A2 e A3 situati sui lati esterni:    q1(A1), n1 = c1 q2(A2), n2 = c2 q3(A3), n3 = c3 ˆ Indicando con a il vertice comune ai tre sottotriangoli, con M1, M2 e M3 i punti medi dei tre lati interni, e con m1, m2 e m3 i versori normali ai lati interni, le condizioni di continuit`a della funzione e di continuit`a dei gradienti lungo i lati interni dei sottotriangoli si esprimono con:    q1(a) = q2(a) q2(a) = q3(a) ∂q1 ∂x (a) = ∂q2 ∂x (a) ∂q2 ∂x (a) = ∂q3 ∂x (a) ∂q1 ∂y (a) = ∂q2 ∂y (a) ∂q2 ∂y (a) = ∂q3 ∂y (a) q1(M1), m1 = q2(M1), m1 q2(M2), m2 = q3(M2), m2 q3(M3), m3 = q1(M3), m3 18
  • 24. CAPITOLO 2. INTERPOLAZIONI CUBICHE Nel Teorema 1 dell’articolo [4] si dimostra il seguente enunciato: Teorema 2.1.1 I parametri nodali b1, . . . , b9, c1, c2, c3 determinano univo- camente una funzione Φ(x, y) di grado 3 polinomiale a tratti di classe C1(T), dove T indica il triangolo di vertici a1, a2 e a3. Se si indica il sistema da risolvere con AX = b, infatti, poich´e il numero di equazioni coincide con il numero di incognite, si ha che AX = b ammette un’unica soluzione ⇐⇒ A `e invertibile ⇐⇒ AX = 0 ammette un’unica soluzione. Gli autori dimostrano che il sistema lineare omogeneo associato AX = 0 ha una sola soluzione (quella banale), e quindi A `e invertibile per il teorema di Rouch´e-Capelli. Da questo segue, per il teorema di Cramer, che anche il sistema lineare di partenza ammette un’unica soluzione. Esempio 2.1.2 Si consideri il triangolo rettangolo di vertici a1 = (0, 0), a2 = (0, 1), a3 = (1, 0), e come vertice interno si scelga il baricentro a = (1 3, 1 3). Sui lati esterni si scelgano i tre punti medi A1 = (0, 1 2), A2 = (1 2, 1 2) e A3 = (1 2, 0). Infine, si considerino i tre punti medi M1 = (1 4, 1 4), M2 = (1 6, 2 3), M3 = (2 3, 1 6). 19
  • 25. CAPITOLO 2. INTERPOLAZIONI CUBICHE Si scrivano le tre funzioni cubiche cercate nella seguente forma: q1(x, y) := l1x3 + l2x2 + l3x + l4y3 + l5y2 + l6y + l7x2 y + l8xy2 + l9xy + l10; q2(x, y) := m1x3 +m2x2 +m3x+m4y3 +m5y2 +m6y+m7x2 y+m8xy2 +m9xy+m10; q3(x, y) := n1x3 +n2x2 +n3x+n4y3 +n5y2 +n6y+n7x2 y+n8xy2 +n9xy+n10; Su tale triangolo il sistema lineare risulta essere:    l10 = b1 m10 = b1 l3 = b2 m3 = b2 l6 = b3 m6 = b3 m4 + m5 + m6 + m10 = b4 n4 + n5 + n6 + n10 = b4 m3 + m8 + m9 = b5 n3 + n8 + n9 = b5 3m4 + 2m5 + m6 = b6 3n4 + 2n5 + n6 = b6 n1 + n2 + n3 + n10 = b7 l1 + l2 + l3 + l10 = b7 3n1 + 2n2 + n3 = b8 3l1 + 2l2 + l3 = b8 n6 + n7 + n9 = b9 l6 + l7 + l9 = b9 l6 + (1/4)l7 + (1/2)l9 = c1 m3 + (1/4)m8 + (1/2)m9 = c2 (3/4)n1 + n2 + n3 + (3/4)n7 + (3/4)n8 + n9 + (3/4)n4 + n5 + n6 = c3 (1/27)l1 + (1/9)l2 + (1/3)l3 + (1/27)l4 + (1/9)l5 + (1/3)l6 + (1/27)l7 + (1/27)l8+ +(1/9)l9 + l10 − (1/27)m1 − (1/9)m2 − (1/3)m3 − (1/27)m4 − (1/9)m5+ −(1/3)m6 − (1/27)m7 − (1/27)m8 − (1/9)m9 − m10 = 0 (1/27)m1 + (1/9)m2 + (1/3)m3 + (1/27)m4 + (1/9)m5 + (1/3)m6 + (1/27)m7 + (1/27)m8+ +(1/9)m9 + m10 − (1/27)n1 − (1/9)n2 − (1/3)n3 − (1/27)n4 − (1/9)n5 − (1/3)n6+ −(1/27)n7 − (1/27)n8 − (1/9)n9 − n10 = 0 (1/3)l1 + (2/3)l2 + l3 + (2/9)l7 + (1/9)l8 + (1/3)l9 − (1/3)m1 − (2/3)m2 − m3 − (2/9)m7+ −(1/9)m8 − (1/3)m9 = 0 (1/3)m1 + (2/3)m2 + m3 + (2/9)m7 + (1/9)m8 + (1/3)m9 − (1/3)n1 − (2/3)n2 − n3 − (2/9)n7+ −(1/9)n8 − (1/3)n9 = 0 (1/3)l4 + (2/3)l5 + l6 + (1/9)l7 + (2/9)l8 + (1/3)l9 − (1/3)m4 − (2/3)m5 − m6 − (1/9)m7+ −(2/9)m8 − (1/3)m9 = 0 (1/3)m4 + (2/3)m5 + m6 + (1/9)m7 + (2/9)m8 + (1/3)m9 − (1/3)n4 − (2/3)n5 − n6 − (1/9)n7+ −(2/9)n8 − (1/3)n9 = 0 −(1/12)l1 − (1/3)l2 − l3 − (1/18)l7 − (1/36)l8 − (1/6)l9 + (1/12)m1 + (1/3)m2 + m3 + (1/18)m7+ +(1/36)m8 + (1/6)m9 = 0 (1/6)m1 + (2/3)m2 + 2m3 + (17/36)m7 + (10/9)m8 + (3/2)m9 + (4/3)m4 + (4/3)m5 + m6+ −(1/6)n1 − (2/3)n2 − 2n3 − (17/36)n7 − (10/9)n8 − (3/2)n9 − (4/3)n4 − (4/3)n5 − n6 = 0 (4/3)n1 + (4/3)n2 + n3 + (10/9)n7 + (17/36)n8 + (3/2)n9 + (1/6)n4 + (2/3)n5 + 2n6+ −(4/3)l1 − (4/3)l2 − l3 − (10/9)l7 − (17/36)l8 − (3/2)l9 − (1/6)l4 − (2/3)l5 − 2l6 = 0 Con la scelta dei seguenti dati b1 = 1, b2 = −1, b3 = 1, b4 = −3, b5 = −1, b6 = 0, b7 = 2, b8 = −1, b9 = 0, c1 = 1, c2 = 0, c3 = −1, la soluzione del sistema `e: l1 = −4, l2 = 6, l3 = −1, l4 = 17/2, l5 = −25/2, l6 = 1, l7 = −2, l8 = −7, l9 = 1, l10 = 1, m1 = 0, m2 = 9/2, m3 = −1, m4 = 9, m5 = −14, m6 = 1, m7 = −19/2, m8 = −4, m9 = 4, m10 = 1, n1 = 4, n2 = −27/2, n3 = 14, n4 = 37/2, n5 = −73/2, n6 = 35/2, n7 = 65/2, n8 = 35, n9 = −50, n10 = −5/2. 20
  • 26. CAPITOLO 2. INTERPOLAZIONI CUBICHE Le corrispondenti cubiche sono: q1 = −4x3 + 6x2 − x + (17/2)y3 − (25/2)y2 + y − 2x2y − 7xy2 + xy + 1, q2 = (9/2)x2 − x + 9y3 − 14y2 + y − (19/2)x2y − 4xy2 + 4xy + 1, q3 = 4x3 − (27/2)x2 + 14x + (37/2)y3 − (73/2)y2 + (35/2)y + (65/2)x2y + 35xy2 − 50xy − 5/2. Il grafico della funzione interpolante cos`ı trovata `e riportato nelle seguenti figure: 21
  • 27. CAPITOLO 2. INTERPOLAZIONI CUBICHE 2.2 Interpolazioni cubiche su patch di due trian- goli In questa sezione si esamina il problema di costruire una funzione cubica a tratti definita sull’unione di due triangoli chiusi ˆT1 ∪ ˆT2 := M Φ : M ⊆ R2 → R, di cui sono noti i valori nei vertici dei due triangoli e i vettori normali al gra- fico della funzione negli stessi vertici. Si chiede inoltre che Φ(x, y) ∈ C1(M). Posti v1, v2, v3, v4 i quattro vertici del triangolo in R3 e posti i quattro vet- tori normali a Φ nei rispettivi vertici n1, n2, n3, n4, si cercano le condizioni 22
  • 28. CAPITOLO 2. INTERPOLAZIONI CUBICHE da imporre ai coefficienti di Φ(x, y). Con ˆv1, ˆv2, ˆv3, ˆv4 si indicheranno le pro- iezioni dei vertici nel piano. Come suggerito nell’articolo [3], i sottotriangoli di ogni triangolo verranno ottenuti congiungendo l’incentro del triangolo con i vertici del triangolo che lo contiene. Su ogni sottotriangolo Ti `e definita una funzione polinomiale di grado 3 qi(x, y) = Φ(x, y) Ti con i = 1, . . . , 6; il numero di coefficienti da determinare `e quindi 60. Le condizioni da imporre sono coincidenti con quelle espresse nella Sezione 2.1, tranne che per le condizioni su Φ(x, y) in A, B e C, espresse in termini di vettore normale al grafico di Φ(x, y) in un vertice anzich`e direttamente; si avranno ˆ 12 equazioni che vincolano il valore di qi ai parametri nodali (Sezione 2.1); ˆ 24 equazioni che vincolano il qi nei vertici; per un vertice non comune tra i due triangoli, ad esempio ˆv1, in cui si suppongono essere definiti q1 e q2, e in cui si suppone noto il vettore normale n1, si avr`a che i prodotti vettoriali devono verificare le condizioni:    ∂q1 ∂x × ∂q1 ∂y = n1 ∂q2 ∂x × ∂q2 ∂y = n1 . Si osservi che entrambe le equazioni vettoriali danno luogo a 4 equa- zioni scalari; per ognuno dei due vertici comuni tra i due triangoli, le equazioni scalari saranno 8; ˆ 6 equazioni che vincolano le derivate normali di Φ(x, y) in 6 generici punti appartenenti ai lati esterni (Sezione 2.1); ˆ 12 equazioni che vincolano qi e qi, i = 1, ..., 6, nei due incentri dei due macrotriangoli (Sezione 2.1); ˆ 6 equazioni che vincolano le derivate normali nei punti medi dei lati interni (Sezione 2.1). Si ottengono quindi tante equazioni quanti coefficienti incogniti. Se il siste- ma ammette soluzione, `e possibile calcolare esplicitamente Φ(x, y). Osservazione 2.2.1 Si ricorda che dati due triangoli piani affini ABC e EFG, esiste sempre un’affinit`a, cio`e una composizione di una applicazione lineare invertibile e di una traslazione, che trasforma il primo nel secondo. Infatti, con una traslazione g si pu`o trasformare il vertice A nel vertice E. Inoltre, siccome le coppie di vettori AB, AC e EF, EG risultano coppie 23
  • 29. CAPITOLO 2. INTERPOLAZIONI CUBICHE di vettori linearmente indipendenti di R2, per il Teorema di Struttura per applicazioni lineari, esiste un unico isomorfismo f : R2 → R2 tale che f(AB) = EF, f(AC) = EG. Infine, essendo CB = AB − AC, per linearit`a abbiamo f(CB) = f(AB − AC) = f(AB) − f(AC) = EF − EG = GF, quindi anche il lato CB viene mandato nel lato GF. `E quindi possibile impostare e risolvere il problema su un triangolo fissato, e ricavare la soluzione su un triangolo arbitrario applicando l’affinit`a. 24
  • 30. Capitolo 3 Geodetiche approssimate 3.1 Motivazioni In questa sezione vengono riportate le considerazioni, i risultati e le figu- re dell’articolo [2]. Nelle simulazioni di meccanica del continuo si segue solitamente il procedimento: Area, Via Bonomea 265, 34136 Trieste, Italy 2 bangerth@colostate.edu, Colorado State University, Department of Mathematics, 1874 Campus Delivery, Fort Collins, CO, 80524, USA 3 kronbichler@lnm.mw.tum.de, Technical University of Munich, Institute for Computational Mechanics, Boltzmannstr. 15, 85748 Garching b. M¨unchen, Germany 4 mola.andrea@sissa.it, SISSA - International School for Advanced Studies, mathLab, Mathematics Area, Via Bonomea 265, 34136 Trieste, Italy Abstract The traditional workflow in continuum mechanics simulations is that a geometry description – obtained using Constructive Solid Geometry or Computer Aided Design tools – forms the input for a mesh generator. The mesh is then used as the sole input for the finite element, finite volume, and finite di↵erence solver, which at this point no longer has access to the original geometry. However, many more modern techniques – for example, adaptive mesh refinement and the use of higher order geometry approximation methods – really do need information about the underlying geometry to realize their full potential. We have undertaken an exhaustive study of where typical finite element codes use geometry information, with the goal of determining what information geometry tools would have to provide. Our study shows that all geometry needs inside the simulators can be satisfied by just two “primitives”: elementary queries posed by the simulation software to the geometry description. We then show that it is possible to provide these primitives in all of the commonly used ways in which geometries are described in common industrial workflows. We illustrate our solutions using examples from adaptive mesh refinement for complex geometries. 1 Introduction The traditional workflow of finite element, finite volume, and finite di↵erence simulations of physi- cal processes consists of three phases: what is called “preprocessing”; the actual numerical solution of a partial di↵erential equation; and what is called “postprocessing”. In this workflow, preprocess- ing generally means the generation of a geometric description of the domain on which one wants to solve the problem – either through the use of Computer Aided Design (CAD) or by combining simpler geometries into one via constructive geometry – and the use of a mesh generator that uses the geometry to create the computational grid on which the simulation is then run. On the other end of the pipeline, postprocessing consists of the visualization of the computed solution and the extraction of quantities of interest. Overall, this “traditional” workflow can be visualized through the following graph in which information is only propagated from one box to the next: Geometry description Mesh generation Simulation Visualization Quantities of interest 1 arXiv:1910.09824v1[math.NA]22Oct L’intero procedimento viene suddiviso in 3 sottoprocessi: ˆ preprocessing: consiste nella generazione di una descrizione geometrica del dominio su cui si vuole risolvere il problema e nella generazione di una mesh avendo come input la descrizione geometrica generata; ˆ simulazione eseguita sulla mesh che risolve un’equazione differenziale alle derivate parziali; ˆ postprocessing: visualizzazione della soluzione calcolata ed estrazione delle quantit`a di interesse. La mesh viene quindi usata come unico input per un programma che genera la soluzione numerica di un’equazione differenziale alle derivate parziali. Il concetto fondamentale `e che la geometria del dominio viene fornita solo al generatore di mesh, e generalmente non `e disponibile negli stadi successivi. Questo procedimento `e appropriato se la simulazione e il postprocessing si basano unicamente su una mesh fissata per risolvere il problema considera- to. Tuttavia, la realizzazione di strumenti complessi per la simulazione ha reso necessaria la propagazione delle informazioni sulla geometria agli sta- di di simulazione e postprocessing. Per il momento, sembrano non esistere strumenti open source o in commercio che forniscano le informazioni sulla 25
  • 31. CAPITOLO 3. GEODETICHE APPROSSIMATE geometria in modo coerente anche al secondo e terzo stadio. Per generare una mesh sufficientemente fitta per le esigenze del simulatore `e necessario individuare nuovi punti, oltre cio`e a quelli di partenza, che co- stituiscano i cosiddetti vertici della mesh. Il modo ideale di determinare un nuovo vertice sarebbe di prenderlo su una geodetica congiungente due vertici e a una certa distanza da uno dei due vertici, espressa tramite un peso. Tuttavia, la costruzione di geodetiche esplicite `e possibile solo per superfici semplici, e inoltre questo approccio `e utile solo se la geodetica congiungente due punti `e unica. Altro problema `e determinare la distanza appropriata da uno degli estremi della geodetica in cui fissare il nuovo vertice. Nell’articolo [2] viene presentato il seguente esempio: se si calcolasse il punto a un quarto di distanza da uno dei vertici sulla retta congiungente i due vertici, e poi venisse proiettato sulla geodetica, non sempre si otterrebbe lo stesso vertice che si sarebbe ottenuto prima cal- colando e proiettando il vertice x1 a met`a tra i due estremi, e poi calcolando e proiettando il vertice a met`a tra un estremo e x1. Si possono costruire degli esempi in cui quest’ambiguit`a ha effetti concreti sull’accuratezza delle operazioni. Di conseguenza, il modo in cui vengono determinati nuovi vertici nell’articolo [2] si basa sulla proiezione di un punto, appartenente alla retta congiungente due vertici e a una certa distanza da essi, sulla superficie o curva costruita tramite Computer Aided Design. Nella prima delle tre figure riportate di seguito la proiezione viene fatta lungo la retta normale alla curva, nella seconda figura lungo una direzione scelta a priori, nella terza lungo la normale alla retta congiungente i due vertici: Figure 5: Comparison of three di↵erent implementations of the new point primitive for CAD geometries. The red end points (coarse vertices) of the blue line (coarse cell) form the inputs x1,x2 for which we want to use the new point primitive to find a new mid-point (i.e., w1 = w2 = 1 2). Thew blue point is the average of the original vertices to be projected onto the curved geometry. Left: Projection normal to the geometry. Center: Projection in a direction chosen a priori. Right: Projection normal to coarse mesh. We note that projection-based strategies have been proposed in [12] and are used in a ba- sic variant for a high-order finite element code in [22]. Many CAD programs, and specifically the OpenCASCADE library [30] that we use for the examples shown here, implement all of the operations necessary for the three approaches to implementing a projection discussed below. 5.3.1 Projection in a fixed direction 26
  • 32. CAPITOLO 3. GEODETICHE APPROSSIMATE 3.2 Il caso di una geodetica approssimata su un triangolo In questa sezione si descrive una nuova proposta per la determinazione di una geodetica approssimata su un triangolo da cui ricavare nuovi vertici di una mesh nel caso in cui non sia possibile determinare una geodetica esatta. Questo metodo `e sostitutivo di quello proposto nell’articolo [2], in cui si utilizzava un metodo basato sulle proiezioni. Si supponga di conoscere i vertici in R3 di una triangolazione che si vuo- le infittire; a partire da questi dati si possono costruire dei vettori normali alla superficie discreta in R3, come descritto nel Capitolo 5 del testo [1]. Una volta noti i valori dei vertici di una triangolazione e i rispettivi vettori normali, si pu`o ricostruire una funzione di interpolazione come descritto nei capitoli precedenti; in questo caso, si utilizza una funzione di interpolazione di grado 3. Questa funzione verr`a indicata con G(x, y). Dopo aver determi- nato la curva geodetica approssimata richiesta, il vertice cercato si trover`a sulla geodetica e sar`a equidistante dai due estremi. Determinare nuovi vertici permette di trovare una funzione di interpolazione pi`u accurata rispetto a quella di partenza, e sar`a rispetto a questa che si continuer`a con la determinazione di ulteriori punti, fino al raggiugimento dell’infittimento desiderato. Si consideri il caso semplificato della determinazione di una geodetica congiungente due punti noti sul grafico della funzione che interpola i vertici di un solo triangolo T ⊂ R3 di vertici v1, v2, v3. La proiezione del triangolo T su R2 verr`a indicata con ˆT, e i suoi vertici con ˆv1, ˆv2, ˆv3. La formulazione del problema `e quindi: dati x1, x2 in F( ˆT) e le loro proie- zioni sul piano ˆx1, ˆx2, costruire una geodetica approssimata h(x1, x2, s) F(γ(ˆx1, ˆx2, s)), h(x1, x2, s) ∈ F( ˆT); si richiede inoltre che γ(ˆx1, ˆx2, ·) sia una spline cubica. Di seguito la spline cubica verr`a indicata per semplicit`a con 27
  • 33. CAPITOLO 3. GEODETICHE APPROSSIMATE γ(s), in quanto si considereranno ˆx1, ˆx2 fissati. Si faranno le seguenti ipotesi e si utilizzeranno le seguenti notazioni: ˆ G(x, y) `e una funzione a valori in R; la parametrizzazione della su- perficie grafico di G verr`a indicata con F(x, y) = (x, y, G(x, y)), con (x, y) ∈ ˆT. ˆ γ(s) `e una curva di B´ezier cubica. La definizione di una generica curva di B´ezier, dati 4 punti {P0, P1, P2, P3 | Pi ∈ R2 ∀i = 0, 1, 2, 3}, `e: B(s) = 3 i=0 3 i (1 − s)3−i si Pi s ∈ [0, 1], dove i P0, P3 sono i due estremi della curva e 3 i `e il coefficiente binomiale. Nel caso di una cubica nel piano, γ(s) `e univocamente determinata dai due estremi e dalle due tangenti negli estremi. ˆ Si suppongono noti o precedentemente determinati i vettori normali n1, n2, n3 nei vertici di T. ˆ Si suppone per semplicit`a che il sostegno della curva γ(s), s ∈ [0, 1], la cui immagine attraverso F `e la geodetica approssimata cercata, sia interamente contenuto in ˆT. La risoluzione si svolge nei seguenti passi: ˆ Determinazione di G(x, y) cubica a partire dai dati iniziali v1, v2, v3, n1, n2, n3 (si veda il Capitolo 2, Sezione 2.1), fissando a priori il vertice a comune ai sottotriangoli, ad esempio nel baricentro di ˆT: a = 1 3 (ˆv1 + ˆv2 + ˆv3); ˆ Definizione della lunghezza della curva parametrizzata F(γ(s)): L := 1 0 d ds F(γ(s)) ds; ˆ Determinazione di L minima al variare di γ(s); si osserva che la lun- ghezza di una curva non varia se viene utilizzata una parametrizzazione equivalente. La cubica γ(s) dipende unicamente da ˆx1, ˆx2, t1, t2, do- ve t1 := γ (0), t2 := γ (1). Si osserva che t1 e t2 sono due vettori di R2. Considerando ˆx1, ˆx2 fissati dal problema, γ(s) potr`a quindi variare soltanto al variare delle proprie derivate calcolate in 0, 1. 28
  • 34. CAPITOLO 3. GEODETICHE APPROSSIMATE Si considera perci`o L come funzione di t1, t2: L = L(t1, t2). Si osserva che in generale L dipende da v1, v2, v3, n1, n2, n3 in quanto G(x, y), e quindi F(x, y), vi dipendono; da ˆx1, ˆx2, t1, t2 in quanto γ(s) vi dipende. In generale, l’espressione esplicita di L(t1, t2) non si riesce a trovare, quindi per risolvere il problema di minimo si approssima l’integrale con una somma finita di tipo somma di Riemann secondo la formula di Gauss: L(t1, t2) nq i=1 d ds F(γ(si)) ωi =: ¯L(t1, t2), dove si suppone di conoscere nq valori della funzione integranda. I pun- ti {s1, ..., snq } sono detti punti di controllo o di quadratura, {ω1, ..., ωnq } sono detti pesi. Solitamente con 3 o 4 punti di quadratura si ottiene una buona approssimazione della lunghezza cercata. Per minimizzare ¯L(t1, t2), supponendo che il minimo esista, si cercano ¯t1, ¯t2 tali che ¯L(¯t1, ¯t2) = 0, 2 ¯L(¯t1, ¯t2) > 0 dove 2 ¯L indica la matrice Hessiana di ¯L, e dove il simbolo > indica che la matrice quadrata simmetrica 2 ¯L `e definita positiva. Si dice che la geodetica h(x1, x2, s) che si ottiene `e un’approssimazione della geodetica congiungente x1 e x2 perch´e si restringe il problema al caso in cui h sia immagine attraverso F di una cubica, e inoltre perch´e a venire minimizzata `e ¯L e non L. Esempio 3.2.1 Si consideri l’Esempio 2.1.2 del Capitolo 2; sul triangolo rettangolo di vertici a1 = (0, 0), a2 = (0, 1), a3 = (1, 0), si considerino i punti ˆx1 = (1 4, 1 4) e ˆx2 = (1 2, 0). I due punti si trovano nella regione di definizione della funzione cubica q1(x, y) = −4x3 + 6x2 − x + 17 2 y3 − 25 2 y2 + y − 2x2 y − 7xy2 + xy + 1. Si valuti q1(x, y) lungo una curva parametrizzata di B´ezier che ha P0 = ˆx1, P1 = (a1, b1), P2 = (a2, b2), P3 = ˆx2 e che si suppone essere interamente contenuta nel dominio di q1(x, y): γ(s) = x(s) y(s) = 1 2(1 − s)3 + 3(1 − s)2sa1 + (3(1 − s))s2a2 + 1 2s3 1 4(1 − s)3 + 3(1 − s)2tb1 + (3(1 − s))s2b2. . 29
  • 35. CAPITOLO 3. GEODETICHE APPROSSIMATE Si ottengono q1(x(s), y(s)) = −4(1 4 (1 − s)3 + 3(1 − s)2sa1 + (3(1 − s))s2a2 + 1 2 s3)3 + 6( 1 4 (1 − s)3 + 3(1 − s)2sa1+ +(3(1 − s))s2a2 + 1 2 s3)2 − 3(1 − s)2sa1 − (3(1 − s))s2a2 − 1 2 s3 + 25 2 (1 4 (1 − s)3 + 3(1 − s)2sb1+ +(3(1 − s))s2b2)3 − 25 2 ( 1 4 (1 − s)3 + 3(1 − s)2sb1 + (3(1 − s))s2b2)2 + 3(1 − s)2sb1 + (3(1 − s))s2b2+ −2(1 4 (1 − s)3 + 3(1 − s)2sa1 + (3(1 − s))s2a2 + 1 2 s3)2( 1 4 (1 − s)3 + 3(1 − s)2sb1 + (3(1 − s))s2b2)+ −(7( 1 4 (1 − s)3 + 3(1 − s)2sa1 + (3(1 − s))s2a2 + 1 2 s3))(1 4 (1 − s)3 + 3(1 − s)2sb1 + (3(1 − s))s2b2)2+ +(1 4 (1 − s)3 + 3(1 − s)2sa2 + (3(1 − s))s2a2 + 17 2 s3)(1 4 (1 − s)3 + 3(1 − s)2sb1+ +(3(1 − s))s2a1b1) + 1 e la curva parametrizzata nello spazio   x(s) y(s) q1(x(s), y(s))   . La curva parametrizzata cos`ı ottenuta corrisponde alla F(γ(s)) definita nel- la Sezione 3.2 di questo stesso capitolo. Procedendo nei passaggi per il calcolo della lunghezza approssimata, si calcoli il vettore tangente a F(γ(s)) in un punto generico: x (s) = −(3 4 )(1 − s)2 − (6(1 − s))sa1 + 3(1 − s)2a1 − 3s2a2 + (6(1 − s))sa2 + ( 3 2 )s2, y (s) = −(3 4 )(1 − s)2 − (6(1 − s))sb1 + 3(1 − s)2b1 − 3s2b2 + (6(1 − s))sb2, q1(x(s), y(s)) = −12((1 4 )(1 − s)3 + 3(1 − s)2sa1 + (3(1 − s))s2a2+ +(1 2 )s3)2(−( 3 4 )(1 − s)2 − (6(1 − s))sa1 + 3(1 − s)2a1 − 3s2a2+ +(6(1 − s))sa2 + ( 3 2 )s2) + (12(( 1 4 )(1 − s)3 + 3(1 − s)2sa1+ +(3(1 − s))s2a2 + ( 1 2 )s3))(−( 3 4 )(1 − s)2 − (6(1 − s))sa1+ +3(1 − s)2a1 − 3s2a2 + (6(1 − s))sa2 + ( 3 2 )s2) + (6(1 − s))sa1+ −3(1 − s)2a1 + 3s2a2 − (6(1 − s))sa2 − ( 3 2 )s2 + ( 51 2 )((1 4 )(1 − s)3+ +3(1 − s)2sb1 + (3(1 − s))s2b2)2(−(3 4 )(1 − s)2 − (6(1 − s))sb1+ +3(1 − s)2b1 − 3s2b2 + (6(1 − s))sb2) − (25((1 4 )(1 − s)3 + 3(1 − s)2sb1+ +(3(1 − s))s2b2))(−( 3 4 )(1 − s)2 − (6(1 − s))sb1 + 3(1 − s)2b1 − 3s2b2+ +(6(1 − s))sb2) − (6(1 − s))sb1 + 3(1 − s)2b1 − 3s2b2 + (6(1 − s))sb2+ −(4((1 4 )(1 − s)3 + 3(1 − s)2sa1 + (3(1 − s))s2a2 + ( 1 2 )s3))(( 1 4 )(1 − s)3+ +3(1 − s)2sb1 + (3(1 − s))s2b2)(−(3 4 )(1 − s)2 − (6(1 − s))sa1 + 3(1 − s)2a1+ −3s2a2 + (6(1 − s))sa2 + ( 3 2 )s2) − 2((1 4 )(1 − s)3 + 3(1 − s)2sa1 + (3(1 − s))s2a2+ +(1 2 )s3)2(−( 3 4 )(1 − s)2 − (6(1 − s))sb1 + 3(1 − s)2b1 − 3s2b2 + (6(1 − s))sb2)+ −(7(−( 3 4 )(1 − s)2 − (6(1 − s))sa1 + 3(1 − s)2a1 − 3s2a2 + (6(1 − s))sa2+ +(3 2 )s2))(( 1 4 )(1 − s)3 + 3(1 − s)2sb1 + (3(1 − s))s2b2)2 − (14((1 4 )(1 − s)3+ +3(1 − s)2sa1 + (3(1 − s))s2a2 + ( 1 2 )s3))(( 1 4 )(1 − s)3 + 3(1 − s)2sb1+ 30
  • 36. CAPITOLO 3. GEODETICHE APPROSSIMATE +(3(1 − s))s2b2)(−( 3 4 )(1 − s)2 − (6(1 − s))sb1 + 3(1 − s)2b1 − 3s2b2 + (6(1 − s))sb2)+ +(−( 3 4 )(1 − s)2 − (6(1 − s))sa1 + 3(1 − s)2a1 − 3s2a2 + (6(1 − s))sa2+ +( 3 2 )s2)(( 1 4 )(1 − s)3 + 3(1 − s)2sb1 + (3(1 − s))s2b2) + (( 1 4 )(1 − s)3+ +3(1 − s)2sa1 + (3(1 − s))s2a2 + ( 1 2 )s3)(−( 3 4 )(1 − s)2 − (6(1 − s))sb1 + 3(1 − s)2b1+ −3s2b2 + (6(1 − s))sb2). I passaggi successivi, ovvero la valutazione della norma di D(F(γ(s))) in quattro punti e la somma dei quattro valori ottenuti e pesati, non vengono riportati a causa della loro lunghezza. La somma pesata dei quattro valori risulta essere una funzione f(a1, a2, b1, b2), che `e somma di radici quadra- te di polinomi di grado 6 in a1, a2, b1 e b2; la geodetica approssimata `e determinata da un punto di minimo relativo di tale funzione. 3.3 Il caso di una geodetica approssimata su due triangoli Dati ˆz0 = (0, b0) ∈ ˆT0 e ˆz1 = (a1, b1) ∈ ˆT1, con ˆT0 e ˆT1 due triangoli adia- centi contenuti in R2 come in figura, si considera il problema di minimizzare la lunghezza dell’immagine attraverso F della funzione cubica a tratti con- giungente ˆz0 e ˆz1. La curva congiungente ˆz0 e ˆz1 deve necessariamente attraversare il lato co- mune ai due triangoli. Si ripete allora parzialmente il ragionamento fatto nella Sezione 3.2, supponendo che le cubiche minimizzanti esistano e che sia- no interamente contenute in ˆT0 e ˆT1. Consideriamo un punto ζ = (p, q) ∈ , per il momento fissato; si prenda: ˆ una curva di B´ezier cubica γ1(s), s ∈ [0, 1], che congiunge z0 e ζ nel triangolo ˆT0, e 31
  • 37. CAPITOLO 3. GEODETICHE APPROSSIMATE ˆ una curva di B´ezier cubica γ2(s), s ∈ [0, 1], che congiunge ζ e z1 nel triangolo ˆT1, e si consideri la somma delle loro lunghezze: L(t0, t1, t2, t3, p) := 1 0 d ds F(γ1(s)) ds + 1 0 d ds F(γ2(s)) ds. Tale somma dipende dalla scelta di t0 := γ1(0) e t1 := γ1(1), dalla scelta di t2 := γ2(0) e t3 := γ2(1) e dall’ascissa p del punto ζ, variabile su e quindi con seconda componente individuata da p. Si osserva che L dipende da p perch´e γ1, γ2 variano al variare dei loro estremi. Il problema pertanto diventa quello di minimizzare L(t0, t1, t2, t3, p) al variare di (t0, t1, t2, t3, p), imponendo che la curva congiungente ˆz0 e ˆz1 sia di classe C1([0, 2]), cio`e t1 = t2, e che p ∈ [0, a1]. 32
  • 38. Capitolo 4 Ulteriori sviluppi e applicazioni In questo capitolo saranno esposte molto brevemente alcune applicazioni illustrate negli articoli [2] e [3]. 4.1 Femore umano e scafo di una nave Un’applicazione di quanto descritto nel Capitolo 3 `e la ricostruzione di ossa e tessuti biologici effettuata dall’MRI (imaging a risonanza magnetica): a par- tire dai dati forniti dalla misurazione, che formano l’insieme di vertici iniziali, attraverso la costruzione di funzioni di interpolazione su mesh sempre pi`u raffinate si riesce ad ottenere una ricostruzione in questo caso del femore, co- me indicato nel sito del U.S. Department of Health and Human Services - Na- tional Institutes of Health (https://3dprint.nih.gov/discover/3dpx-000168), di cui riportiamo le seguenti figure: Esempio di Applicazione Distanza geodetica tra punti su triangolazione discreta Tu nn n 33
  • 39. CAPITOLO 4. ULTERIORI SVILUPPI E APPLICAZIONI Esempio di Applicazione Distanza geodetica tra punti su triangolazione discreta Analogamente, se si suppone di partire da una griglia grossolana di punti che appartengono allo scafo di una nave, attraverso l’inserimento di nuovi vertici si pu`o rappresentare lo scafo con la precisione desiderata (Figura 7, articolo [2]). Figure 7: Directional projection strategy with a horizontal direction of projection perpendicular to the axis of symmetry. The first two rows show side view of the coarse grid and grids obtained from five successive refinements. The last row shows a front view of the same grids shown in the second row. This strategy produces uniformly distributed cells away from areas where the projection direction is close to the tangent to the shape (namely, at the bottom of the shape as well as the front of the bulb). 22 4.2 Applicazioni alle equazioni differenziali alle de- rivate parziali In generale, sia data come descritto in [3, Section 4], una equazione diffe- renziale alle derivate parziali 1 nell’incognita u scritta in forma puntuale2 su un dominio fisico Ω ∈ R2, con condizioni di Dirichlet3 su una parte ΓD del bordo di Ω, e condizioni di Neumann4 sulla restante parte ΓN = ∂Ω ΓD. 1 o anche un sistema di pi`u equazioni differenziali alle derivate parziali. 2 detta anche forte, cio`e per la quale la regolarit`a della funzione `e sufficiente per scrivere tutte le derivate coinvolte, in tutti i punti. 3 cio`e assegnando il valore di u su ΓD. 4 cio`e assegnando il valore della derivata di u nella direzione normale a ∂Ω, su ΓN . 34
  • 40. CAPITOLO 4. ULTERIORI SVILUPPI E APPLICAZIONI Utilizzando i contenuti dell’articolo [3], si pu`o costruire un dominio parame- trico ˆΩ corrispondente a Ω secondo la mappa G : ˆΩ → Ω e dotato di una triangolazione T. Si supponga che la triangolazione T dipenda da un parametro piccolo h > 0 fissato, e supponiamo di avere una base di funzioni (che possono essere conti- nue lineari a tratti, polinomiali a tratti ecc.) associata a tale triangolazione; `e conveniente che queste funzioni abbiano un supporto localizzato, cio`e che si annullino tranne che su pochi triangoli in modo da ottenere matrici sparse nei sistemi lineari che andranno successivamente risolti. Come anche d’uso nel metodo degli elementi finiti, una volta che l’e- quazione viene scritta in forma debole attraverso un’integrazione per parti, si pu`o approssimare la soluzione, scrivendo u in funzione della base scelta, come in [3, formula (24)], nel dominio parametrico; la soluzione finale ap- prossimata verr`a poi recuperata componendo con la mappa G−1. La scrittura in forma debole approssimata fornisce dei sistemi lineari che coinvolgono, ad esempio, quelle che sono chiamate la matrice di rigidit`a (in inglese stiffness matrix) e di massa. Una scelta della base diversa da quella usata per gli elementi finiti sembra essere giustificata, secondo gli autori, da un possibile aumento della velocit`a di convergenza della soluzione discreta alla soluzione originale per h → 0+. 35
  • 41. Bibliografia [1] K. Crane, Discrete Differential Geometry: An Applied Introduction, 2019 [2] L. Heltai, W. Bangerth, M. Kronbichler and A. Mola, Using exact geometry information in finite element computations, preprint arXiv:1910.09824 [math.NA], (2019). [3] N. Jaxon and X. Qian, Isogeometric analysis on triangulations, Computer-Aided Design, 46, 45–57, (2014). [4] Peter Percell, On Cubic and Quartic Clough-Tocher Finite Elements, SIAM Journal on Numerical Analysis, 13:1, 100–103 , (1976). [5] M. J. D. Powell and M. A. Sabin, Piecewise Quadratic Approximations on Triangles, ACM Trans. Math. Softw. 3, 4, 316–325, (1977). [6] U.S. Department of Health and Human Services - National Institutes of Health, https://3dprint.nih.gov/discover/3dpx-000168. 36