Sei sulla pagina 1di 9

Ingegnerizzazione di prodotto LS –CdL Specialistica Ing.Meccanica Ingegnerizzazione di prodotto LS– CdL Specialistica Ing.

Meccanica
Prof. Ing. Alfredo Liverani 2 Prof. Ing. Alfredo Liverani 2

Requisiti della funzione


appross./interp.
Attraverso un numero finito di punti la funzione deve controllare
dominare un geometria complessa.
Superfici parametriche. E’ necessario avere un sufficiente livello di continuità dal punto di

Tipi di superfici, loro


vista matematico:
 Le derivate della curva, fino a un certo grado N, devono essere

formulazione e proprietà
funzioni continue;
Controllo locale:
 La modifica di alcuni punti, modifica la curva/superficie solo in una
zona limitata e non su tutta la sua forma.
Stabilità dei dati :
 La modifica dei punti iniziali non devono generare
irregolarità (oscillazioni, discontinuità) nella forma della
curva/superficie.
Efficienza dal punto di vista computazionale.
1/48 2/48

Ingegnerizzazione di prodotto LS –CdL Specialistica Ing.Meccanica Ingegnerizzazione di prodotto LS– CdL Specialistica Ing. Meccanica
Prof. Ing. Alfredo Liverani 2 Prof. Ing. Alfredo Liverani 2

La forma parametrica della curva di Bezier


Superfici freeform e curve-based C(u) = (x(u), y(u))
Le superfici freeform sono superfici NURBS sulle n
quali si può agire attraverso i punti di controllo
direttamente.
C(u) PB
i i ,n ( u) Polinomi di Bernstein
i 0
n!
Le superfici curve-based sono invece create a partire
da curve NURBS (o altro che poi viene Bi ,n (u )  u i (1 u )n i
convertito in NURBS) per imporre alla superficie i !(n i )!
finale di interpolare le curve stesse.
Le curve possono essere interne o di bordo. grado del polinomio

Dove Pi sono i punti di controllo e n è il grado del polinomio.

3/48 4/48

Ingegnerizzazione di prodotto LS –CdL Specialistica Ing.Meccanica Ingegnerizzazione di prodotto LS– CdL Specialistica Ing. Meccanica
Prof. Ing. Alfredo Liverani 2 Prof. Ing. Alfredo Liverani 2

Superficie di Bezier Curve NURBS


n m
• wi sono i pesi
x
s,t P i, j B i 
s Bj 
t
n m n

i 0 j0 w P N i i i, p
(u)
• P i sono i punti di controllo
Come con le curve di C(u ) i 0n
• Ni,p (u) sono le basi B-spline
Bezier, Bi n(s) e Bjm (t) sono w N i i,p (u ) normalizzate definite sotto.
polinomi di Bernstein di i 0

grado n e m • ui sono i nodi are che


rispettivamente; 1 if ui u ui 1 formano il vettore dei nodi
N i ,0 (u ) 
Normalmente n=m=3: 0 otherwise U = {u0,u 1 ,…,u n+p+1}
cubic Bezier patch u ui u u
Quindi 4x4=16 punti di N i , p ( u)  N (u )  i p 1 N (u )
u ip ui i , p 1 ui p 1 ui 1 i 1, p 1

controllo nel reticolo della


superficie
5/48 6/48

1
Ingegnerizzazione di prodotto LS –CdL Specialistica Ing.Meccanica Ingegnerizzazione di prodotto LS– CdL Specialistica Ing. Meccanica
Prof. Ing. Alfredo Liverani 2 Prof. Ing. Alfredo Liverani 2

Superfici NURBS (freeform) Superficie NURBS (esempio)


n m P 33

wi, j Pi, j Ni, p (u ) N j, q ( v)


P 03
P 13

S (u, v ) i 0 nj0m P 02 P 12
P 23 P 43

wi, j Ni, p (u ) N j ,q (v)


P 32
P22
P 42
i
0 j
0 P11 P 31
P01
Come nella formulazione delle curve: P10
P 21 P 30
• wi,j sono i pesi P 41
• P i,j sono I punti di controllo che formano il telaio di controllo
• Ni,p (u), Nj,q (v) sono le basi B-splines normalizzate di p e q nelle P 20
direzioni u e v, rispettivamente, definite sui vettori dei nodi U e V P 00
P40

7/48 8/48

Ingegnerizzazione di prodotto LS –CdL Specialistica Ing.Meccanica Ingegnerizzazione di prodotto LS– CdL Specialistica Ing. Meccanica
Prof. Ing. Alfredo Liverani 2 Prof. Ing. Alfredo Liverani 2

Proprietà delle superfici NURBS Modellazione freeform (esempio)


La somma di tutti pesi è pari a 1.
m n

R
i 0 j 0
m, i
(u ) Rn, j (v ) 1 , per 0 u , v 1.
La superficie NURBS passa per i quattro punti di
controllo agli angoli
La modellazione avviene per spostamento dei
punti di controllo direttamente da parte dell’utente
e il controllo è locale.
La forma della superficie non è intuitivamente
misurabile da video.

9/48 10 /48

Ingegnerizzazione di prodotto LS –CdL Specialistica Ing.Meccanica Ingegnerizzazione di prodotto LS– CdL Specialistica Ing. Meccanica
Prof. Ing. Alfredo Liverani 2 Prof. Ing. Alfredo Liverani 2

Superfici curve-based
La proprietà di “Convex hull”
Una superficie NURBS è completamente contenuta • Superfici rigate (ruled surfaces)
in un “guscio chiuso” di tutti i punti di controllo.
• Superfici di rivoluzione

E’ invariante rispetto alle trasformazioni • Superfici di sweep/swept


(traslazione, rotazione…). • Superfici di skinning (lofting)
• Superfici network
Le curve di contorno sono NURBS
• Superfici patch

11/48 12 /48

2
Ingegnerizzazione di prodotto LS –CdL Specialistica Ing.Meccanica Ingegnerizzazione di prodotto LS– CdL Specialistica Ing. Meccanica
Prof. Ing. Alfredo Liverani 2 Prof. Ing. Alfredo Liverani 2

Superficie parametrica (in generale) Superfici Rigate (Ruled surfaces)


I punti della superficie sono definiti attraverso due La tecnica di costruzione tramite superfici rigate si basa sul
parametri. realizzare una interpolazione lineare tra due curve che
rappresentano le sezioni della superficie agli estremi.
Il caso più semplice: interpolazione bilineare
P 0,1 x(s,1) P
x(s , 0) (1 s )P0, 0 sP1, 0 1,1
C0 ( u)
s
x(s ,1) (1 s )P0,1 sP11, C1 (u )
x(s,t )
x(s , t) (1 t )x( s, 0) tx ( s ,1)

F0,s 1s , F1, s s t


P 0,0
F0,t 1 t , F1,t t
1 1 Curva di grado 2 Curva cubica
x(s , t) Pi ,j Fi,s (s ) Fj,t ( t) s
i0 j 0
x(s,0) P 1,0
Come costruire la superficie tra due sezioni di curva di diverso grado?
13/48 14 /48

Ingegnerizzazione di prodotto LS –CdL Specialistica Ing.Meccanica Ingegnerizzazione di prodotto LS– CdL Specialistica Ing. Meccanica
Prof. Ing. Alfredo Liverani 2 Prof. Ing. Alfredo Liverani 2

Superfici Rigate: Superfici Rigate:


nk
Ck (u ) Pi ,k Ri , pk Una superficie rigata è definita da n Una superficie rigata S(u,v) di grado p in base NURBS
i 0 curve sezioni in rappresentazione formata sezioni 2 curve è definita come:
NURBS.
k 0,1 n 1
S ( u, v) Pi , j Ri , p ; j ,1 (u, v)
P4,0
P 5,1

C0 (u ) P5,0
i0 j0
P0,0
P3,0
C1 (u )
P2,1
P 4,1

P2,0 griglia di controllo


base NURBS di grado p

P 3,1
P1,1 Cioè definita come prodotto tensoriale di una griglia di
P1,0
(n+1)x2 control points Pi,j su un dominio parametrico 2D
P0,1
nelle variabili (u,v) = [0,1]x[0,1].

15/48 16 /48

Ingegnerizzazione di prodotto LS –CdL Specialistica Ing.Meccanica Ingegnerizzazione di prodotto LS– CdL Specialistica Ing. Meccanica
Prof. Ing. Alfredo Liverani 2 Prof. Ing. Alfredo Liverani 2

Superfici Rigate: Superfici Rigate:


Il problema quindi consiste nell’unire con una linea retta (interpolazione lineare)
due punti appartenenti alla curva C0(u ) e C1(u) per u = u .
Date due curve di grado arbitrario pk è necessario:
nk 1. Determinare il grado della superficie
Ck ( u) Pi , k Ri , pk
P4,0
P 5,1
risultante;
i 0
2. Determinare la partizione nodale 2D
C0 ( u) P5,0
k 0,1 della superficie;
P0,0
P3,0
C1 (u )
P2,1
P 4,1
3. Determinare la griglia di controllo P i,j
che permette di modificare la superficie.
P2,0

P 3,1
P1,1
P1,0

P0,1

17/48 18 /48

3
Ingegnerizzazione di prodotto LS –CdL Specialistica Ing.Meccanica Ingegnerizzazione di prodotto LS– CdL Specialistica Ing. Meccanica
Prof. Ing. Alfredo Liverani 2 Prof. Ing. Alfredo Liverani 2

1. Superfici Rigate 2. Superfici Rigate


(grado della superficie): (definizione partizione nodale):
Il grado della superficie rigata viene calcolato nel seguente Date le due curve C 0(u) e C 1(u) definite rispettivamente su
modo: una partizione nodale U 0 ed U1 con le rispettive molteplicità,
si ha che la partizione nodale della superficie rigata sar à:
Se p0 = p1 allora
Rispetto alla direzione U: Rispetto alla direzione V si ha che
il grado della superficie risultante è p=p0=p1
Se U0 = U1 allora il vettore dei nodi V sarà:
altrimenti V = {0,0,1,1}
U = U1 = U0
p = max(p1, p2); poiché siamo nel caso lineare.
altrimenti
U = merge (U1, U0);

19/48 20 /48

Ingegnerizzazione di prodotto LS –CdL Specialistica Ing.Meccanica Ingegnerizzazione di prodotto LS– CdL Specialistica Ing. Meccanica
Prof. Ing. Alfredo Liverani 2 Prof. Ing. Alfredo Liverani 2

3. Superfici Rigate (griglia di controllo) 3. Griglia di controllo


La determinazione della griglia di controllo dipende dal grado d i ciascuna
curva C k(u) che definiscono le sezioni limite della superficie. La costruzione Date le due curve C0(u) di grado 2 e C 1(u) di grado cubico, è necessario
di una superficie rigata prevede che le due curve di sezione agl i estremi aumentare al grado (degree elevation) cubico la curva C0 (u) affinché siano
abbiano lo stesso grado. compatibili per formare una superficie rigata.
P4,0 P4,0
P 5,1 P5,1

C0 ( u) P5,0 C 0 (u ) P5,0

P0,0
P3,0
C1 (u ) P0,0
P 3,0
P2,1 P2,1
P 4,1 P4,1

P2,0 P2,0

P 3,1 P3,1

P1,0
P1,1
P 1,0
P 1,1
C1 (u )
Curva di Grado 2
P0,1 Curva Cubica P0,1

21/48 22 /48

Ingegnerizzazione di prodotto LS –CdL Specialistica Ing.Meccanica Ingegnerizzazione di prodotto LS– CdL Specialistica Ing. Meccanica
Prof. Ing. Alfredo Liverani 2 Prof. Ing. Alfredo Liverani 2

Degree Elevation di C0(u)


Il degree elevation di C 0(u) consiste nel raffinare la sua poligonale di controllo che
Unificazione delle partizioni nodali:
di conseguenza trasforma la curva da grado quadratico a grado cubico pur La fusione delle partizioni nodali di C0(u) e C 1(u) aumenta il numero di punti di
mantenendo la medesima forma. Indichiamo con P i,k i punti originali, mentre con controllo (knot refinement) che porta entrambe le curve ad avere lo stesso numero di
Q i,k i punti generati la raffinamento (k=0,1). nodi che formeranno la griglia di controllo per la superficie rigata.

P4,0 P4,0
Q7,0 Q7,0
Q8,0 P 5,1 Q8,0 P5,1

C0 ( u) Q6,0
P5,0 Q9,0 C 0 (u ) Q6,0
P5,0 Q9,0
P3,0 P 3,0
P0,0 P0,0
Q0,0 Q5,0 P2,1 Q0,0 Q5,0 P2,1
P 4,1 P4,1
Q4,0 Q4,0
P2,0 Punti di controllo originali P2,0 Punti di controllo originali
Q1,0 Q3,0 Q1,0 Q3,0

Nuovi punti di controllo P 3,1 Nuovi punti di controllo P3,1

P1,0
Q2,0
P1,1
C1 (u ) P 1,0
Q2,0
P 1,1
C1 (u )
Curva di grado 3, Punti inseriti dal knot refinement
Punti inseriti dal knot refinement
con P0,0 = Q 0,0; P5,0 = Q11,0 P0,1 P0,1
Curva Cubica
23/48 24 /48

4
Ingegnerizzazione di prodotto LS –CdL Specialistica Ing.Meccanica Ingegnerizzazione di prodotto LS– CdL Specialistica Ing. Meccanica
Prof. Ing. Alfredo Liverani 2 Prof. Ing. Alfredo Liverani 2

Poligonale di controllo della


Superficie Finale:
superficie rigata:
P4,0
Q7,0
Q8,0 P 5,1
S(u,v)
C0 ( u) Q6,0
P5,0 Q9,0

P0,0
P3,0 C0 (u)
Q0,0 Q5,0 P2,1
P 4,1
Q4,0
P2,0

Q1,0 Q3,0

Q2,0 P1,1
P 3,1
C1 (u ) C1(u)
P1,0

P0,1

Superficie rigata di grado cubico.

25/48 26 /48

Ingegnerizzazione di prodotto LS –CdL Specialistica Ing.Meccanica Ingegnerizzazione di prodotto LS– CdL Specialistica Ing. Meccanica
Prof. Ing. Alfredo Liverani 2 Prof. Ing. Alfredo Liverani 2

Superficie Rigata: il cono Superficie Rigata (Rhinoceros)


LOFT
C 1(u) P
Modellazione delle curve di sezione agli
estremi della superficie

Curva quadratica

Pi,1 = P
wi ,1 = wi ,0 Curva degenere Posizionamento delle sezioni
C 0(u)
nello spazio 3D
per ogni i Curva Cubica

27/48 28 /48

Ingegnerizzazione di prodotto LS –CdL Specialistica Ing.Meccanica Ingegnerizzazione di prodotto LS– CdL Specialistica Ing. Meccanica
Prof. Ing. Alfredo Liverani 2 Prof. Ing. Alfredo Liverani 2

Superficie Rigata (Rhinoceros) Superficie Rigata (Rhinoceros) LOFT


LOFT Curva di sezione cubica con 5 control
points iniziali.
Trasformata in una cubica con knot-
Isolinee di interpolazione LINEARE tra le curve di sezione refinement e 8 control points finali.
L’applicazione
dell’ operazione di
LOFT ha generato
la superficie rigata
finale. Le curve
sezione sono state
modificate in modo
tale da diventare
compatibili (vedi
teoria precedente).

Curva di sezione quadratica con 4 control


points iniziali.
Trasformata in una cubica con degree-
elevation e knot -refinement con 8 control
points finali.

29/48 30 /48

5
Ingegnerizzazione di prodotto LS –CdL Specialistica Ing.Meccanica Ingegnerizzazione di prodotto LS– CdL Specialistica Ing. Meccanica
Prof. Ing. Alfredo Liverani 2 Prof. Ing. Alfredo Liverani 2

Superfici di Rivoluzione Superfici di Rivoluzione


Un’altra tecnica di costruzione di superfici è quella detta di rivoluzione o rotazione. Le
superfici di rivoluzione consistono nel definire una curva profilo detta generatrice e quindi
z
farla ruotare intorno ad un asse. La superficie di rivoluzione S(u,v) ha le
seguenti proprietà:
Una curva profilo in rappresentazione NURBS 1. Fissato un valore per u, si ha che S (u , v )
P0 corrisponde alla curva C(v) ruotata di
P5,2
P1 è data dalla seguente espressione: un certo angolo intorno all ’asse z.

P6,2 P4,2 2. Fissato un valore per v, si ha che S ( u, v )


P3 m corrisponde alla circonferenza

C (v ) Pj R j ,q (v )
centrata sull ’asse z
P7,2
P2 S (u , v ) P 3,2
x y
j
0 P8,2 = P0,2 P 2,2
Dove P j sono i control points della curva profilo.

P1,2
S ( u , v)
Pm

31/48 32 /48

Ingegnerizzazione di prodotto LS –CdL Specialistica Ing.Meccanica Ingegnerizzazione di prodotto LS– CdL Specialistica Ing. Meccanica
Prof. Ing. Alfredo Liverani 2 Prof. Ing. Alfredo Liverani 2

Superficie di Rivoluzione: Superficie di rivoluzione:


Impostando quindi una partizione nodale U e un vettore di pesi w si ha che la formulazione pratica
superficie di rivoluzione in rappresentazione NURBS e’ data dalla seguente
espressione:

U 0, 0, 0,1/ 4,1/ 4,1/ 2,1/ 2,1/ 2,3 / 4,3 / 4,1,1,1 S (u ,v ) ( X (v ) cos(u ), X (v ) sin(u ), Z (v )

w 1, 2 / 2,1, 2 / 2,1, 2 / 2,1, 2 / 2,1  La curva-sezione è

8 m
C(v) = ( X(v), Z(v) )
S (u , v ) Pi , j Ri ,2; j ,q (u , v )
i j
0

Si ha che i control points della superficie di rotazione sono ottenuti dalla


se la rotazione sarà attorno all’asse Z
rotazione dei control points della curva profilo iniziale.

33/48 34 /48

Ingegnerizzazione di prodotto LS –CdL Specialistica Ing.Meccanica Ingegnerizzazione di prodotto LS– CdL Specialistica Ing. Meccanica
Prof. Ing. Alfredo Liverani 2 Prof. Ing. Alfredo Liverani 2

Superfici di Rivoluzione
Asse di rivoluzione
Curva Profilo di
grado cubico

35/48 36 /48

6
Ingegnerizzazione di prodotto LS –CdL Specialistica Ing.Meccanica Ingegnerizzazione di prodotto LS– CdL Specialistica Ing. Meccanica
Prof. Ing. Alfredo Liverani 2 Prof. Ing. Alfredo Liverani 2

Superfici di Rivoluzione Superfici sweep/swept


Superficie di Superfici sweep (se la traiettoria è
S ( u , v) rivoluzione finale
CUBICA con lineare), swept se qualsiasi
rispettiva griglia di
controllo.

S (u , v )

Drive curve
GRIGLIA DI Curva base (path curve)
CONTROLLO
[anche non lineare]
37/48 38 /48

Ingegnerizzazione di prodotto LS –CdL Specialistica Ing.Meccanica Ingegnerizzazione di prodotto LS– CdL Specialistica Ing. Meccanica
Prof. Ing. Alfredo Liverani 2 Prof. Ing. Alfredo Liverani 2

Superfici swept Superfici di skinning


Si tratta dello scorrimento di una curva di sezione
C(u) su una traiettoria T(v).

S (u, v) T (v) M (v)C (u )

dove M(v) è una matrice 3 x 3 che descrive la


rotazione e la scalatura non uniforme di C(u)
al variare di v. Curva spine
Curve base

39/48 40 /48

Ingegnerizzazione di prodotto LS –CdL Specialistica Ing.Meccanica Ingegnerizzazione di prodotto LS– CdL Specialistica Ing. Meccanica
Prof. Ing. Alfredo Liverani 2 Prof. Ing. Alfredo Liverani 2

Superfici di skinning (lofting) Superfici di skinning (lofting)

L’operazione di
Si tratta di una superficie di interpolazione di un skinning è la
insieme di curve C k(u). generalizzazione
dell’operazione di
Le curve Ck(u) sono curve isoparametriche per la Lofting tra due curve.
Nel caso dello skinning,
superficie finale. le curve di sezione
Spesso vi è la presenza di una curva “spine”: devono essere rese
compatibili attraverso
ns
operazioni di degree-
Cs (v) Ri , p s (v) Ri elevation e knot-
i 0 refinement .

41/48 42 /48

7
Ingegnerizzazione di prodotto LS –CdL Specialistica Ing.Meccanica Ingegnerizzazione di prodotto LS– CdL Specialistica Ing. Meccanica
Prof. Ing. Alfredo Liverani 2 Prof. Ing. Alfredo Liverani 2

Superfici di skinning (lofting) Superfici di skinning vs. rigate


La superficie risultante è Superficie di skinning Superficie Rigata
data dal prodotto tensore
tra le curve Ck (u) iniziali
e le curve NURBS di
interpolazione di punti a
pari parametro sulle
curve C k(u) stesse [Pi].
In presenza di spine
verrà calcolata la
derivata della spine in Pi
e utilizzata per calcolare
le curve su v.

43/48 44 /48

Ingegnerizzazione di prodotto LS –CdL Specialistica Ing.Meccanica Ingegnerizzazione di prodotto LS– CdL Specialistica Ing. Meccanica
Prof. Ing. Alfredo Liverani 2 Prof. Ing. Alfredo Liverani 2

Superfici network Superfici network


Si tratta dell’ interpolazione di un set di curve La superficie risulta:
NURBS sia in direzione u s r s r
n S (u, v) C l (v)l (u ) C k (u )k (v) Ql , kl (u )k (v)
Ck (u) N i, p (u ) Pk, i k 0,..., r u [0,1] l 0 k 0 l 0 k 0
i0

sia in direzione v. Si tratta quindi di due superfici di skinned meno il


m loro tensore prodotto.
Cl (v) N j ,q (v) Pl , j l 0,..., s v [0,1]
i 0
Ql ,k sono i punti di intersezione delle curve
di sezione iniziali.
45/48 46 /48

Ingegnerizzazione di prodotto LS –CdL Specialistica Ing.Meccanica Ingegnerizzazione di prodotto LS– CdL Specialistica Ing. Meccanica
Prof. Ing. Alfredo Liverani 2 Prof. Ing. Alfredo Liverani 2

Superfici patch Le patch di Coons


Si supponga di avere quattro curve profilo e che si voglia costruire la superficie che ha come
Si tratta del caso particolare delle network profili agli estremi, le curve specificate.

dove si hanno due curve soltanto in una


direzione e nell’altra
C 1(u)

C 0(v) C 1(v)

C 0(u)
In questo caso, però,
l’interpolazione è
u
bilineare, quindi più
semplice e robusta.
Tre o quattro spigoli
47/48 48 /48

8
Ingegnerizzazione di prodotto LS –CdL Specialistica Ing.Meccanica Ingegnerizzazione di prodotto LS– CdL Specialistica Ing. Meccanica
Prof. Ing. Alfredo Liverani 2 Prof. Ing. Alfredo Liverani 2

La patch di Coons:
Le patch di Coons: S1,1

n
C k (u ) Pk ,i Ri , p (u ), k : 0,1 u 
0,1
S0,1
i0
m
C l (v ) Pl , j R j ,q (v ), l : 0,1 v [0,1] S1,0
j0

Condizioni di compatibilità tra le curve profilo:


• Le C k (u) sono definite su una partizione nodale U comune;
S0,0
• Le curve C l (v) sono definite su una partizione nodale V comune;
• Valgono le seguenti condizioni nei vertici della superficie:
S0,0 =C k=0(u=0)=C l=0 (v=0);
S1,0 =C k=0(u=1)=C l=1 (v=0); Gli estremi delle curve
S0,1 =C k=1(u=0)=C l=0 (v=1); combaciano due a due
S1,1 =C k=1(u=1)=C l=1 (v=1);

49/48 50 /48

Ingegnerizzazione di prodotto LS –CdL Specialistica Ing.Meccanica Ingegnerizzazione di prodotto LS– CdL Specialistica Ing. Meccanica
Prof. Ing. Alfredo Liverani 2 Prof. Ing. Alfredo Liverani 2

JOIN di patch di superfici


condizioni ai bordi

Attraverso il calcolo delle derivate prima e


seconda ai bordi sono in grado di imporre
condizioni di tangenza o curvatura
mediante l’inserimento di un punti di
controllo aggiuntivi ai bordi.

51/48 52 /48

Ingegnerizzazione di prodotto LS –CdL Specialistica Ing.Meccanica


Prof. Ing. Alfredo Liverani 2

53/48