Vai alla Home Page About me Courseware Federica Living Library Federica Federica Podstudio Virtual Campus 3D La Corte in Rete
 
Il Corso Le lezioni del Corso La Cattedra
 
Materiali di approfondimento Risorse Web Il Podcast di questa lezione

Esamuele Santoro » 7.Superficie rigata


Superficie rigata

Una superficie rigata si può ottenere interpolando linearmente i punti di due curve, situate in due distinti piani nello spazio 3D.

La principale proprietà di una superficie rigata è che per qualsiasi suo punto passa almeno una linea retta giacente completamente sulla superficie.

Un’altra interessante proprietà è che una superficie rigata può essere sviluppabile, cioè può essere distesa su un piano. Esempi semplici di superfici rigate sono il cilindro e il cono.

Siano r1=r1(u) e r2=r2(u) due generiche curve parametriche, dette generatrici, la superficie rigata ottenuta da r1 e r2 è data da:

r(u,v)=(1-v) r1(u)+v r2(u)                    (4.13)

Si osserva facilmente che per v=0 e v=1 le corrispondenti curve parametriche r(u,0) e r(u,1) della superficie (4.13) coincidono con le due curve assegnate.

Superficie rigata

Una superficie rigata può essere ottenuta anche da una curva r= r1(u), detta generatrice, dove ogni punto della curva viene traslato lungo un vettore direzione n, che può essere anche una funzione del parametro u (n(u)). Un punto generico di tale superficie è dato da:

r(u,v)= r1(u)+v n(u)            (4.14)

dove il parametro v indica la distanza del punto dalla curva generatrice.

Curve limiti di una superficie rigata.

Curve limiti di una superficie rigata.

Superficie rigata ottenuta dalle due 
precedenti curve limiti chiuse.

Superficie rigata ottenuta dalle due precedenti curve limiti chiuse.


Superficie rigata – esempi

Esempi di superficie rigate ottenute con MATLAB e CATIA.

Esempi di superficie rigate ottenute con MATLAB e CATIA.


Superficie rigata bilineare

In generale il vettore traslazione n(u) non è complanare alla curva, perche se lo fosse, la superficie ottenuta sarebbe un superficie piana.
Infatti, una superficie piana definita da tre punti, può essere un caso particolare di superficie rigata dove un segmento P1P0 viene traslato nella direzione P2P0.

Un’importante e semplice superficie rigata è quella che interpola linearmente 4 punti P0, P1, P2, P3 non complanari. Se consideriamo, per semplicità, che i punti siano i vettori posizione r0, r1, r2 e r3, le equazioni parametriche di due segmenti opposti del quadrilatero sono:

\mathbf{r}(u)=(1-v)\mathbf{P}_{0}+u\mathbf{P}_{1}\mathbf{r}_{2}(u)=(1-u)\mathbf{P}_{2}+u\mathbf{P}_{3}\right]

La superficie rigata è ottenuta interpolando linearmente i due precedenti segmenti:

\mathbf{r}(u,v)=(1-v)\left[(1-u)\mathbf{P}_{0}+u\mathbf{P}_{1}\right]+v\left[(1-u)\mathbf{P}_{2}+u\mathbf{P}_{3}\right] ~~~~~(4.15)

Questa superficie è di grado due e viene chiamata superficie bilineare e rappresenta un paraboloide iperbolico; può essere scritta anche nella seguente forma matriciale:

\mathbf{r}(u,v)=\left[\begin{array}{cc}<br />
1-u & u\end{array}\right]\left[\begin{array}{cc}<br />
\mathbf{P}_{0} & \mathbf{P}_{2}\\\mathbf{P}_{1} & \mathbf{P}_{3}\end{array}\right]\left[\begin{array}{c}<br />
1-v\\v\end{array}\right]

Superficie rigata bilineare – Problema

Problema 4.6: Calcolare le proprietà della superficie bilineare che interpola i quattro punti P0=(1,1,1), P1=(1,4,0), P2=(4,1,1), P3=(5,6,2).

I quattro punti non sono complanari, perché se si considerano, ad esempio, il piano passante per tre punti si osserva che il quarto punto non appartiene al piano. Oppure,i piani passanti, rispettivamente, per P0,P1,P3 e per P0,P1,P3 hanno i versori normali che non sono uguali. Consideriamo le equazioni dei segmenti P1P0 e P3P2 :

\mathbf{r}_{1}(u)=(1-u)(1,1,1)+u(1,4,0),\;\mathbf{r}_{2}(u)=(1-u)(4,1,1)+u(5,6,2),\;0\leq u\leq1

Le equazioni parametriche della superficie bilineare r(u,v) sono:

\mathbf{\mathit{x}}(u,v)=\left[\begin{array}{cc}1-u\; & u\end{array}\right]\left[\begin{array}{cc}<br />
\mathbf{\mathit{x}}_{0} & \mathbf{\mathit{x}}_{2}\\\mathbf{\mathit{x}}_{1} & \mathbf{\mathit{x}}_{3}\end{array}\right]\left[\begin{array}{c}1-v\\ v\end{array}\right]=1+3v+uv

y(u,v)=\left[\begin{array}{cc}1-u\; & u\end{array}\right]\left[\begin{array}{cc}\mathbf{\mathit{y}}_{0} & \mathbf{\mathit{y}}_{2}\\\mathbf{\mathit{y}}_{1} & \mathbf{\mathit{y}}_{3}\end{array}\right]\left[\begin{array}{c}1-v\\v\end{array}\right]=1+3v+2uv

Superficie rigata bilineare – Problema

z(u,v)=\left[\begin{array}{cc}<br />
1-u\; & u\end{array}\right]\left[\begin{array}{cc}<br />
\mathbf{\mathit{z}}_{0} & \mathbf{\mathit{z}}_{2}\\\mathbf{\mathit{z}}_{1} & \mathbf{\mathit{z}}_{3}\end{array}\right]\left[\begin{array}{c}<br />
1-v\\v\end{array}\right]=1-u+2uv

Le componenti dei vettori tangenti nelle direzioni u e v, e il vettore svergolamento sono:

\mathbf{r_{\mathit{u}}}(u,v)=\left(v,3+2v,-1+2v\right),\;\mathbf{r}_{v}(u,v)=\left(3+u,2u,2u\right),\;),\;\mathbf{r}_{uv}(u,v)=\left(1,2,2\right)

Si osserva che il vettore svergolamento è costante.

Se n(u)=N=cost la superficie ottenuta è detta estrusa.

Le superfici estruse vengono anche indicate come superfici cilindriche tabulate perché sono generate dal movimento di una retta (generatrice) lungo una curva piana (direttrice). Per queste superfici cilindriche il parametro v misura la lunghezza del cilindro, mentre il versore n è la direzione dell’asse.

Sviluppo di una Superficie rigata

Se la superficie rigata è costituita da un insieme di superfici piane, essa è anche sviluppabile. Se la superficie rigata è data dalla (4.14), la condizione necessaria per avere una superficie sviluppabile è data da:

\frac{d\mathbf{r}_{1}}{du}\cdot\left(\mathbf{n}\times\frac{d\mathbf{n}}{du}\right)=0~~~~~~(4.16a)

La (4.16a) è un triplo prodotto scalare , che è uguale azero, per cui i tre vettori devono essere complanari o due di essi devono essere paralleli.
Se la superficie rigata è data (2.41) la condizione necessaria affinché essa sia sviluppabile è data da:

\left[\mathbf{r}_{1}(u)-\mathbf{r}_{2}(u)\right]\cdot\left[\frac{d\mathbf{r}_{1}}{du}\times\frac{d\mathbf{r}_{2}}{du}\right]=0~~~~~(2.16b)

cioè, per ogni valore del parametro u i due vettori tangenti alle due generatrici e il vettore congiungente i punti corrispondenti delle due generatrici devono essere complanari.
Si può dimostrare che una condizione necessaria affinché una superficie sia sviluppabile è che la sua curvatura gaussiana sia zero (K=0), per cui una curvatura principale della superficie deve essere zero.
Pertanto tutte le superfici a doppia curvatura, come la sfera , non sono sviluppabili.
Si osserva che la superficie bilineare (4.15) non soddisfa la (4.16) perché i tre vettori non sono complanari, per cui non è sviluppabile.

Superfici di rivoluzione

La rotazione di una curva piana r=r(u) attorno ad un asse, che non sia perpendicolare al piano della curva, genera una superficie di rivoluzione.

La curva piana è detta profilo e le posizioni che essa assume durante la rotazione individuano i meridiani della superficie, mentre le circonferenze ottenute dalla rotazione dei punti del profilo attorno all’asse di rotazione rappresentano i paralleli.

Supponendo che la curva sia definita sul piano (x,z) , quindi r(u)=(x(u),0,z(u)), e ruoti attorno all’asse z, si ha che l’equazione della superficie di rivoluzione è data da:

r(u,v)=(x(u) cos(v), x(u) sin(v), z(u))    (4.17)

dove il parametro v è l’angolo di rotazione del piano (x,z) attorno all’asse z.

Se il profilo è una circonferenza di raggio R e centro nell’origine, r(u)=(Rsinu, 0, Rcosu), e l’asse coincide con l’asse z, si ottiene la superficie di una sfera la cui equazione parametrica è data da:

r(u,v)= (R sin(u) cos(v) , R sin(u) sin(v) , R cos(u) ) 0≤u≤2π, 0≤v≤π     (4.18)

dove il parametro u è l’angolo tra l’asse z e il vettore posizione di un generico punto appartenente alla superficie della sfera, mentre il parametro v è l’angolo formato tra l’asse x e la proiezione del vettore posizione sul piano (x,y).

Superfici di rivoluzione

Profilo per generare una superficie di rivoluzine (MATLAB).

Profilo per generare una superficie di rivoluzine (MATLAB).

Superficie di rivoluzione ottenuta dal precedente profilo (MATLAB).

Superficie di rivoluzione ottenuta dal precedente profilo (MATLAB).


Superfici di rivoluzione

CATIA: Profilo (spline) con asse e superficie di rivoluzione.

CATIA: Profilo (spline) con asse e superficie di rivoluzione.


Superficie di Ferguson

Superficie bicubica di Ferguson

Analogamente alle curve di Ferguson, che sono delle curve cubiche che interpolano due punti e con assegnate condizioni di tangenza, anche nello spazio 3D è possibile definire una singola superficie (patch) bicubica di Ferguson, che interpola quattro punti non complanari, data da:

\mathbf{r}(u,v)=\overset{3}{\sum_{i=0}}\overset{3}{\sum}_{j=0}\mathbf{C}_{i,j}u^{i}v^{\: j}~~~~~(4.19)

Per poter determinare i 16 vettori incogniti Ci,j occorre assegnare 16 condizioni, che sono: i 4 vettori posizione dei vertici e le 2 tangenti (ru,rv) e il twist vettore (ruv) per ogni vertice.

In generale, un superficie è costituita da un insieme di patches e i valori delle tangenti e i twist vettori assegnati ad ogni patch, permettono di avere una superficie avente un continuità C1

Superficie di Coons

In generale, una patch di superficie è delimitata da quattro curve limiti che individuano i bordi della superficie.
Dal punto di vista teorico esistono infinite superfici che interpolano le quattro curve, pertanto per individuare una soluzione è necessario definire altri vincoli o condizioni. Ad esempio si potrebbe minimizzare la curvatura o la superficie, ecc..

Nel 1967 Coons, non si pose il problema teorico di calcolare le quante superfici interpolassero 4 curve limiti, ma propose un semplice metodo che permetteva di trovare una semplice soluzione.

Siano r1(u)=r(u,0), r2(u)=r(u,1), r3(v)=r(0,v) e r4(v)=r(1,v) le quattro curve, che con le lori intersezioni determinano i quattro vertici:

r(0,0)=r1(0)=r3(0), r(1,0)= r1(1)=r4(0), r(0,1)= r2(0)= r3(1) e r(1,1)= r2(1)= r4(1).

Interpolando linearmente le curve r1(u) e r2(u) e le curve r3(v) e r4(v) si ottengono le seguenti due superfici rigate:

r1(u,v)=(1-v) r1(u)+v r2(u)               r2(u,v)=(1-u) r3(v)+u r2(v)

Sommando queste due superfici si ottiene una superficie r3(u,v)= r1(u,v)+ r2(u,v) che non soddisfa le condizioni limiti; infatti la sua curva isoparametrica r(u)=r3(u,0) si discosta dalla condizione limite r1(u) di una quantità data dalla funzione racchiusa nella parentesi quadra:

r3(u,0)= r1(u)+[(1-u) r3(0)+u r2(0)]

Superficie di Coons

Analizzando le altre tre curve isoparametriche limiti di r3(u,v) si osserva che per soddisfare le condizioni limiti occorre sottrarre ad r3(u,v) una quantità data dalla superficie ottenuta interpolando linearmente i quattro vertici, cioè la superficie bilineare.
Se si considerano, ad esempio i due segmenti definiti rispettivamente dai vertici r(0,0) , r(1,0) e r(0,1), r(1,1), le cui equazioni sono [(1-u) r1(0)+u r1(1)] e [(1-u) r2(0)+u r2(0)], interpolando linearmente nella direzione v tali equazioni si ottiene la superficie rigata bilineare:

r4(u,v)=(1-v) [(1-u) r1(0)+u r1(1)] +v [(1-u) r2(0)+u r2(1)]

Una superficie bilineare ha la proprietà che per ogni suo punto passano due rette appartenenti alla superficie. È facile verificare che la superficie:

r(u,v)= r1(u,v)+r2(u,v)- r4(u,v)                 (4.20)

soddisfa le quattro condizioni limiti e rappresenta pertanto la superficie di Coons.
La (4.20) può essere scritta nella seguente forma matriciale:

\mathbf{r}(u,v)=-\left[\begin{array}{ccc}<br />
-1 & 1-u & \; u\end{array}\right]\left[\begin{array}{ccc}<br />
0 & \mathbf{r}(u,0) & \mathbf{r}(u,1)\\\mathbf{r}(0,v) & \mathbf{r}(0,0) & \mathbf{r}(0,1)\\\mathbf{r}(1,v) & \mathbf{r}(1,0) & \mathbf{r}(1,1)\end{array}\right]\left[\begin{array}{c}<br />
-1\\-v\\v\end{array}\right]

Superficie di Coons

Un inconveniente della superficie di Coons è che se si crea una superficie composta da più patches di Coons , sui bordi adiacenti delle patches la superficie ha una continuità C0, per avere una continuità maggiore di C0 e quindi una continuità sulla pendenza, curvatura, ecc. è necessario imporre delle ulteriori condizioni. Pertanto, se si vuole una continuità C1 tra due patches 1 e 2 occorre imporre la continuità della tangenza. Il bordo comune può essere nella direzione v o u, a cui corrispondono, rispettivamente, le condizioni:

\left[\mathbf{r}_{u}(1,v)\right]_{1}=\left[\mathbf{r}_{u}(0,v)\right]_{2},\quad\left[\mathbf{r}_{v}(u,1)\right]_{1}=\left[\mathbf{r}_{v}(u,0)\right]_{2}

Quattro curve limiti di una superficie di Coons, relative alla componente x(u,v).

Quattro curve limiti di una superficie di Coons, relative alla componente x(u,v).


Superficie di Coons

Quattro curve limiti per definire una superficie di Conns (MATLAB).

Quattro curve limiti per definire una superficie di Conns (MATLAB).

Superficie di Coons (MATLAB).

Superficie di Coons (MATLAB).


Curve e superfici offset

4.7 Curve e Superfici Offset

Sia r=r(u) una generica curva parametrica e d(u) una funzione distanza definita sulla curva r(u).
La curva offset di r(u) è data da   roff(u)=r(u)+d(u) n(u)        (4.21)

In modo analogo possiamo definire una superficie offset di r(u,v) data da roff(u,v)=r(u,v)+d(u,v) n(u,v)     (4.22)

Se la funzione distanza è una costante si ottiene un offset costante, che è la condizione più diffusa.
Data è una curva e una distanza di offset, si possono ottenere due curve di offset, una nella direzione positiva e l’altra nella direzione negativa del versore normale.
Si osserva che se in un punto della curva la distanza offset è uguale o maggiore al raggio di curvatura, e si costruisce la curva di offset nella direzione della convessità, la curva offset presenta, rispettivamente, una cuspide o un fiocco (autointerseca). In questi casi molti sistemi CAD non sono in grado di costruire la curva offset o non riportano il fiocco.
Se si costruisce la curva offset di un cerchio di raggio R, si possono avere due cerchi concentrici al cerchio dato, uno di raggio R+d e l’altro di raggio R-d; ovviamente, se R<d il cerchio minore non è reale, per cui il sistema CAD invia un messaggio di errore.
Le superfici offset sono molto utili nel CAM, perche descrivono il percorso utensile di un fresatrice, dove il raggio della fresa è la distanza di offset.
Se si esegue un offset di un segmento di retta , e poiché la normale al segmento è un vettore costante, si ha un altro segmento ad esso parallelo ad una distanza uguale alla distanza di offset.
In questo caso il comando di offset equivale al comando di COPIA.

Curve e superfici offset

In Fig. vengono mostrate le due curve di offset di una curva spline, con una distanza d di offset maggiore del raggio di curvatura della curva nel punto P1. Si osserva che una delle due curve di offset presenta una cuspide; se si traccia un cerchio di raggio uguale a R=d e con centro nel punto di cuspide, si ha che il cerchio è tangente a due punti della curva. La curva offset, del tratto di curva compreso tra i due precedenti punti di tangenza, non viene riportata.
La curva di offset può anche essere definita come il luogo dei centri dei cerchio di raggio R=d tangenti ad una curva data.
Pertanto se si vuole realizzare con processo di fresatura un profilo occorre che il raggio della fresa sia uguale o minore al raggio di piegatura minimo del profilo. Pertanto, una curva di offset con distanza d, che presenta una cuspide significa che esiste un suo tratto di curva che non può essere ottenuta con una fresatrice avente raggio R uguale alla distanza di offset.

Fig. 4.15: Curve di offset con distanza maggiore del raggio di curvatura in P1

Fig. 4.15: Curve di offset con distanza maggiore del raggio di curvatura in P1


Superfici di Bèzier e B-splines

Le superfici B-splines e di Bèzier sono un’estensione delle corrispondenti curve sul piano parametrico (u,v) e possono essere ottenute considerando il movimento nello spazio della generica curva parametrica:

\mathbf{r}(u)=\overset{n}{\sum_{i=0}}\mathbf{P}_{i}F_{i}(u)~~~~(4.23)

dove Fi(u) sono delle funzioni basi e Pi i punti di controllo della curva. Il movimento della curva può essere descritto analizzando la traccia lasciata dalla curva Pi(v). Se anche tale curva è espressa come combinazione lineare di basi di funzione Gj(v) si ha che la superficie è data da:

\mathbf{r}(u,v)=\overset{n}{\sum_{i=0}}\mathbf{\overset{\mathit{m}}{\sum_{\mathit{j=0}}}P_{\mathit{i}\mathit{,j}}}F_{i}(u)G_{j}(v)

dove Pij rappresentano i vertici del poliedro di controllo che viene ordinato secondo un array di dimensione [(n+1)x(m+1)].
I prodotti Fi(u)Gj(v) individuano una base di funzioni per queste superfici e la scelta della base determina anche le proprietà della superficie. Ad esempio, una semplice base di funzioni è data dalle funzioni monomiali Fi=ui e Gj=vj, che è la base utilizzata dalle superfici bicubiche di Ferguson. Sostituendo alle funzioni base le funzioni di Bernstein si ottiene la seguente superficie di Bèzier:

\mathbf{r}(u,v)=\overset{n}{\sum_{i=0}}\mathbf{\overset{\mathit{m}}{\sum_{\mathit{j=0}}}P_{\mathit{i}\mathit{,j}}}B_{i,n}(u)B_{j,m}(v)~~~~(4.24)

Superfici di Bèzier e B-splines

Le proprietà delle superfici di Bèzier sono simile a quelle delle curve ; ad esempio si ha che la superficie di Bèzier passa per i quattro vertici limiti del poliedro di controllo.
Analogamente se si considerano come basi di funzioni le B-splines si ottiene la superficie B-splines data da:

\mathbf{r}(u,v)=\overset{n}{\sum_{i=0}}\mathbf{\overset{\mathit{m}}{\sum_{\mathit{j=0}}}P_{\mathit{i}\mathit{,j}}}M_{i,K}(u)M_{j,L}(v)~~~~(4.25)

dove K e L sono gli ordini delle funzioni B-splines, rispettivamente nella direzione u e v.

Poliedro di controllo di una superficie di Bézier con le quattro curve limiti.

Poliedro di controllo di una superficie di Bézier con le quattro curve limiti.


Superfici di Bèzier e B-splines

Altro esempio di poliedro di controllo di una superficie di Bézier (MATLAB).

Altro esempio di poliedro di controllo di una superficie di Bézier (MATLAB).

Superficie di Bézier ottenuta dal precedente poliedro di controllo (MATLAB).

Superficie di Bézier ottenuta dal precedente poliedro di controllo (MATLAB).


I materiali di supporto della lezione

Appunti a cura del docente

  • Contenuti protetti da Creative Commons
  • Feed RSS
  • Condividi su FriendFeed
  • Condividi su Facebook
  • Segnala su Twitter
  • Condividi su LinkedIn
Progetto "Campus Virtuale" dell'Università degli Studi di Napoli Federico II, realizzato con il cofinanziamento dell'Unione europea. Asse V - Società dell'informazione - Obiettivo Operativo 5.1 e-Government ed e-Inclusion

Fatal error: Call to undefined function federicaDebug() in /usr/local/apache/htdocs/html/footer.php on line 93